allegro-hand-ros icon indicating copy to clipboard operation
allegro-hand-ros copied to clipboard

unknown macro name: finger

Open chaiban opened this issue 5 years ago • 7 comments

Hi @felixduvallet ,

Thank you for the ros packages.

I am getting an error when I launch the hand. I do not have prior knowledge with xacro files.

The error is :

**unknown macro name: finger when processing file: /home/chban/catkin_allegro_ws/src/allegro-hand-ros/allegro_hand_description/allegro_hand_description_left.xacro RLException: Invalid tag: Cannot load command parameter [robot_description]: command [/opt/ros/melodic/lib/xacro/xacro '/home/chban/catkin_allegro_ws/src/allegro-hand-ros/allegro_hand_description/allegro_hand_description_left.xacro' --check-order] returned with code [2].

Param xml is The traceback for the exception was written to the log file**

How can I fix this ?

Thank you!

chaiban avatar Jan 23 '20 08:01 chaiban

Hi chaiban,

Could you please specify which command you've used? It would also be useful to know what the following command prints:

/opt/ros/melodic/lib/xacro/xacro /home/chban/catkin_allegro_ws/src/allegro-hand-ros/allegro_hand_description/allegro_hand_description_left.xacro --check-order

Please also ensure that catkin_make run_tests works.

Note that this package was developed under ros-indigo (you're on melodic), I unfortunately haven't kept up with the changes but you may also want to try installing indigo.

felixduvallet avatar Jan 25 '20 03:01 felixduvallet

Hi @felixduvallet ,

Thank you for the information.

I ran the above command and it shows same error.

unknown macro name: xacro:finger None None when processing file: /home/chban/catkin_allegro_ws/src/allegro-hand-ros/allegro_hand_description/allegro_hand_description_left.xacro

Now I ran on Kinetic and it shows the same error.

catkin_make run_tests failed.

[Testcase: testallegro_launch_test] ... FAILURE! FAILURE: Test Fixture Nodes ['allegroHand_left_test', 'keyboard_test'] failed to launch File "/usr/lib/python2.7/unittest/case.py", line 329, in run testMethod() File "/opt/ros/kinetic/lib/python2.7/dist-packages/rostest/runner.py", line 121, in fn self.assert_(not failed, "Test Fixture Nodes %s failed to launch"%failed) File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue raise self.failureException(msg)

[ROSTEST]-----------------------------------------------------------------------

[testallegro_launch_test][failed]

chaiban avatar Jan 27 '20 08:01 chaiban

I am having the same issue. I am on ROS Melodic and the package seems to be build for ROS Indigo. Did anyone figure out how to use this package on ROS Melodic?

radhen avatar Feb 11 '20 12:02 radhen

So I found a way to load the Allegro URDF by editing the allegro_hand.launch file. That file was launching the xacro present in the robot_description folder which seems to me that it is deprecated for ROS Melodic. So I copy pasted the below commands from allegro-glove-control package in the allegro_hand.launch file for this package and commented out the line below.

Commented out line (below) <param name="robot_description" command="$(find xacro)/xacro.py $(find allegro_hand_description)/allegro_hand_description_$(arg HAND).xacro"/>

Added the line (below)

<param name="/robot_description" textfile="$(find allegro_hand_description)/allegro_hand_description_$(arg HAND).urdf"/>
<param name="/allegroHand_$(arg NUM)/robot_description" textfile="$(find allegro_hand_description)/allegro_hand_description_$(arg HAND).urdf"/>

This does run the command (below) successfully.

roslaunch allegro_hand allegro_hand.launch HAND:=right CONTROLLER:=sim VISUALIZE:=true

I can see the Allegro hand in RViz but unfortunately I cannot move the hand using the simulated controllers. Any suggestions?

radhen avatar Feb 11 '20 13:02 radhen

Sorry, I am using the original URDF file instead of Xacro from official repository (simlabrobotics/allegro_hand_ros). My application is using GRASPIT to generate grasps. (I do not need xacro files for graspit)

You can try converting the official urdf to latest xacro format and try it.

Also I would suggest downgrading

chaiban avatar Feb 11 '20 15:02 chaiban

Thank you for the suggestion. I'll give that a try. A side question. I want to torque control the Allegro hand. Is there a package out there that will allow me to do so. I have tried the torque control method implemented in this package but as soon as I send torque commands to the real hand the driver breaks!

radhen avatar Feb 11 '20 21:02 radhen

Howdy! I believe I've fixed this in the simlabrobotics version of this repo: https://github.com/simlabrobotics/allegro_hand_ros_catkin/pull/2

Feel free to try it out! (I'm still trying to get CAN to behave well and move the hand hehe :grimacing:)

EricCousineau-TRI avatar May 09 '21 00:05 EricCousineau-TRI