hello-robot / stretch_ros

ROS packages for the Stretch mobile manipulators from Hello Robot Inc.
https://docs.hello-robot.com/0.2/stretch-tutorials/ros1/
166 stars 83 forks source link

Gazebo bug with stretch #101

Open NateWright opened 1 year ago

NateWright commented 1 year ago

When nothing is happening in the simulation stretch will drift off and spin a little in simulation. This is noticeable in a short period of time and even more so when gazebo is left open for longer when you are testing code periodically. I am using dev/noetic branch. Time 0 min: time0 Time 5 min: time5

Eventually the robot will be facing up against the wall and driving into it.

hello-binit commented 1 year ago

Hi @NateWright, thanks for reporting this. I wonder if the drifting is similar to this issue about the Kobuki diff drive robot: https://answers.gazebosim.org//question/25794/idle-robot-drifts-due-to-tilted-inertia/

The URDF of Stretch loaded into Gazebo has a fixed joint for the caster wheel. It's possible that making it a continuous joint with friction would help with this issue.

NateWright commented 1 year ago

@hello-binit I looked into it a bit and noticed that the caster wheel is built into the base_link.STL file and then there is another wheel attached to the robot in the same position. I am attaching a photo showing the gray wheel from the base_link file and a blue omni wheel colliding. https://github.com/hello-robot/stretch_ros/blob/dev/noetic/stretch_description/meshes/base_link.STL image I wonder if removing the wheel from the stl file might fix this issue

hello-binit commented 1 year ago

Definitely worth trying. I won't be near a desktop until next week, but you can try importing the mesh into Blender to erase the "fixed" caster wheel.

cyb1212 commented 4 months ago

@NateWright I am facing the same problem. Do you solve it? Thank you.

NateWright commented 4 months ago

@NateWright I am facing the same problem. Do you solve it? Thank you.

I messed with it for awhile, but I was unable to solve the issue

cyb1212 commented 4 months ago

Thanks for your reply. I can just reset the model at each minute for meaningful measurement. @hello-binit Any other potential comment? The whole model is moving horizontally (not along the wheel direction), which is not the friction problem. I also removed one of the omni wheels and the model is still slipping. Screenshot from 2024-02-18 15-35-15 Time 60s

Screenshot from 2024-02-18 15-33-14 Time 0s

Screenshot from 2024-02-18 15-35-26 rviz

@NateWright I am facing the same problem. Do you solve it? Thank you.

I messed with it for awhile, but I was unable to solve the issue

mainakpal08 commented 1 month ago

I am facing the same issue. Any workaround ?

cyb1212 commented 1 month ago

I changed the wheel control in stretch_gazebo_standard_gripper.urdf.xacro and the weight of the robot (make it heavy) to make the robot more stable. It is still slightly moving but if each step in your task is in 10 mins. It should be fine. Another supporting way is to use 'set_model_state' commend in gazebo before your observation.

Screenshot from 2024-05-09 10-32-47

I am facing the same issue. Any workaround ?

mainakpal08 commented 1 month ago

I changed the wheel control in stretch_gazebo_standard_gripper.urdf.xacro and the weight of the robot (make it heavy) to make the robot more stable. It is still slightly moving but if each step in your task is in 10 mins. It should be fine. Another supporting way is to use 'set_model_state' commend in gazebo before your observation.

Screenshot from 2024-05-09 10-32-47

I am facing the same issue. Any workaround ?

Thanks @cyb1212 , it worked!