diff --git a/ur5_driver/driver.py b/ur5_driver/driver.py index e8fa477b70719aa83a3de4ca8d643a8d102da9ce..2dce5523b878108d2458e7eb6d1b65b8c7f41f3b 100755 --- a/ur5_driver/driver.py +++ b/ur5_driver/driver.py @@ -17,6 +17,8 @@ from trajectory_msgs.msg import JointTrajectory, JointTrajectoryPoint from deserialize import RobotState, RobotMode +prevent_programming = False + PORT=30002 REVERSE_PORT = 50001 @@ -91,6 +93,10 @@ class UR5Connection(object): self.__thread.start() def send_program(self): + global prevent_programming + if prevent_programming: + rospy.loginfo("Programming is currently prevented") + return assert self.robot_state in [self.READY_TO_PROGRAM, self.EXECUTING] rospy.loginfo("Programming the robot at %s" % self.hostname) self.__sock.sendall(self.program) @@ -141,7 +147,6 @@ class UR5Connection(object): # Updates the state machine that determines whether we can program the robot. can_execute = (state.robot_mode_data.robot_mode in [RobotMode.READY, RobotMode.RUNNING]) - log("Mode = %i, can_execute = %s" % (state.robot_mode_data.robot_mode, can_execute)) if self.robot_state == self.CONNECTED: if can_execute: self.__trigger_ready_to_program() @@ -502,6 +507,8 @@ def main(): if rospy.get_param("use_sim_time", False): rospy.logfatal("use_sim_time is set!!!") sys.exit(1) + global prevent_programming + prevent_programming = rospy.get_param("prevent_programming", False) # Parses command line arguments parser = optparse.OptionParser(usage="usage: %prog robot_hostname")