What is ROS? | Introduction To Robot Operating System (ROS) | Gazebo | Rviz | Programming Robots with ROS | SLAM | Autonomous Navigation | Path/Motion Planning | ROS State of Art


 

1. Robot Operating System (ROS)

ROS is well known by its simulations in the field of robotics and it is open-source. Robot operating system comes with interfaces of message passing, tools for simulation i.e. gazebo, rviz and have a lot of packages which help in simulating the project. Due to its several integration tools it will not make much complexity. Different libraries and packages are provided by many people to help in sharing knowledge. ROS is used to pass messages. To develop new applications for researchers it provides the good facilities. In this introductory work, ROS is the main base of work because of publishing of messages on the topics and then subscribing those messages from topics. This will be carried out with different parameters. ROS also provides Intraplatform operability, Modularity, Concurrent resource handling.
For the creation of virtual environment in which simulated robot model is made to implement different algorithms ROS is mainly used. We can visualize all the things in virtual environment rather than implementing the overall system and hardware. So, we can implement every thing in simulation and then transform it to hardware. Below given are some important features of provided by ROS.

  • Message passing interface: As the name suggests it provides the capability of passing messages. The program exchange the data with the help of linked systems of communication.
  • Package management: The ROS packages are designed with the help of ROS nodes. These packages consists of different files like source codes, config and build files etc. The build system helps to execute these packages. This developed and systematic approach of management is provides by ROS.
  • Low-level device control: There sometime needs to control low level electronics to send data with the help of serial ports and vice versa. This can only be attainable with the help of ROS.
  • Distributed computing: When we are interfacing different sensors then processing the data is very high from different robot sensors. In ROS, this high processing is distributed to clusters which have many computing nodes. This helps in increasing the speed of processing data.
  • Code reuse: The importance in term of code reuse is very demanding so ROS growth factor is increasing day by day due to this sharing of executable. The group of different packages are used to run one simulation this whole is known as meta package and both of these packages are shared or distributed.
  • Scaling: For performing complex and difficult computations in robot ROS can be scaled. ROS gives the combination of different messages passing interfaces, simulation and visualizations of tools, and capabilities. There are many capabilities of navigation, control, localization, manipulation and mapping etc. are available. This results in development of many robotics applications.



1.1 ROS File System

The organized way of files which includes different types of packages, messages etc. are known by ROS file system. The below given Table gives the description about main terms using in file system 


1.2  ROS Computational Graph

This computational graph in ros are defined by the peer-to-peer network that is used in processing the data. The features in computation graph are given in below Table  

2. Simulation & Visualization Tools

2.1 Gazebo

Gazebo is a tool of ROS which is used to simulate a robot in the virtual environment. After the creation of robot or world it is transformed to Gazebo as a robot model and world respectively. The complex environments can be created with the help of this tool. All the sensor can be mounted on the robot to visualize the environment in 3D space. The robot model is made through URDF which we discuss in next chapter and assign different links to them accordingly. From links and joints different degree of movements can be created. A differential drive robot is used in this thesis and the mathematical modeling for that is given in next chapter. The robot consists of two wheels, two casters and lidar for scanning of environment as shown below. The sample map is shown below too. In this environment, the house environment is created, having kitchen, bedroom, launch and corridor. This map includes different objects which are considered as obstacles.  

Gazebo is famous about its accuracy and efficiency in simulation of complex robots in indoor & outdoor environments. High quality graphics and renderings can be created with the help of gazebo.  


The Gazebo Features are
Dynamic Simulation
Advance 3D Graphics
Sensor Support
Plugins
Robot Models
Command Line Tools

2.2 Rviz

Rviz is used to visualize the urdf, sensors and their data in 3D environments. Means to say if lidar is fitted on the robot in gazebo, then we can visualize its scan data with the help of Rviz. With the help of scan data map can be build and visualized and then used for autonomous navigation. This can represent IMU, laser scan etc data graphically as well. The coordinates are called frames in Rviz. Many displays can be selected in Rviz to visualize the data from different sensors. ADD  button when clicked we can display any data from sensors. The reference and ground position will be given with the help of grid. From sensor/Laser, scan data can be displayed. The position given by program is displayed by Point Cloud. Axis can be displayed with the help of reference point. The initial display of Rviz is given below in Figure

2.3 Autonomous SLAM

The primary aim of the automated robot model is finished the SLAM and then indoor SLAM needs the automated cleaning vehicle to begin operating from an unspecified location and construct map by evaluating the location throughout the development. Simulation constructing analysis environment and convey movement command data through the computer console to handle the automated cleaner to shift in environment. The autonomous mapping is carried out through the exploration technique known as frontier based technique in which frontiers are search one by one to create map of the environment.

2.4 Autonomous Navigation & Path Planning

After generating the map of environment, we check the practicality and adequacy of automated cleaning robot navigation, determine the goal situation in ROS visualization tool like Rviz. ROS Navigation proceed the present location. then goal location are joined with map to generate a global path way, as well as indicated by the current movement velocity and bearing in the development of robot, the ideal velocity of every movement cycle is managed, as the local path plan. When a global plan is generated the local planner makes this path into velocity orders for robot’s actuators. It is done by making a worthy justification all over the robot, examining and simulating directions inside this capacity, getting every simulated direction dependent on its normal result, conveying the most noteworthy getting direction as a velocity command to the automated cleaning robot and rehashing until the achievement of goal.  








No comments:

Post a Comment

Pages