iRobotEducation / create3_docs

Documentation for the iRobot® Create®3 Educational Robot
BSD 3-Clause "New" or "Revised" License
49 stars 16 forks source link

Difficulty with disabling backup safety #175

Closed shamlian closed 2 years ago

shamlian commented 2 years ago

There may be an error in the backup safety logic. Team to investigate.

Discussed in https://github.com/iRobotEducation/create3_docs/discussions/149

Originally posted by **siqiyan** August 11, 2022 Hi, I am currently wrote a simple node that use the IR sensor to allow the Create 3 robot to follow its front obstacle but keep a fixed distance (around 10 cm). If the obstacle moves forward, the robot follows, and if the obstacle moves backward the robot backup accordingly. I am using a PID controller to generate continues motion command and send it to `cmd_vel` topic, right now the forward movement works perfectly, but the problem is that due to safety constraints the robot does not backup and the LED turns to yellow. I am aware that the robot has backup limit by default, so I went to the web interface and change `safety_override` to `full` and restart the application, but even doing this does not give me full backup control, everytime a negative linear motion is generated the robot LED still turns to yellow and it stops moving. After some testing I found that if the negative motion (say linear.x=-0.5) is send only once the robot can backup for around half meter, then if the message is send again the robot will continue backup for another half meter and so on; but if the same motion command is send repeatedly at 10Hz then the robot will refuse to backup. So I think there is still some restrictions that prevent the robot from backup even if the `safety_override` is set to `full`. Is that possible to completely disable this constraint? Thanks!
shamlian commented 2 years ago

This is root-caused to a bug in the proximity slowdown reflex. Short-term mitigation is to disable this particular reflex. We will patch this in a subsequent release (and close the issue when we do).

shamlian commented 2 years ago

Should be solved in G.3.1.