ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Hi, the urdf description is loaded and parsed in robot_self_filter::SelfMask::configure(const std::vector<linkinfo> &links). The urdf is accessed though the parameter "robot_description", so throw that sucker in your launch file like so:
<launch>
<!-- <include file="$(find 3dnav_pr2)/launch/pr2_planning_environment.launch" /> -->
<!-- Robot Model -->
<arg name="model" default="<my_robot>" />
<!-- Robot Self Filter -->
<node pkg="robot_self_filter" name="robot_self_filter" type="self_filter" respawn="true" output="screen">
...
</node>
<!-- Specify URDF file -->
<param name="robot_description"
textfile="$(find robot_self_filter)/urdf/$(arg model).urdf"/>
</launch>
Also, for others, you might get this warning:
[ WARN] [1439998460.539715578]: Self see links need to be an array
when specifying the self_see_links parameter in the launch file. One thing you can try is 1) create a yaml file, 2) add the following array of dictionaries:
self_see_links: [{"name":"l_upper_arm_link","padding":0.02,"scale":0.1},
{"name":"l_upper_arm_roll_link","padding":0.02,"scale":0.1},
{"name":"l_elbow_flex_link","padding":0.02,"scale":0.1},
{"name":"l_elbow_flex_link","padding":0.02,"scale":0.1}]
and 3) load it in the launch file by replacing "< param name="self_see_links" type="string"... />" with the following:
<!-- Load self_see_links -->
<rosparam command="load" file="$(find robot_self_filter)/launch/<my_self_see_links>.yaml"/>