This PR adds a safety controller that stops the robot when a cliff, bump or wheel drop is detected.
For that, a velocity multiplexer was added to support multiple velocity inputs.
Fixes #38 and #47.
Type of change
[X] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to not work as expected)
How Has This Been Tested?
# Simulation
GUI=false RVIZ=true LOCALIZATION=amcl roslaunch ca_gazebo create_sweet_house_3.launch
## Move the robot with RViz (move_base) and use the keyboard too
roslaunch ca_tools keyboard_teleop.launch
# Real robot
# TODO
Test Configuration:
[X] Real robot
[X] Gazebo simulation
Checklist:
[x] My code follows the style guidelines of this project (Travis CI is passing)
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
Description
This PR adds a safety controller that stops the robot when a cliff, bump or wheel drop is detected. For that, a velocity multiplexer was added to support multiple velocity inputs.
Fixes #38 and #47.
Type of change
How Has This Been Tested?
Test Configuration:
Checklist: