/rover

Primary LanguageC++MIT LicenseMIT

ROVER

ROVER package consist of basic navigation stack and slam packages,to control and move a rocker bogie based 6 wheel configuration indoors.

rover 1

Installation

cd ~/catkin_ws/src
git clone https://github.com/siddarth09/rover.git
git clone https://github.com/siddarth09/rover_description.git
cd ..
catkin_make

Note:

Please change the catkin_ws to your custom rosworkspace name

TELE-OPERATION

The teleop keys are customised according to the robot configuration ie; the hardware bot, you can make changes to the friction between wheels or increase the max speed so the wheels of your bo motors can move faster

roslaunch rover teleop_key.launch

The above command can be used to run the teleop node in your pc

WORLD SIMULATION

This robot world can be simulated in Gazebo for testing various problems, the house contains three rooms with one narrow passage to check robot navigation in such conditions

To run the house simulation

roslaunch rover rover_house.launch

SLAM

Simultaneous localization and mapping (SLAM) is the computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it. Here we are using frontier mapping, gmapping, Hector-slam packages to map the given environment for navigation purposes

To run Gmapping package

roslaunch rover gmapping.launch

To run Karto-SLAM package

roslaunch rover karto_slam.launch

To run Hector-slam package

Note:

Please make sure your lidar ros package is publishing /scan topic

roslaunch rover hector_slam.launch

if there's any error pertaining to your map, check if you have connected your LiDAR properly.

NAVIGATION STACK

Navigation stack is an important for autonomous navigation, ROS has builtin packages which helps you setup the entire navigation stack very easily and fine tune the path planning algorithms accordingly.

  • GLOBAL COSTMAP: In the global costmap is everything the robot knows from previous visits and stored knowledge e.g. the map

  • LOCAL COSTMAP: In the local costmap is everything that can be known from the current position with the sensors right know

Here ROS comes with default DWA or DYNAMIC WINDOW APPROACH which uses Dijkastra's algorithm to find the shortest path to the given X,Y coordinates

To run the navigation stack

roslaunch rover navigation.launch map_file:=

MAKE SURE YOU HAVE MAPPED YOU ENVIRONMENT PROPERLY and SPECIFY THE MAP LOCATION AT MAP_FILE ARGUMENT

MAPVIZ

Mapviz is a graphical user interface for gps based navigation. Installation:

cd ~/catkin_ws/src
git clone https://github.com/swri-robotics/mapviz.git
cd ..
catkin_make

To run the mapviz package

roslaunch rover mapviz.launch 

NOTE:

If you want to change the latitude and longitude, you can go to google maps and get your coordinates

DAY 89