Skip to content

Chirag-Sharma-04/slam_robo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLAM Navigation Robot

Welcome to the SLAM Navigation Robot project! This project involves the development of an autonomous robot capable of simultaneous localization and mapping (SLAM) using a Raspberry Pi 4B and ROS2 Humble. The robot uses various sensors, including a lidar, and is designed to navigate and create maps of its environment.

Table of Contents

Introduction

This project aims to build an autonomous SLAM navigation robot using a Raspberry Pi 4B, Arduino, and ROS2 Humble. The robot is designed to create a map of its environment and navigate autonomously within that map, making it suitable for applications in research, education, and hobbyist robotics.

Hardware

Components

  • Raspberry Pi 4B: The central processing unit running ROS2 Humble.
  • Rplidar A1M8 Lidar: Sensor for distance measurement and environment mapping.
  • Arduino: Microcontroller for motor control and encoder data processing.
  • Encoder Motors: Two motors for robot movement, controlled via a motor driver.
  • L298 Motor Driver: Electronic device that drives the motors based on Arduino signals.
  • PC Command Centre: For high-level control and monitoring.

Hardware Diagram

block diagram

Software

Key Technologies

  • ROS2 Humble: The Robot Operating System running on the Raspberry Pi 4B.
  • Ubuntu 22.04 LTS: The operating system for the Raspberry Pi.
  • SLAM Toolbox: For SLAM operations and navigation.
  • Arduino Code: For motor control and encoder feedback.

Working

Slam_map.mp4
Navigation.robot.mp4

Prerequisites

  • Raspberry Pi 4B with Ubuntu 22.04 LTS installed
  • ROS2 Humble installed on the Raspberry Pi
  • Arduino IDE for programming the Arduino

Usage

Running the Robot

  • Run the real life robot:
    ros2 launch slam_robo launch_robot.launch.py

Simulation

  • Run simulations using Gazebo and RViz2:
    ros2 launch slam_robo launch_sim.launch.py world:=./src/slam_robo/worlds/obstacles.world
  • Be inside your ros2 workspace for the world to load
Simulation.robot.mp4

Contributing

We welcome contributions to this project! If you have suggestions or improvements, please fork the repository and create a pull request. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Reference

About

slam robo repo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published