open-rmf / rmf

Root repository for the RMF software
Apache License 2.0
238 stars 59 forks source link

The robots can't move into the lifts,why? #130

Closed daichuihua closed 1 year ago

daichuihua commented 2 years ago

https://user-images.githubusercontent.com/30583933/150776867-706d2466-5d6c-4796-87b2-afe2b25dc0cc.mp4

Lifts' door is open,but robots can't not move into lifts: 33333 22

mxgrey commented 2 years ago

This is almost always because of the excessive simplicity of the simulated obstacle avoidance mechanism. The simulated robot checks if any movable objects are present within a cylinder in front of itself in the direction it intends to move in. It may even "detect" movable objects that are on the opposite side of a wall and consider those an obstacle. This is not an accurate simulation of obstacle avoidance, but it is a very efficient approximation which works most of the time.

You can see that this info message was printed to your console. Look in your screenshot for Stopping [AiMbot1] to avoid a collision.

To be honest it's not totally clear to me why this issue is happening. We put objects whose name begin with lift and door into a whitelist of things to ignore when detecting obstacles. Maybe check the names of your lifts and change them to start with lift (all lowercase) if they don't already.

daichuihua commented 2 years ago

This is almost always because of the excessive simplicity of the simulated obstacle avoidance mechanism. The simulated robot checks if any movable objects are present within a cylinder in front of itself in the direction it intends to move in. It may even "detect" movable objects that are on the opposite side of a wall and consider those an obstacle. This is not an accurate simulation of obstacle avoidance, but it is a very efficient approximation which works most of the time.

You can see that this info message was printed to your console. Look in your screenshot for Stopping [AiMbot1] to avoid a collision.

To be honest it's not totally clear to me why this issue is happening. We put objects whose name begin with lift and door into a whitelist of things to ignore when detecting obstacles. Maybe check the names of your lifts and change them to start with lift (all lowercase) if they don't already.

I change lifts' name to start with lift (all lowercase) ,and it works!great!And you make me know more about the simulation about obstacle avoidance