AutonomyLab / create_robot

ROS driver for iRobot Create 1 and 2.
http://www.autonomylab.org/create_autonomy
BSD 3-Clause "New" or "Revised" License
198 stars 164 forks source link

Create2 wheel control is wrong when low speed #85

Open gjjab opened 3 years ago

gjjab commented 3 years ago

This picture is my /odom data, I pub topic cmd_vel line.x = 0.03 at first then it turn, but about timestamp is 90, I pub topic cmd_vel line.x = 0.06, then it go straight perfect. I think the joint or task space controller maybe have bugs!? Can any one help!? thanks a lot

image

jacobperron commented 3 years ago

I don't quite understand the issue. Are you saying that when given a small forward velocity that the robot is turning instead of driving straight? Judging by your plots, it appears you are commanding the robot to turn (twist.twist.angular.z is angular velocity). To me, the odometry plot seems to correlate with the velocity plot correctly.

Bscout2011 commented 3 years ago

Hi @jacobperron,

I have similar data showing a negative bias with the odometry.

odom_1m_pt5ms The plot above shows the reference commanded velocity is 0.5 m/s. The /odom twist linear x velocity is the orange line at about 0.35 m/s. The distance is calculated by the Euclidean distance for the /odom (x, y) position.

Edit: Some more testing shows the max speed of my Create 2 is actually 0.33m/s. I set this max speed in my application.

jacobperron commented 3 years ago

I'm not convinced the odometry error is caused by the software driver.

The wheel encoders on the Create platform will not give very good odometry. I would not be surprised to see systematic odometry error vary significantly from one robot to the next.