Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rqt_joint_trajectory_controller (and the entire hosting rqt GUI) crashes when "robot_description" param doesn't exist #533

Open
130s opened this issue Nov 18, 2020 · 3 comments
Labels

Comments

@130s
Copy link
Contributor

130s commented Nov 18, 2020

I have these ROS params regarding Robot description.

$ rosparam list|grep -i desc
/ariac/arm1/robot_description
/ariac/arm2/robot_description
/sensors_description

When choosing the controller manager namespace from the pulldown, the entire rqt GUI that hosts rqt_joint_trajectory_controller crashes, not just the plugin.

Traceback (most recent call last):
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_joint_trajectory_controller/joint_trajectory_controller.py", line 274, in _on_cm_change
    self._update_jtc_list()
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_joint_trajectory_controller/joint_trajectory_controller.py", line 246, in _update_jtc_list
    self._robot_joint_limits = get_joint_limits()  # Lazy evaluation
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_joint_trajectory_controller/joint_limits_urdf.py", line 21, in get_joint_limits
    description = rospy.get_param(key)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 467, in get_param
    return _param_server[param_name] #MasterProxy does all the magic for us
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/msproxy.py", line 123, in __getitem__
    raise KeyError(key)
KeyError: 'robot_description'
@130s
Copy link
Contributor Author

130s commented Nov 18, 2020

The particular failure example in the OP was seen when running this tutorial (osrf/ariac/wiki/2019/tutorials) that shows how to work around (by passing the parameter(?) rqt robot_description:=/ariac/arm1/robot_description). But that's just an operational workaround I think.

@bmagyar
Copy link
Member

bmagyar commented Dec 1, 2020

Just to make sure I understand the issue.

When there's no global robot_description specified nor the param name "remapping" is in effect with robot_description:=/ariac/arm1/robot_description, the node throws an ugly exception that makes it all the way to the top of the host app?

@130s
Copy link
Contributor Author

130s commented Dec 2, 2020

When there's no global robot_description specified nor the param name "remapping" is in effect with robot_description:=/ariac/arm1/robot_description, the node throws an ugly exception that makes it all the way to the top of the host app?

  • Not just the "ugly" exception but the process dies.
  • If you mean "host app" as in the rqt's window, not just rqt_joint_trajectory_controller plugin view, then yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants