Turtle bot is a well-known product, which uses the technology like SLAM and Navigation best suitable for home service robots. It also contains multiple versions based on structure and features. The bot, which is embedded with the gyro, Kinect sensors, Lidar, and laptop, which has many features like path planning, obstacle avoidance, and path following with localization and mapping.
ROS is the Robot Operating System, which is the group of software libraries used for building the Robotic applications which also has some algorithms with some development tools. ROS is open source which is compatible in every Operating system and also by using Robotic Operating System Software package available in Matlab, we can access the ROS bot from the Matlab.
SLAM is Simultaneous Localisation and Mapping. By starting with an example, Let us take Google Map which has a complete path of the whole world, Mapping in SLAM resembles that part. Similarly by using GPS (Global Positioning System) every individual is located in that map using the coordinates of Latitude and Longitude. With another example, by using Lidar we can Map the environment as well as by using SLAM Algorithm we can do localization and Mapping at the same time.
LIDAR is Light Detection and Ranging uses Light in the form of a pulsed laser to detect the obstacle with its ranges. And by having continuous obtaining of ranges throughout the environment with precise angle difference between every ranges it is possible to map the whole environment which is known as Laser scans, which includes Ranges, Angles, Cartesian coordinates and Number of the value obtained. Based on Physical and Scattering process and platform LIDAR has many classifications.
This is one of the bots, which has simple structure uses ROS (Robotic Operating System) software library of version ROS Kinetic booted with Raspberry Pi and also interfaced with RPLidar in the front top portion of the Bot. This low-cost mapping bot emerges with features like SLAM (Simultaneous Localization and Mapping). which has the capability to form the Map of the environment using Lidar scans using Matlab’s Robotic Operating System Software package to communicate with ROS in the Raspberry Pi using ROS Network Configurations.
In the existing robots, High-cost sensors and interfaces are used like Kinect camera and controllers or Laptops merged with RPlidar which makes it as expensive Bot than others.
In this proposed system new way of the method to reduce the cost, we used every basic model of hardware like Raspberry Pi as the core of ROS and using Rplidar A1 model which also a 360-degree functional lidar. For Robot control we are simply using Arduino interfaced with HC-05 Bluetooth to receive commands from the laptop. The Mapping is done in Matlab using the Robotic Operating System in Software Package of the Matlab. By using ROS Network configurations ROS Bot is communicated from the Matlab.
Block Diagram Description
- Raspberry Pi is booted with Linux based OS with ROS Software Package
- RPLidar A1 360 degree Lidar, interfaced with Raspberry Pi USB port
- Robo chassis which contains the motor is interfaced with the Arduino through Motor Driver L293D
- Also, HC-05 Bluetooth is connected with the Arduino
- 9V battery is connected to the driver circuit
- Both Raspberry Pi and Arduino get supply by connecting both with the Power Bank
- Matlab installed in Laptop receive lidar scan Values by using ROS Network configuration with ROS software package in Matlab
- Based on the scan control commands for a car can be sent from laptop Bluetooth to the HC-05 (Bluetooth) in Bot.
- Or Robot can be controlled using Mobile
- Initially, ROS is connected with the Network (Raspberry Pi)
- By using ROS network configuration, the environment should be set in Matlab
- After that Publishing the Laser Scan data from the Lidar
- Laser scan is received in the Matlab using ROS Network
- First Mapping is done by plotting the laser scan obtained from the Lidar attached to Raspberry Pi through ROS
- To have a continuous map for a whole house, it is essential to drive the car to every area of the house or any other indoor environment.
- Thus the movement of the robot can be performed in two ways, one is by connecting the HC-05 module with the laptop to take control from Matlab itself using GUI buttons for the direction of the movement. Another way is to use an Android mobile app, here we used “Arduino RC” App.
- While driving throughout every area, the map is automatically obtained. We can save that map in the format of the .mat file for later use in the same directory
- It can be reloaded using Load command in Matlab
- Raspberry Pi 3
- SD Card 16 GB class 10
- RPLidar A1
- Robo Setup
- Power Bank (10000 mAh, 2 A minimum)
- Arduino UNO
- HC-05 Bluetooth Module
- L293D Driver module
- ROS kinetic OS image for Raspberry Pi
- Matlab, which has a Robotic Operating System Software Package
- Arduino IDE
- SD Card Formatter
- Etcher/win32Disk Imager/Rufus
- Arduino RC (Android app) (Optional)
Start Obtaining Map