Skip to content

Commit e6d6da7

Browse files
authored
Fail example move on error (backport #1795) (#1796)
* Exit 1 on error * Add tf_prefix parameter
1 parent fb74630 commit e6d6da7

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

ur_robot_driver/scripts/example_move.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
# real-life applications, we do recommend to use something like MoveIt!
3535

3636
import time
37+
import sys
3738

3839
import rclpy
3940
from rclpy.action import ActionClient
@@ -78,6 +79,7 @@ class JTCClient(rclpy.node.Node):
7879
def __init__(self):
7980
super().__init__("jtc_client")
8081
self.declare_parameter("controller_name", "scaled_joint_trajectory_controller")
82+
self.declare_parameter("tf_prefix", "")
8183
self.declare_parameter(
8284
"joints",
8385
[
@@ -91,7 +93,10 @@ def __init__(self):
9193
)
9294

9395
controller_name = self.get_parameter("controller_name").value + "/follow_joint_trajectory"
94-
self.joints = self.get_parameter("joints").value
96+
self.tf_prefix = self.get_parameter("tf_prefix").value
97+
self.joints = [
98+
self.tf_prefix + joint_name for joint_name in self.get_parameter("joints").value
99+
]
95100

96101
if self.joints is None or len(self.joints) == 0:
97102
raise Exception('"joints" parameter is required')
@@ -204,15 +209,19 @@ def status_to_str(error_code):
204209
def main(args=None):
205210
rclpy.init(args=args)
206211

212+
exit_code = 0
213+
207214
jtc_client = JTCClient()
208215
try:
209216
rclpy.spin(jtc_client)
210217
except RuntimeError as err:
211218
jtc_client.get_logger().error(str(err))
219+
exit_code = 1
212220
except SystemExit:
213221
rclpy.logging.get_logger("jtc_client").info("Done")
214222

215223
rclpy.shutdown()
224+
sys.exit(exit_code)
216225

217226

218227
if __name__ == "__main__":

0 commit comments

Comments
 (0)