Basics of Autonomous Robot Navigation System With ROS | For Beginners | (Open Source softwares)

What Is Autonomous Robot & Navigation?


This is the basics of the Robot Navigation System and how it works. There are many different ways for Autonomous navigation for a robot but very few of them are open source. especially when we talk for industrial purposes, So here are some methods and other stuff which are Free to use.

Image Source - Google | Image by - S. Winkvist / Public domain

Before Starting this topic lets discuss about What is an Autonomous Robot Navigation? Robot is a device which helps human and obey all orders of humans. Now Autonomous Navigating Robot have sense of direction, mapping and position(By doing this we provides intelligence). This robots can automatically go to the predetermined destination without any external control from a location. This robotic process can be divided into two parts Hardware part and Software part 

Hardware Part

There are many hardware available in the Indian Market for the normal robot but the main question is the Which hardware appropriates for navigation bot.

  • In the very First You will Need Microprocessor(Computer can be) or SoC(System On Chip) ex. Raspberry Pi. This system used to run our programs and save our directory and codes.
  • You need chassis and design for the robot.
  • If your robot is land robot than you will need wheel or tracks, DC differential drive Encoded Motors, This will give you exact Rotation and movement of robot. Microcontroller (arduino) Used to Control the motors 
  • According to the motors, You will need Motor Driver to drive and control motors Direction and Speed.
  • Ranging Device : It will Give distance data to your program, there are various types in it :3D Ranging Device, 2D ranging device, Single and Multi point Ranging, Ultrasonic, Sonar, Radar, Laser Ranging (LiDAR),..Etc
  • IMU(inertial measurement unit) This provide the acceleration of robot and angle of the robot, Its useful to get robot Odomatry(Odomatry is uses the IMU sensor data for determine acceleration and angle over the time.)
  • Battery and charger
  • Wires

Software Part

  • Ubuntu version OS recommended Because Ubuntu is open source OS and it is free for all (as well Commercial Purpose also).
  • ROS (Robot Operating System): ROS is not software and nor OS it is middleware system. It is also available for many other operating system and recently it also support in Windows OS also. Currently ROS introduce new distro Foxy Fitzroy. This is supports mac OS, Ubuntu OS and Windows as well (This is named as ROS 2 by ROS community). 
    • In ROS many distros(distribution) are there, This distros supports some fixed OS on your main system(PC or SoC) Example you have Ubuntu 16.04 version than ROS Kinectic distro is best supportable for you.
  • For the testing or learning purpose if you don't want to install Ubuntu than there also option for Windows users. They can install WSL (Windows Subsystem for Linux) you can intall this on Windows OS  This installation provides you Ubuntu's Terminal where you can install ROS on it.
  • ROS is now also available for Windows OS but Windows is not open source system So , if you want to use as officially and industrial purpose than you have to switch to the ubuntu OS or any other OS Where ROS supported.
  • After the installation of the ROS, You have two choice for programming 
    • Python
    • CPP (C++)
  • In ROS you have to create Workspace, This directories are runs when you execute your programs on terminal.
  • ROS Installation : select best OS for your hardware and according to the OS Select ROS Destro version than move to the terminal and follow the instruction for particular distros 
  • This link will redirect you to ROS installation (Click On ROS installation). There are some installation option open anyone. ex .. Melodic, Kinectic, Noetic,.. 
  • It will take to you to new window and in this it is given platforms and supportable OS for Selected ROS version. Ex. Ubuntu, Debian. Select your OS (Ubuntu OS is best preferable)
  • After Clicking your OS it will open installation and some codes, read that carefully and paste code to your terminal. (There will also some options desktop-full installation, Desktop Installation. It's all upon you which function you want to install with ROS.)
Indoor Autonomous Robot Navigation System
Image Source - Google | Image by - http://wiki.ros.org/ / CC BY-SA

There are many devices for the ranging. This is the system which will survey the area first and that survey result will provide as the 2D map. Robot uses distance data in which you can use: (i) 2D ranging or (ii) 3D ranging array. After the map creation, we will have to provide any point on the map. That reading of point will be transmitted to the robot. Now the navigation robot will take action on it and will make a shortest distance path with path planning. Robot will navigate to the set point but if there are any new obstacles will come uncertainly between robot itself and obstacle then robot can able to avoid those obstacles. Robot have function for the detection of the even surface flat ground where if the ground is not detected, Robot will understand and it would not make map for it and also avoid from the drop down. The Project detects the coming object and makes its decision to reach its destination. The purpose of this is to implement of prototype creates based on the navigation system some more application like wheel chair navigation, Blind people navigation, industrial AGVs and terrain robots.


What you need for Path Finding.

1.     Position : Measuring the robot's position.

2.   Sensing : Measure obstacles such as walls object and objects.

3.   Map : Maps with road and obstacles information using SLAM algorithm (Simultaneous     Localization and Mapping).

4.    Path : Calculate optimal path to the destination and follow the path.

According to “Autonomous robot navigation system”, A Robot which can navigate its own position and reach its destination by avoiding the obstacles which are coming in front of it.

There are two terms which always comes in front of us, those are

    • Location
    • Navigation

Location means the position where I am right now.

While navigation terms consists of the the fundamental terms.

    • Self localization
    • Path planning
    • Map building and interpretation

These three above task can be done simultaneously for approaching the Automatic Navigation System.

Currently Electric Vehicles are common, best thing is that it is not using fossil fuel and that is why it makes the environment less spoiled. Now that days are not far away when cars will run on the road without drivers.

 


3 comments:

  1. Wonderful article very much Informative. Written in very easy language.

    ReplyDelete
  2. Thank You
    For the information. Very useful article 👍

    ReplyDelete
  3. Can anyone recommend me the best service from the list mentioned in this site.
    Digital Mapping

    ReplyDelete

Axiom Information. Powered by Blogger.