Moveit Perception: sensor yaml file does not produce an Octomap in rviz
Hello,
I want to use my depth camera and the Moveit Perception Pipeline for collision avoidance on an ABB IRB4600 Robot with a depth camera I added. I have been following this tutorial from Moveit. All I am editing is in the irb4600_40_255_moveit_config
package I created with the moveit setup assistant.
I am using ROS Noetic/Gazebo 11.9.0/rviz 1.14.14, my system is Ubuntu 20.04.
I have implemented the sensors_kinetic_pointcloud.yaml
as in the tutorial, the pointcloud topic in my case is camera/depth/points.
Then I updated the sensor_manager.launch.xml
file (Note, in the tutorial it is simply sensor_manager.launch
but my move_group.launch
file accesses the sensor manager with the .xml ending aswell, so I assumed that it is fine with the different ending.)
This is my sensor_manager.launch.xml
:
<launch>
<!-- This file makes it easy to include the settings for sensor managers -->
<!-- Params for 3D sensors config -->
<!-- <rosparam command="load" file="$(find irb4600_40_255_moveit_config)/config/sensors_3d.yaml" /> -->
<rosparam command="load" file="$(find irb4600_40_255_moveit_config)/config/sensors_kinect_pointcloud.yaml" />
<!-- Params for the octomap monitor -->
<!-- <param name="octomap_frame" type="string" value="some frame in which the robot moves" /> -->
<!-- <param name="octomap_frame" type="string" value="base_link" /> -->
<param name="octomap_resolution" type="double" value="0.025" />
<param name="max_range" type="double" value="5.0" />
<!-- Load the robot specific sensor manager; this sets the moveit_sensor_manager ROS parameter -->
<arg name="moveit_sensor_manager" default="abb_irb4600_40_255" />
<include file="$(dirname)/$(arg moveit_sensor_manager)_moveit_sensor_manager.launch.xml" />
</launch>
I have the "octomap_frame" still commented as I read in the book: Mastering ROS for Robotics Programming that it is only needed for mobile robots. It did not matter if it was commented or not for the result.
When I now launch my robot with the launch file I created, I neither get an error nor any warnings. I added the terminal output and the corresponding snippets of the launch file to the end of this question for readability.
What I DO know:
- When launching the equivalent launches of the panda robot with which the tutorial is made (roslaunch moveit_tutorials obstacle_avoidance_demo.launch
), I can see that the rostopic /move_group/monitored_planning_scene is filled with data, e.g. I see a lot of numbers getting published. When I echo the same topic with my robot, I only see
...
world:
collision_objects: []
octomap:
header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
origin:
position:
x: 0.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0
octomap:
header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
binary: False
id: ''
resolution: 0.0
data: []
is_diff: True
I suppose somehow the octomap does not get published/the plugin does not get loaded/It is wrongly configured. I don't think it is an issue with Rviz
- It is the same with the topic /move_group/filtered_cloud. The YAML Configuration file just does nothing ...