Obstacle avoidance node can detect object higher than the height of RPLidar. This node is used to avoid clashing into unknown obstacles and compensates for paths that are to near to walls. Every time the node predicts there will be a collision, it requires "brain" to stop the navigation and plan a new path. Additionally, it prevents losing track of the robot in localization, which happens in the situation where robot continues going after clashing into walls.
The node gets the velocity published by navigation node and predicts robot’s next position, and check the laser measurement in this angle. If the distance that the robot will move in a period of time, if keeps going by such velocity, is longer than average laser scan in the range of ten degrees, sends boolean value true to "brain" so "brain" can preempt the navigation. But if velocities are all zero, it doesn’t check collision.
Ещё видео!