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

Create Autonomy + ROS + iRobot Create - odometry

asked 2018-01-10 14:40:05 -0500

pitosalas gravatar image

We are experimenting with an iRobot Create (IC) and using the Create Autonomy (CA) library. We have a few anomalies that maybe someone can shed a light on:

1) We are not getting /nav_msgs/Odometry messages published, even though we have the IC rotating on the floor.

2) Regarding the /bumper message type: I assume that is_light_left etc. messages correspond to when the wheels are not solidly on the ground, right? I found that they are very unreliable, in some cases not responding at all to the wheel, and sometimes being very slow to respond. Is that a sign of a problem with the hardware?

3) Regarding the omni IR sensor: It looks like it returns either 0 or 161 -- is that correct? But the range is very short (like 10-20 cm). I know a Roomba can find its way to the base from a longer distance. Is it not relying on the IR?

Thanks!

edit retag flag offensive close merge delete

Comments

Do you have a link to the library?

jayess gravatar image jayess  ( 2018-01-10 15:33:58 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-01-10 16:28:28 -0500

jacobperron gravatar image

1) We are not getting /nav_msgs/Odometry messages published, even though we have the IC rotating on the floor.

By "published", do you mean the odometry is not updating correctly or are there no messages at all? After starting the driver you should hear a "beep" from the robot and the center LED should turn off. This is a good indication that the driver has started properly. After that you can try the command rostopic hz /odom to check that messages are being published.

Also, note that the odometry may not be accurate if you are pushing the robot around by hand since it infers wheel rotation direction based on commands sent to the motors.

2) Regarding the /bumper message type: I assume that is_light_left etc. messages correspond to when the wheels are not solidly on the ground, right? I found that they are very unreliable, in some cases not responding at all to the wheel, and sometimes being very slow to respond. Is that a sign of a problem with the hardware?

This is not correct. The bumper message is regarding the forward facing bumpers. is_light_left in particular refers to whether the left-most light sensor on the front bumper is detecting an obstacle. For detecting if a one of the wheels is not on the ground you can use the /wheeldrop topic, which outputs an std_msgs/Empty message if one of the two wheels is not on the ground.

3) Regarding the omni IR sensor: It looks like it returns either 0 or 161 -- is that correct? But the range is very short (like 10-20 cm). I know a Roomba can find its way to the base from a longer distance. Is it not relying on the IR?

Off the top of head, the IR code returned is passed on from the base itself. You can find a list of values on page 25 of the Create 2 IO Spec.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2018-01-10 14:40:05 -0500

Seen: 653 times

Last updated: Jan 10 '18