ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

MoveIt perception - Failed to configure updater of type PointCloudUpdater

asked 2017-05-22 00:42:49 -0500

rmck gravatar image

I'm attempting to load an existing pointcloud into moveit but it keeps throwing an error. Specifically, it says "Failed to configure updater of type PointCloudUpdater" Here's the console output immediately before the error:

Starting context monitors...
ros.moveit_ros_planning.planning_scene_monitor: Starting scene monitor
ros.moveit_ros_planning.planning_scene_monitor: Listening to '/planning_scene'
ros.moveit_ros_planning.planning_scene_monitor: Starting world geometry monitor
ros.moveit_ros_planning.planning_scene_monitor: Listening to '/collision_object' using message notifier with target frame '/base_link '
ros.moveit_ros_planning.planning_scene_monitor: Listening to '/planning_scene_world' for planning scene world geometry
ros.moveit_ros_perception: Failed to configure updater of type PointCloudUpdater

Here's my sensors.yaml file:

 sensors:
  - sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater
    image_topic: /cloud_pcd
    max_range: 5.0
    point_subsample: 1
    padding_offset: 0.1
    padding_scale: 1.0
    filtered_cloud_topic: filtered_cloud

I load my pointcloud using the following console command:

rosrun pcl_ros pcd_to_pointcloud /home/Documents/out_pcd/processed_clouds/Scanner-2_rosbag.bag.pcd

Which publishes the pointcloud2 to the topic /cloud_pcd

Here's my sensor_manager.launch.xml:

<launch>
  <param name="octomap_frame" type="string" value="odom_combined" /> 
  <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="vehicle_model" />
  <include file="$(find vehicle_moveit)/launch/$(arg moveit_sensor_manager)_moveit_sensor_manager.launch.xml" />

</launch>

And finally, here's vehicle_model_moveit_sensor_manager.launch.xml:

<launch>
    <rosparam command="load" file="$(find vehicle_moveit)/config/sensors.yaml" />
</launch>

Any advice at this stage would be appreciated. I can't seem to find any record of others having this error.

edit retag flag offensive close merge delete

Comments

The PCD to pointcloud is working as expected, I can add a pointcloud2 to RVIZ and see the pointcloud.

rmck gravatar image rmck  ( 2017-05-22 00:43:48 -0500 )edit

I'm not sure, but does the pointcloud publishes by pcd_to_pointcloud have its frame_id set correctly? If it doesn't, then I believe the PC updater won't be able to process it.

gvdhoorn gravatar image gvdhoorn  ( 2017-05-22 02:26:20 -0500 )edit

You can specify the frame_id when running it from console. I've tried rosrun pcl_ros pcd_to_pointcloud /home/Documents/out_pcd/processed_clouds/Scanner-2_rosbag.bag.pcd 0.1 _frame_id:=/world, /odom, /odom_combined and /base_link without success.

rmck gravatar image rmck  ( 2017-05-22 18:00:54 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-05-22 19:42:36 -0500

rmck gravatar image

Figured it out! It was a typo in my sensors.yaml. image_topic: /cloud_pcd should have been point_cloud_topic: /cloud_pcd For anyone else having this error, image_topic refers to depth images rather than point clouds. So obvious in hindsight. Working as expected now.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2017-05-22 00:42:49 -0500

Seen: 478 times

Last updated: May 22 '17