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

Revision history [back]

click to hide/show revision 1
initial version

robot_model.xacro only defines a xacro:macro, but that macro is never called (or: the model is never instantiated).

It's like creating a C++ / Python class, but then ever instantiating it, so there is no object.

This is a classical mistake when using xacro.

And pedantic, but:

When I try to launch my xacro in Rviz

you cannot "launch a xacro in RViz". RViz just visualises whatever you give it. It's an observer, it's not an active entity which loads .xacro files. That's an important difference.

robot_model.xacro only defines a xacro:macro, but that macro is never called (or: the model is never instantiated).

It's like creating a C++ / Python class, but then ever instantiating it, so there is no object.

This is a classical mistake when using xacro.

And pedantic, but:The original file (here) doesn't appear to be a xacro:macro (notice how that line is commented, just as line 202, which would close the xacro:macro).

When I try to launch my xacro in Rviz

you cannot "launch a xacro in RViz". RViz just visualises whatever you give it. It's an observer, it's not an active entity which loads .xacro files. That's an important difference.

robot_model.xacro only defines a xacro:macro, but that macro is never called (or: the model is never instantiated).

You only have <xacro:macro name="mobile_robot"> [..] </xacro:macro>, but nowhere a <xacro:mobile_robot />.

It's like creating a C++ / Python class, but then ever instantiating it, so there is no object.

This is a classical mistake when using xacro.

The original file (here) doesn't appear to be a xacro:macro (notice how that line is commented, just as line 202, which would close the xacro:macro).