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

Robot doesn't explore when used with frontier_exploration, move_base and gmapping

asked 2017-05-13 13:12:09 -0600

Hammad Iftikhar gravatar image

updated 2017-05-15 02:39:37 -0600

Hello everyone,

I am currently working on a small project to automate the motion of a robot when implementing SLAM.


  1. 1. The robot platform used is Pioneer_p3dx and sensor mounted on top is Hokuyo URG 04LX UG01, in V-Rep.
  2. 2. The topics published are
    1. a.) /base_scan(sensor_msgs/LaserScan),
    2. b.) /tf,
    3. c.) /odom(nav_msgs/Odometery),
    4. and is subscribed to /cmd_vel.
    5. 3. Most of the information regarding how to use parameters of frontier_exploration, move_base I learnt from repositories on github using Husky and Turtlebot as their basis.


    1. 1. When the program starts, it starts registering LaserScans and robot pose, but soon I get an error "Scan Matching error, using odometery".
    2. 2. After providing an exploration_boundary and an initial point, I get the visual representation of map and costmaps but robot doesn't move.
    3. 3. In the V-Rep terminal, I am getting an error which says "/explore_server" requires "base_scan" to have "sensor_msgs/PointCloud" data type and not "sensor_msgs/LaserScan".

    I tried decreasing sim_time to 1.0 as suggested here on some other question but it doesn't work. I am guessing it is because of the limitations my laptop presents(Dual Core, 2GHz) but any help and suggestions will be appreciated. Node Graph and TF tree are attached, while screenshots of errors are attached too. Maybe someone more experienced than me that point out the possible mistakes. I will upload parameter files and launch files if need be. Thank you. link for pics:

edit retag flag offensive close merge delete


It seems like the third error message (about topic type mismatch) may be preventing the exploration node from determining obstacle positions and may therefore be preventing it from generating a plan. I don't know much else about the exploration node, so I'm not sure how to fix the issue.

ahendrix gravatar image ahendrix  ( 2017-05-14 01:59:58 -0600 )edit

Can you please add your exploration launch file and exploration costmap configuration (not move_base costmap). Also: Does your robot move when provided with a goal?

Humpelstilzchen gravatar image Humpelstilzchen  ( 2017-05-15 14:55:17 -0600 )edit

Putting errors and terminal output in screen shots makes it very difficult to get people to help you. It's much better (and actually the recommended way) to copy and paste this information into your question.

jayess gravatar image jayess  ( 2017-08-24 18:00:31 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-05-24 14:29:25 -0600

paulbovbel gravatar image

updated 2017-05-24 14:31:20 -0600

Scan Matching error, using odometery is a gmapping error, meaning your mapping is likely not working properly. Try to get your mapping working via teleop, in isolation from move_base and exploration.

/explore_server" requires "base_scan" to have "sensor_msgs/PointCloud" data type and not "sensor_msgs/LaserScan".

This suggests that frontier_exploration's costmap is configured to expect the wrong sensor type (pointcloud instead of laserscan). This will likely prevent the costmap from updating with your sensor data.

If your hope is for someone to debug your configuration, you'll be much better off if you put the entire bringup into a github repo, as well as provide complete logs of your launches.

It's also better to test your setup in simulation first, until you're at a point that things are working and it's time to bring hardware into the mix. If your simulation doesn't work, it's easy for someone else to start it and try to identify a problem.

edit flag offensive delete link more

Question Tools



Asked: 2017-05-13 13:12:09 -0600

Seen: 420 times

Last updated: May 24 '17