Python rospy.is_shutdown() Examples
The following are 30
code examples of rospy.is_shutdown().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
rospy
, or try the search function
.
Example #1
Source File: rudder_control_heading.py From usv_sim_lsa with Apache License 2.0 | 7 votes |
def talker_ctrl(): global rate_value rospy.init_node('usv_simple_ctrl', anonymous=True) rate = rospy.Rate(rate_value) # 10h # publishes to thruster and rudder topics pub_motor = rospy.Publisher('thruster_command', JointState, queue_size=10) pub_rudder = rospy.Publisher('joint_setpoint', JointState, queue_size=10) pub_result = rospy.Publisher('move_usv/result', Float64, queue_size=10) # subscribe to state and targer point topics rospy.Subscriber("state", Odometry, get_pose) # get usv position (add 'gps' position latter) rospy.Subscriber("move_usv/goal", Odometry, get_target) # get target position while not rospy.is_shutdown(): try: pub_motor.publish(thruster_ctrl_msg()) pub_rudder.publish(rudder_ctrl_msg()) pub_result.publish(verify_result()) rate.sleep() except rospy.ROSInterruptException: rospy.logerr("ROS Interrupt Exception! Just ignore the exception!") except rospy.ROSTimeMovedBackwardsException: rospy.logerr("ROS Time Backwards! Just ignore the exception!")
Example #2
Source File: twist_to_motors.py From ROS-Programming-Building-Powerful-Robots with MIT License | 7 votes |
def spin(self): ############################################################# r = rospy.Rate(self.rate) idle = rospy.Rate(10) then = rospy.Time.now() self.ticks_since_target = self.timeout_ticks ###### main loop ###### while not rospy.is_shutdown(): while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.spinOnce() r.sleep() idle.sleep() #############################################################
Example #3
Source File: navigation_pub.py From usv_sim_lsa with Apache License 2.0 | 7 votes |
def navigation(): pub = rospy.Publisher('usv_position_setpoint', Odometry, queue_size=10) # only create a rostopic, navigation system TODO rospy.init_node('navigation_publisher') rate = rospy.Rate(60) # 10h x = -20.0 y = -20.0 msg = Odometry() # msg.header = Header() msg.header.stamp = rospy.Time.now() msg.header.frame_id = "navigation" msg.pose.pose.position = Point(x, y, 0.) while not rospy.is_shutdown(): pub.publish(msg) rate.sleep()
Example #4
Source File: boat_rudder_vel_ctrl.py From usv_sim_lsa with Apache License 2.0 | 7 votes |
def __init__(self): rospy.init_node('usv_vel_ctrl', anonymous=False) self.rate = 10 r = rospy.Rate(self.rate) # 10hertz self.usv_vel = Odometry() self.usv_vel_ant = Odometry() self.target_vel = Twist() self.target_vel_ant = Twist() self.thruster_msg = JointState() self.rudder_msg = JointState() self.thruster_msg.header = Header() self.rudder_msg.header = Header() self.kp_lin = 80 self.ki_lin = 200 thruster_name = 'fwd' rudder_name = 'rudder_joint' self.I_ant_lin = 0 self.I_ant_ang = 0 self.lin_vel = 0 self.lin_vel_ang = 0 self.ang_vel = 0 self.kp_ang = 2 self.ki_ang = 4 self.rudder_max = 70 self.thruster_max = 30 self.pub_motor = rospy.Publisher('thruster_command', JointState, queue_size=10) self.pub_rudder = rospy.Publisher('joint_setpoint', JointState, queue_size=10) rospy.Subscriber("state", Odometry, self.get_usv_vel) rospy.Subscriber("cmd_vel", Twist, self.get_target_vel) while not rospy.is_shutdown(): self.pub_rudder.publish(self.rudder_ctrl_msg(self.ang_vel_ctrl(), rudder_name)) self.pub_motor.publish(self.thruster_ctrl_msg(self.lin_vel_ctrl(), thruster_name)) r.sleep()
Example #5
Source File: rudder_control_heading_old.py From usv_sim_lsa with Apache License 2.0 | 7 votes |
def talker_ctrl(): global rate_value # publishes to thruster and rudder topics pub_motor = rospy.Publisher('thruster_command', JointState, queue_size=10) pub_rudder = rospy.Publisher('joint_setpoint', JointState, queue_size=10) rospy.init_node('usv_simple_ctrl', anonymous=True) rate = rospy.Rate(rate_value) # 10h # subscribe to state and targer point topics rospy.Subscriber("state", Odometry, get_pose) # get usv position (add 'gps' position latter) rospy.Subscriber("usv_position_setpoint", Odometry, get_target) # get target position while not rospy.is_shutdown(): pub_motor.publish(thruster_ctrl_msg()) pub_rudder.publish(rudder_ctrl_msg()) rate.sleep()
Example #6
Source File: pid_velocity_sim.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #7
Source File: pr2_target_policy.py From visual_dynamics with MIT License | 6 votes |
def main(): parser = argparse.ArgumentParser() parser.add_argument("--lr", default="r") args = parser.parse_args() rospy.init_node("pr2_target_policy") with open('config/environment/pr2.yaml') as yaml_string: pr2_env = utils.from_yaml(yaml_string) tool_link_name = "%s_gripper_tool_frame" % args.lr pol = policies.Pr2TargetPolicy(pr2_env, tool_link_name, np.zeros(3)) rate = rospy.Rate(30.0) while not rospy.is_shutdown(): state = pr2_env.get_state() target_state = pol.get_target_state() action = (target_state - state) / pr2_env.dt pr2_env.step(action) # pr2_env.reset(pol.get_target_state()) rate.sleep()
Example #8
Source File: sailboat_control_heading.py From usv_sim_lsa with Apache License 2.0 | 6 votes |
def talker_ctrl(): global rate_value global currentHeading global windDir global isTacking global heeling global spHeading rospy.init_node('usv_simple_ctrl', anonymous=True) rate = rospy.Rate(rate_value) # 10h # publishes to thruster and rudder topics #pub_sail = rospy.Publisher('angleLimits', Float64, queue_size=10) pub_rudder = rospy.Publisher('joint_setpoint', JointState, queue_size=10) pub_result = rospy.Publisher('move_usv/result', Float64, queue_size=10) pub_heading = rospy.Publisher('currentHeading', Float64, queue_size=10) pub_windDir = rospy.Publisher('windDirection', Float64, queue_size=10) pub_heeling = rospy.Publisher('heeling', Float64, queue_size=10) pub_spHeading = rospy.Publisher('spHeading', Float64, queue_size=10) # subscribe to state and targer point topics rospy.Subscriber("state", Odometry, get_pose) # get usv position (add 'gps' position latter) rospy.Subscriber("move_usv/goal", Odometry, get_target) # get target position while not rospy.is_shutdown(): try: pub_rudder.publish(rudder_ctrl_msg()) #pub_sail.publish(sail_ctrl()) pub_result.publish(verify_result()) pub_heading.publish(currentHeading) pub_windDir.publish(windDir) pub_heeling.publish(heeling) pub_spHeading.publish(spHeading) rate.sleep() except rospy.ROSInterruptException: rospy.logerr("ROS Interrupt Exception! Just ignore the exception!") except rospy.ROSTimeMovedBackwardsException: rospy.logerr("ROS Time Backwards! Just ignore the exception!")
Example #9
Source File: io_interface.py From intera_sdk with Apache License 2.0 | 6 votes |
def revalidate(self, timeout, invalidate_state=True, invalidate_config=True): """ invalidate the state and config topics, then wait up to timeout seconds for them to become valid again. return true if both the state and config topic data are valid """ if invalidate_state: self.invalidate_state() if invalidate_config: self.invalidate_config() timeout_time = rospy.Time.now() + rospy.Duration(timeout) while not self.is_state_valid() and not rospy.is_shutdown(): rospy.sleep(0.1) if timeout_time < rospy.Time.now(): rospy.logwarn("Timed out waiting for node interface valid...") return False return True
Example #10
Source File: wheel_loopback.py From differential-drive with GNU General Public License v3.0 | 6 votes |
def spin(self): ############################################### r = rospy.Rate self.secs_since_target = self.timeout_secs self.then = rospy.Time.now() self.latest_msg_time = rospy.Time.now() rospy.loginfo("-D- spinning") ###### main loop ######### while not rospy.is_shutdown(): while not rospy.is_shutdown() and self.secs_since_target < self.timeout_secs: self.spinOnce() r.sleep self.secs_since_target = rospy.Time.now() - self.latest_msg_time self.secs_since_target = self.secs_since_target.to_sec() #rospy.loginfo(" inside: secs_since_target: %0.3f" % self.secs_since_target) # it's been more than timeout_ticks since we recieved a message self.secs_since_target = rospy.Time.now() - self.latest_msg_time self.secs_since_target = self.secs_since_target.to_sec() # rospy.loginfo(" outside: secs_since_target: %0.3f" % self.secs_since_target) self.velocity = 0 r.sleep ###############################################
Example #11
Source File: pid_velocity.py From differential-drive with GNU General Public License v3.0 | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #12
Source File: twist_to_motors.py From differential-drive with GNU General Public License v3.0 | 6 votes |
def spin(self): ############################################################# r = rospy.Rate(self.rate) idle = rospy.Rate(10) then = rospy.Time.now() self.ticks_since_target = self.timeout_ticks ###### main loop ###### while not rospy.is_shutdown(): while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.spinOnce() r.sleep() idle.sleep() #############################################################
Example #13
Source File: pid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #14
Source File: rpid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #15
Source File: lpid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #16
Source File: pid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #17
Source File: pid_velocity_sim.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #18
Source File: wheel_loopback.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spin(self): ############################################### r = rospy.Rate self.secs_since_target = self.timeout_secs self.then = rospy.Time.now() self.latest_msg_time = rospy.Time.now() rospy.loginfo("-D- spinning") ###### main loop ######### while not rospy.is_shutdown(): while not rospy.is_shutdown() and self.secs_since_target < self.timeout_secs: self.spinOnce() r.sleep self.secs_since_target = rospy.Time.now() - self.latest_msg_time self.secs_since_target = self.secs_since_target.to_sec() #rospy.loginfo(" inside: secs_since_target: %0.3f" % self.secs_since_target) # it's been more than timeout_ticks since we recieved a message self.secs_since_target = rospy.Time.now() - self.latest_msg_time self.secs_since_target = self.secs_since_target.to_sec() # rospy.loginfo(" outside: secs_since_target: %0.3f" % self.secs_since_target) self.velocity = 0 r.sleep ###############################################
Example #19
Source File: lpid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #20
Source File: twist_to_motors.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spin(self): ############################################################# r = rospy.Rate(self.rate) idle = rospy.Rate(10) then = rospy.Time.now() self.ticks_since_target = self.timeout_ticks ###### main loop ###### while not rospy.is_shutdown(): while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.spinOnce() r.sleep() idle.sleep() #############################################################
Example #21
Source File: lpid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #22
Source File: pid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #23
Source File: wheel_loopback.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spin(self): ############################################### r = rospy.Rate self.secs_since_target = self.timeout_secs self.then = rospy.Time.now() self.latest_msg_time = rospy.Time.now() rospy.loginfo("-D- spinning") ###### main loop ######### while not rospy.is_shutdown(): while not rospy.is_shutdown() and self.secs_since_target < self.timeout_secs: self.spinOnce() r.sleep self.secs_since_target = rospy.Time.now() - self.latest_msg_time self.secs_since_target = self.secs_since_target.to_sec() #rospy.loginfo(" inside: secs_since_target: %0.3f" % self.secs_since_target) # it's been more than timeout_ticks since we recieved a message self.secs_since_target = rospy.Time.now() - self.latest_msg_time self.secs_since_target = self.secs_since_target.to_sec() # rospy.loginfo(" outside: secs_since_target: %0.3f" % self.secs_since_target) self.velocity = 0 r.sleep ###############################################
Example #24
Source File: pid_velocity_sim.py From ROS-Programming-Building-Powerful-Robots with MIT License | 6 votes |
def spinOnce(self): ##################################################### self.previous_error = 0.0 self.prev_vel = [0.0] * self.rolling_pts self.integral = 0.0 self.error = 0.0 self.derivative = 0.0 self.vel = 0.0 # only do the loop if we've recently recieved a target velocity message while not rospy.is_shutdown() and self.ticks_since_target < self.timeout_ticks: self.calcVelocity() self.doPid() self.pub_motor.publish(self.motor) self.r.sleep() self.ticks_since_target += 1 if self.ticks_since_target == self.timeout_ticks: self.pub_motor.publish(0) #####################################################
Example #25
Source File: interaction_publisher.py From intera_sdk with Apache License 2.0 | 5 votes |
def send_command(self, msg, pub_rate): """ @param msg: either an InteractionControlCommand message or InteractionOptions object to be published @param pub_rate: the rate in Hz to publish the command Note that this function is blocking for non-zero pub_rates until the node is shutdown (e.g. via cntl+c) or the robot is disabled. A pub_rate of zero will publish the function once and return. """ repeat = False if pub_rate > 0: rate = rospy.Rate(pub_rate) repeat = True elif pub_rate < 0: rospy.logerr('Invalid publish rate!') if isinstance(msg, InteractionOptions): msg = msg.to_msg() try: self.pub.publish(msg) while repeat and not rospy.is_shutdown() and self.enable.state().enabled: rate.sleep() self.pub.publish(msg) except rospy.ROSInterruptException: rospy.logerr('Keyboard interrupt detected from the user. %s', 'Exiting the node...') finally: if repeat: self.send_position_mode_cmd()
Example #26
Source File: wait_for.py From intera_sdk with Apache License 2.0 | 5 votes |
def wait_for(test, timeout=1.0, raise_on_error=True, rate=100, timeout_msg="timeout expired", body=None): """ Waits until some condition evaluates to true. @param test: zero param function to be evaluated @param timeout: max amount of time to wait. negative/inf for indefinitely @param raise_on_error: raise or just return False @param rate: the rate at which to check @param timout_msg: message to supply to the timeout exception @param body: optional function to execute while waiting """ end_time = rospy.get_time() + timeout rate = rospy.Rate(rate) notimeout = (timeout < 0.0) or timeout == float("inf") while not test(): if rospy.is_shutdown(): if raise_on_error: raise OSError(errno.ESHUTDOWN, "ROS Shutdown") return False elif (not notimeout) and (rospy.get_time() >= end_time): if raise_on_error: raise OSError(errno.ETIMEDOUT, timeout_msg) return False if callable(body): body() rate.sleep() return True
Example #27
Source File: rpid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 5 votes |
def spin(self): ##################################################### self.r = rospy.Rate(self.rate) self.then = rospy.Time.now() self.ticks_since_target = self.timeout_ticks self.wheel_prev = self.wheel_latest self.then = rospy.Time.now() while not rospy.is_shutdown(): self.spinOnce() self.r.sleep() #####################################################
Example #28
Source File: lpid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 5 votes |
def spin(self): ##################################################### self.r = rospy.Rate(self.rate) self.then = rospy.Time.now() self.ticks_since_target = self.timeout_ticks self.wheel_prev = self.wheel_latest self.then = rospy.Time.now() while not rospy.is_shutdown(): self.spinOnce() self.r.sleep() #####################################################
Example #29
Source File: io_interface.py From intera_sdk with Apache License 2.0 | 5 votes |
def publish_command(self, op, args, timeout=2.0): """ publish on the command topic return true if the command is acknowleged within the timeout """ cmd_time = rospy.Time.now() self.cmd_times.append(cmd_time) self.cmd_times = self.cmd_times[-100:] # cache last 100 cmd timestamps cmd_msg = IOComponentCommand( time=cmd_time, op=op, args=json.dumps(args)) rospy.logdebug("publish_command %s %s" % (cmd_msg.op, cmd_msg.args)) if timeout != None: timeout_time = rospy.Time.now() + rospy.Duration(timeout) while not rospy.is_shutdown(): self._command_pub.publish(cmd_msg) if self.is_state_valid(): if cmd_time in self.state.commands: rospy.logdebug("command %s acknowleged" % (cmd_msg.op,)) return True rospy.sleep(0.1) if timeout_time < rospy.Time.now(): rospy.logwarn("Timed out waiting for command acknowlegment...") break return False return True
Example #30
Source File: pid_velocity.py From ROS-Programming-Building-Powerful-Robots with MIT License | 5 votes |
def spin(self): ##################################################### self.r = rospy.Rate(self.rate) self.then = rospy.Time.now() self.ticks_since_target = self.timeout_ticks self.wheel_prev = self.wheel_latest self.then = rospy.Time.now() while not rospy.is_shutdown(): self.spinOnce() self.r.sleep() #####################################################