A ROS2 Humble and Gazebo Ignition Fortress implementation of a voice-controlled wheelchair
The implementation combines Gazebo's SDF (in this repo it's in xml for easier development in IDE), ROS2 CMake Package, and ROS2 python package
- Voice-Controlled Locomotion
- Contact-Sensor Stopping (the wheelchair will stop when it detects contact with the wall)
- Keyboard Teleoperation
- Too Fast Alert (the wheelchair will try to slowdown when it's too fast and sound an alert)
- Forward
- Backward
- Stop
- Rotate Left x / Rotate Counterclockwise x
- Rotate Right x / Rotate Clockwise x
- Cancel (cancel the rotation)
- W for forward
- S for backward
- A for counterclockwise rotation
- D for clockwise rotation
- Q for stopping the wheelchair
- ROS2 Humble
- Gazebo Ignition Fortress
- Python 3
- Python SpeechRecognition Library
- Python PlaySound Library
- Clone this repo and the interfaces repo
- Build the interfaces repo first
- Source the interfaces build
- Build this repo
- Source this repo
- Run the gazebo simulation first
gazebo ign world/gazebo.xml
(if you run it from the repository's root) - Run the launch file for this repo
ros2 launch wheelchair wheelchair_launch.yaml
(run it from the repository's root for the alert audio file)
- This package is intended to combine both python and c++ in ROS2 package for me to learn developing a ROS2 package that combines both programming language
- This package is for the purpose of an analysis via simulation assignment