Sahayak - An Autonomous Covid Aid-Bot
Python Requirements
pip install -r requirement.txt
Required ROS Packages
xargs sudo apt install < ros_requirements.txt
CAD Model of Sahayak
- URDF and mesh files of the SolidWorks Assembly are generated using the sw_urdf_exporter.
- After installing the exporter, the
SW2URDF
add-in gets appended in the add-ins list of SolidWorks. Further detailed instructions are documented here.
Result
ROS Controls:
Teleoperation using Keyboard inputs
For teleoperation of Sahayak run the below command in terminal:
roslaunch sahayak_control teleop.launch
Visual Odometry:
Implemented Visual Odometry pipeline using the following
roslaunch visual_odom launch_all.launch
rosrun visual_odom optical_pnp.py
- 3D to 2D Motion Estimation Algorithm Result Video
Mapping:
GMapping
GMapping is a ROS Package used creating a 2D occupancy grid map of an enviroment using a 2D LiDAR, tf and Odometry data.
To map the default enviroment using GMapping run the below commands in seperate terminals:
roslaunch sahayak_mapping gmap-launch_all.launch
roslaunch sahayak_navigation scan_matcher.launch
Hector SLAM
Hector SLAM is a ROS package which is used for creating a 2D occupancy grid map of an enviroment using a 2D LiDAR, tf data and Odometry data (Optional).
RTAB (Real Time Appearance Based) Map:
RTAB-Map is a ROS Package which uses a RGB-D camera to generate a 3D map of an enviroment.
To map the default enviroment using RTAB Map run:
roslaunch sahayak_mapping rtab-mapping.launch
ROS Navigation Stack:
AMCL
Sahayak was localised in a map using Adaptive Monte Carlo Localisation (AMCL) which uses adaptive particle filters.
Path Planning
Path Planning involves finding a lowest cost path based on 2D Local and Global Costmaps.
ROS Packages using in Path Planning:
Run roslaunch sahayak launch_all.launch
in a terminal to launch Path Planning launch file. Use 2D Nav Goal
in RVIZ to give a goal to Sahayak.