I noticed that robots in Stage can drive through walls. Is that expected?
I'm using ROS Kinetic under Ubuntu 16.04, as follows:
rosrun stage_ros stageros /opt/ros/kinetic/share/stage/worlds/pioneer_walle.world
and
rosrun turtlesim turtle_teleop_key /turtle1/cmd_vel:=/robot_0/cmd_vel
Then, when I command the robot from the telop terminal, it passes straight through the walls in Stage, as if they weren't there.
Stage does print out warning messages about more than one ranger not being supported, but it doesn't sound like that would be related to this problem, right?
Originally posted by The Martin on ROS Answers with karma: 52 on 2018-09-13
Post score: 0
Original comments
Comment by Delb on 2018-09-13:
If you check the topics with rostopic list
you can see that there are only informations from the scan
, odometry
, cmd_vel
etc.. but none about a collision or a bumper to detect it so it's sound normal.
And yes the warning is simply because there are two robots.
Comment by The Martin on 2018-09-13:
But I thought that Stage would still check for collisions, even if the (simulated) robot doesn't have a sensor to detect the collision. If my memory serves me, that's how it used to work in older versions.
Comment by Delb on 2018-09-13:
It is possible but you have to implement it and tell the robot to use a bumper (or any other sensor that can tell the robot is touching something)
If you are no restrained to Stage maybe you should use Gazebo.
Comment by allenh1 on 2018-09-13:
@The Martin That's definitely not expected behavior! I'd be curious to see if the p2os version of the pioneer world replicates this behavior. (see p2os_urdf and p2os_launch)