A ROS 2 package for robotic wheelchair control, simulation, and visualization, developed by NishCorp-Tech. This package provides nodes and launch files for controlling, monitoring, and visualizing a robotic wheelchair platform in both RViz and Gazebo Ignition.
- Complete ROS 2 control system for wheelchair operation
- Position control for seat rotation, arms, and footrests
- Velocity control for all four wheels
- Visualization in RViz
- Full physics simulation in Gazebo Ignition
- Example launch files for quick startup
- Modular and extensible design
- ROS 2 Humble Hawksbill
- Python 3.8+
- Colcon build system
- RViz2
- Gazebo Ignition
- ros2_control and ros2_controllers
- ros_ign_gazebo
-
Clone the repository into your ROS 2 workspace:
cd ~/ros2_ws/src git clone https://github.com/Siddhant-nishcorptech/NishCorp-Tech.git
-
Install dependencies:
cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y
-
Build the package:
cd ~/ros2_ws colcon build --packages-select wheelchair_ros
-
Source your workspace:
source install/setup.bash
To launch the display (visualization) for the wheelchair in RViz:
ros2 launch wheelchair display.launch.pyTo launch the wheelchair in Gazebo Ignition with full physics simulation:
ros2 launch wheelchair wheelchair_gazebo.launch.pyThis will start Gazebo Ignition with the wheelchair model and all necessary controllers.
To control the wheelchair using keyboard inputs, follow these steps:
- Launch the Gazebo simulation:
ros2 launch wheelchair wheelchair_gazebo.launch.py- Launch the wheelchair control:
ros2 launch wheelchair wheelchair_control.launch.py- Run the teleop controller:
ros2 run wheelchair teleop_controller.pyThe package includes two main controller groups:
- Seat Rotation (j1): Controls the seat's rotation
- Arms (j2, j3): Controls both wheelchair arms
- Footrests (j4, j5): Controls both footrests
- Wheel Control (j6, j7, j8, j9): Controls all four wheels independently
- display.launch.py: Launches RViz visualization
- wheelchair.launch.py: Core wheelchair control and state publishing
- wheelchair_gazebo.launch.py: Launches Gazebo simulation with physics
The package uses YAML configuration files located in the config directory:
- wheelchair.yaml: Controller configurations
- urdf.rviz: RViz visualization settings


