moveit / panda_moveit_config

The Panda robot is the flagship MoveIt integration robot
http://docs.ros.org/kinetic/api/moveit_tutorials/html/
103 stars 171 forks source link

use panda_arm description with hand arg #83

Closed gautz closed 2 years ago

gautz commented 3 years ago

Problem: roslaunch panda_moveit_config demo.launch raises:

No such file or directory: /opt/ros/noetic/share/franka_description/robots/panda_arm_hand.urdf.xacro [Errno 2] No such file or directory: '/opt/ros/noetic/share/franka_description/robots/panda_arm_hand.urdf.xacro'
RLException: while processing /home/gah/tasks_ws/src/panda_moveit_config/launch/planning_context.launch:
Invalid <param> tag: Cannot load command parameter [robot_description]: command [['/opt/ros/noetic/lib/xacro/xacro', '/opt/ros/noetic/share/franka_description/robots/panda_arm_hand.urdf.xacro']] returned with code [2]. 

Param xml is <param if="$(eval arg('load_robot_description') and arg('load_gripper'))" name="$(arg robot_description)" command="$(find xacro)/xacro '$(find franka_description)/robots/panda_arm_hand.urdf.xacro'"/>
The traceback for the exception was written to the log file

Solution: panda_arm_hand.urdf.xacro has been replaced by panda_arm.urdf.xacro hand:=$(arg load_gripper) see: https://github.com/frankaemika/franka_ros/commit/2dc885213c6a658a274146a1139ca1c4bfc93017

rickstaa commented 3 years ago

LGTM I had to solve the same problem when trying to get the noetic-devel version released https://github.com/ros-planning/panda_moveit_config/pull/74#issuecomment-908323188.

tammerb commented 3 years ago

I PR'd an alternate solution to this same issue.

rickstaa commented 3 years ago

@tammerb Thanks for merging your pull request. One question, why did you split the robot_description loading code into two statements. In my opinion, a combination of your pull request gives the most concise solution:

<!-- Load universal robot description format (URDF) -->
<param if="$(arg load_robot_description)" name="$(arg robot_description)" command="xacro hand:=$(arg load_gripper) '$(find franka_description)/robots/panda_arm.urdf.xacro'"/>

Further, maybe the .setup_assistant should also be updated? Or do you want that file to represent the setup that was used when it was run?