Moveit Perception: sensor yaml file does not produce an Octomap in rviz

asked 2022-03-20 17:07:10 -0600

joff gravatar image

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 ...
(more)
edit retag flag offensive close merge delete