ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I believe the problem is that in your top-level .xacro
file, you are setting the prefix
of the seallant_tool
to tool_
:
<xacro:seallant_tool prefix = "tool_"/>
but then in the flange_to_seallant_tool
joint spec you are not using that prefix, but simply use base_fit
as the name of the child
link.
It should probably be tool_base_fit
.
Same with tool0
in the tool0_to_flange
joint. It should probably be robot_tool0
.
And for consistency you might want to prefix flange
with robot_
as well (so it becomes robot_flange
).
2 | No.2 Revision |
Edit: the main problem here was that the name of the attribute that encodes the parent or child link for a joint
is link
, not name
.
Having fixed that in the tool0_to_flange
and flange_to_seallant_tool
joint specs made things almost work.
Remaining issue was that tool_base_fit
is already a child
of tool_base_link
, so you cannot make it a child
of robot_flange
as well (that is not allowed in urdf).
After changing flange_to_seallant_tool
to have tool_base_link
as its child
the .xacro
could successfully be converted and it loaded into RViz:
Original answer: I believe the problem is that in your top-level .xacro
file, you are setting the prefix
of the seallant_tool
to tool_
:
<xacro:seallant_tool prefix = "tool_"/>
but then in the flange_to_seallant_tool
joint spec you are not using that prefix, but simply use base_fit
as the name of the child
link.
It should probably be tool_base_fit
.
Same with tool0
in the tool0_to_flange
joint. It should probably be robot_tool0
.
And for consistency you might want to prefix flange
with robot_
as well (so it becomes robot_flange
).