Hi, I want to filter the robot motion from the published point cloud in Isaacsim.
Here is my setup.
PointCloud
And I have attached the ActionGraph from the main.py code.
basically, /OmniIsaacRosBridge node publishes three topics, pointcloud2, tf_camera, and tf_every_robot_joint.
PointCloud filter
I want to use robot_body_filter, a ROS package that filters the robot and its shadow from the raw point cloud.
catkin_ws/src/robot_body_filter/launch/my_pcd_filter.launch
<launch>
<node name="laser_filter" pkg="sensor_filters" type="pointcloud2_filter_chain">
<rosparam command="load" file="$(dirname)/my_pcd_filter_config.yaml" />
<remap from="~input" to="/Isaac/Depth_pcl" />
<remap from="~output" to="/Isaac/Depth_pcl_filtered_bong" />
</node>
</launch>
catkin_ws/src/robot_body_filter/launch/my_pcd_filter_config.yaml
cloud_filter_chain:
- name: body_filter
type: robot_body_filter/RobotBodyFilterPointCloud2
params:
frames/filtering: 'panda_link0'
frames/output: 'Isaac_camera'
sensor/min_distance: 0.05
sensor/max_distance: 50.0
body_model/inflation/scale: 1.1
body_model/inflation/padding: 0.02
filter/do_shadow_test: False
Question
I realized that RobotBodyFilter requires robot_description to compute the kinematics of the urdf_collision_mesh to filter processing.
$ roslaunch --screen robot_body_filter my_pcd_filter.launch
[ERROR] [1696769520.026045719]: RobotBodyFilter: robot_description is empty or not set. Please, provide the robot model. Waiting 1s.
But I have no idea how to publish robot_description directly from IsaacSim, which uses USD, not urdf file.
I would appreciate it if you could give me any advice. Thanks!
+This is a testbed for the real-world setup, so pcd segmentation is unfeasible.