LaMB is a differential drive robot which uses SLAM with RPLidar to navigate in its environment. It uses Jetson Nano as a companion computer for path planning and obstacle avoidance
-
Give a star to this repo (at the top)
-
Install Pre-requisite
sudo apt-get install ros-melodic-gmapping ros-melodic-teleop-twist-keyboard ros-melodic-map-server ros-melodic-amcl ros-melodic-move-base
- Clone the repository
cd catkin_ws/src
git clone https://github.com/G1-k/LaMB.git
git clone https://github.com/NickL77/RPLidar_Hector_SLAM.git
- Build the workspace
cd ..
catkin build
- Launch Hardware related Nodes:
roslaunch lamb hardware.launch
OR Launch these individually(Optional):
* Arduino Bridge Node
roslaunch ros_arduino_python arduino.launch
* RPLidar Node
roslaunch rplidar_ros rplidar.launch
- Gmapping node
roslaunch lamb gmapping.launch
- Visualization
cd catkin_ws/src/LaMB/rviz
rviz -d map.rviz
- Teleop Node
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Using Arrow keys drive the robot around to generate map.
- After completing map, Save it
rosrun map_server map_saver -f ~ ~/catkin_ws/src/lamb/maps/name_of_map
- Launch Navigation:
roslaunch lamb navigation.launch savedmap:='name-of-map'
OR Launch these individually (Optional)
* AMCL Node
roslaunch lamb amcl.launch map:='name-of-map
* Move base Node
roslaunch lamb move_base.launch
- Visualization
cd catkin_ws/src/LaMB/rviz
rviz -d navigate.rviz
- Go to goal
- Set initial pose using 2D pose estimate in Rviz.
- Optional : Use teleop until pose estimates(red_particles) are accurate.
- Set goal postion and orientation using 2D Nav goal
This work/project is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License.
- Fork it!
- Create your feature branch :
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request