0
$\begingroup$

Rosanswers logo

I am right now trying to get navigation setup on a three-wheel drive robot running ROS Kinetic.

For the protection of the robot and any users that may be operating around the robot, the robot at the firmware level stops the robot if an obstacle is detected by a sensor:

If the obstacle is in the front, the robot can't move forward. If the obstacle is in the back, the robot can't move backward. If I input a velocity command in order to have the robot move past the obstacle, the firmware will block the command from being executed by the robot.

Can I still use a standard ROS navigation stack in this scenario? If so, what would I need to do in order to get it working smoothly?

I would like to not have to modify the firmware if possible.


Originally posted by Skhanna on ROS Answers with karma: 5 on 2021-06-24

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

This is the point of the local costmap, the effectiveness depends on what type of sensor you have. If you have robot with 360 degree view it should be quite effective. It becomes more complicated if you need to remember or try to estimate positions of obstacles rather than viewing them directly.

If you want extra protection with some own tinkering you could just redirect the twist output through some other node that tries to limit the twist command in emergencies.


Originally posted by bob-ROS with karma: 525 on 2021-06-24

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by Skhanna on 2021-06-24:
Does this work as normal if certain Twist commands are ignored though? This is my cause for cocern.

Comment by bob-ROS on 2021-06-24:
Yes, you have a high frequency on the local planner e.g. 20 hz. If you do not use a recovery behavior you won't have any reaction. You can try this out in gazebo or stage by using a twist mux with some xbox controller/keyboard teleop that overrides the cmd_vel from move_base.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.