ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Problem with xacro invalid <param>

asked 2020-12-04 04:35:33 -0500

Zeckurbo gravatar image

Hey Folks!

I've followed this ROS - Tutorial:

https://www.youtube.com/watch?v=8ckSl...

http://moorerobots.com/blog/post/1

But when I want to Launch ROS I get this Errormessage:

enovm@enovm:~/mybot_ws$ roslaunch mybot_gazebo mybot_world.launch 

... logging to /home/enovm/.ros/log/9c283bdc-3614-11eb-a7b1-7d9aeb4bd4d2/roslaunch-enovm-30870.log
Checking log directory for disk usage. This may take a while.
Done checking log file disk usage. Usage is <1GB.

RLException: Invalid <param> tag: Cannot load command parameter [robot_description]: no such command [['/opt/ros/noetic/share/xacro/xacro.py', '/home/enovm/mybot_ws/src/mybot_description/urdf/mybot.xacro']]. 
Param xml is <param name="robot_description" command="$(find xacro)/xacro.py '$(find mybot_description)/urdf/mybot.xacro'"/>
The traceback for the exception was written to the log file

I've also checked if I have installed the newest version of xacro (using sudo apt-get install ros-noetic-xacro) My setup is:

Ubuntu 20.04 on a VM

ROS noetic

Python 3

Gazebo 11

I dont have much experience in ROS, so it is very confusing to me, that even the basic tutorial doesnt work. Thank you in advance!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
8

answered 2020-12-04 09:41:35 -0500

updated 2020-12-04 09:47:51 -0500

The error looks like there is something wrong with the <param> tag that sets the /robot_description parameter in your launch file. My guess is that you should just remove the .py extension from this chunk of your launch file: command="$(find xacro)/xacro.py. For a long time, there a has been a push to deprecate the xacro.py executable. On older versions you'd often see a warning like

xacro.py is deprecated; please use xacro instead

I just spun up a Noetic Docker container and verified that they have removed the xacro.py executable. So the correct line in your launch file would be:

<param name="robot_description" command="$(find xacro)/xacro '$(find mybot_description)/urdf/mybot.xacro'"/>
edit flag offensive delete link more

Comments

2

Hey, for future reference: These breaking changes are usually documented in the wiki migration pages, these are the ones for noetic and for melodic. The noetic migration guide mentions exactly this problem, even linking an example of the required change.

RobertWilbrandt gravatar image RobertWilbrandt  ( 2020-12-05 12:48:39 -0500 )edit

Definitely a good tip. I usually read those pages, but didn't even think about them in this instance. Thanks!

jarvisschultz gravatar image jarvisschultz  ( 2020-12-07 15:25:33 -0500 )edit

Thank you very much! Now everything works fine.

Zeckurbo gravatar image Zeckurbo  ( 2020-12-08 02:41:21 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2020-12-04 04:35:33 -0500

Seen: 8,164 times

Last updated: Dec 04 '20