Mobile Robots Exploration And Mapping in 2D
Abstract – In this paper, we present a system for multi-robot mapping of an unknown environment, taking into account the communication constraints between the robots. The objectives of the robots are to explore the whole environment as a group, while maintaining communication with base computer throughout the entire exploration. Our method was implemented using a mobile robot equipped with a sonar range finder, a communication unit, and a software module. The robot performs collision free navigation, dynamic object detection, data collection, and communication with a base computer. The base computer is accountable for data processing, and map construction from the data received from the robots. This work demonstrates that multiple robots can improve overall mapping performance of an unknown environment.
The ability of a mobile robot to move freely, avoiding obstacle, collecting data while exploring the environment, and transferring these data to a host computer are considered challenges in this work. In this paper, we applied a system consisting of simpler, smaller robots and a host computer. This system is capable of exploring, gathering information in an office-like environment, and construction of a map from data collected. The approaches we used required two simple tasks. These are: mobile robots task and host computer task. The object avoidance capability on the mobile robots is based on the algorithm using heading range information provided by front mounted measuring sonar device. A transmission of data between mobile robots to a host computer, we used communication unit installed on each robot as well as on a host computer. Subsequently, our mobile robot can be developed to add the capabilities to localize itself in an unknown environment as well as the ability to create the local map from the data collected during the exploration.
We built two mobile robots for this experiment based on DFRobotShop Rover V2-Arduino Compatible Tracked Robot from RoboShop. The robot was fitted with a Seeed Ultrasonic Sensor, a distance measuring module and a Bluetooth/XBee communication device. The Seeed Ultrasonic Sensor provided detecting range from three centimeters to 400 centimeters at 40 kHz frequency. The Seed Ultrasonic Sensor is positioned in front of the robot on a simple servo-based pan system. This sensor provides three measured distances in front of the robot in 180o sonar scan coverage. The software module uses the ARDUINO IDE framework which is an open-source used for programming electronics prototyping platform developed and supported by Arduino. This language incorporates high-level features that facilitate the development of parallel and event-based applications. On each mobile robot and a host computer we implemented a Bluetooth/XBee communication unit to ensure a constant communication link between the two. On our host computer we also installed Putty release 0.63, a Telnet/SSH client for Windows and terminal emulator.
The navigation algorithm was developed to keep the robot moving safely in the environment. The designed is based on the concept of even-driven terminology. That it reacts by moving forward, turning left/right, or stops and reverse to avoid obstacle and maintain a minimal distance from objects. This behavior is useful as the accuracy of the sonars is maximized in the proximity of detectable objects. This is important due to the fact the robot sonar range sensor is the only way to obtain information about the environment. To ensure the robot can move freely in the unknown environment we separated its boundaries based on the circular arrangement of the sonars. This is to guarantee that 2014 ASEE Zone I Conference University of Bridgeport Student Poster Abstract April 3-5, 2014 obstacle avoidance was implemented by limiting the space around the robot into appropriate sensory regions. The area in front of the robot was divided into the safe zone and the critical zone. The critical zone has distance less than fifteen centimeters from the front of the robot. Safe zone is located between fifteen to twenty centimeters from the front of the robot. An object in the critical zone causes the robot to turn appropriately to avoid collision.
Forward motion: The robot is designed to move forward in a straight line in a fixed distance of twenty centimeter at a time. If obstacle is not detected, the robot is continuously assigned another target distance (Yn+1 = 20 centimeters), which results in uninterrupted forward motion. At the end of each target distance the robot scan for sample points for X1, X2, and X3 then transferring X1, X2, and X3 to a host computer for storage and processing.
Obstacle avoidance: To avoid any obstacle in the given environment robot1 is preprogramed to always turn to its left and robot2 is to always turn to its right at 90o angle. For example, when robot1 detected and object in the critical zone. Its reaction is to stop then backup for ten centimeters, measure front distance X2 must be greater than fifteen centimeters then make a left turn. It then moves forward for another twenty centimeters, stop, X1, X2, and X3 if no object in the critical zone makes a right turn, moves another twenty centimeters and makes a left turn to continue on its straight path. However, Robot2 turned the opposite way, right – left – right when obstacle is detected in its critical zone.
To ensure a reliable communication in the system we implemented a Bluetooth/XBee communication unit, which guarantee a constant communication link between our mobile robots and a host computer. During the exploration both the robot and a host computer constantly maintained its communication link. Transmissions of data(X1, X2, and X3) from the exploration robot are to be sent at the end of each target distance.
Communication to base station:
If multiple robots are used Enable system clock each cycle 100 milliseconds
1st system clock cycle enable transmission from robot 1
2nd system clock cycle enable transmission from robot 2
The system clock is continuously running to allow data transmission from each robot to the host computer until the end of exploration.
We have tested our robots system in partial corridor environment (fig. 1). The transmission of data from the robots to the host computer was working as expected (fig. 2 show map generated from robots sensor data), as well as our robots objects avoidances capability. However the actual distances compared to measured distances are not exactly the same. The inaccuracy in measured data is contributed from system noises, the speed of the servo-based pan system, and the vibration associated with the ways servo system move. Other problems are the wheels slipping and wheels friction, which contributed, to the robots off course movement behavior.
Potential future enhancements to this project include:
-Implementing EKF-SLAM algorithm to enhance its capability and usefulness on these robots.
-Web enables to allow multiple users to access data from difference locations.
-Implementing laser scanner for more accurate measurements.
Keywords: SLAM, mobile robot, mapping, obstacle avoidance.
The ability of a mobile robot to move freely, avoiding obstacle, collecting data while exploring the environment, and transferring these data to a host computer are considered challenges in this work. In this paper, we applied a system consisting of simpler, smaller robots and a host computer. This system is capable of exploring, gathering information in an office-like environment, and construction of a map from data collected. The approaches we used required two simple tasks. These are: mobile robots task and host computer task. The object avoidance capability on the mobile robots is based on the algorithm using heading range information provided by front mounted measuring sonar device. A transmission of data between mobile robots to a host computer, we used communication unit installed on each robot as well as on a host computer. Subsequently, our mobile robot can be developed to add the capabilities to localize itself in an unknown environment as well as the ability to create the local map from the data collected during the exploration.
We built two mobile robots for this experiment based on DFRobotShop Rover V2-Arduino Compatible Tracked Robot from RoboShop. The robot was fitted with a Seeed Ultrasonic Sensor, a distance measuring module and a Bluetooth/XBee communication device. The Seeed Ultrasonic Sensor provided detecting range from three centimeters to 400 centimeters at 40 kHz frequency. The Seed Ultrasonic Sensor is positioned in front of the robot on a simple servo-based pan system. This sensor provides three measured distances in front of the robot in 180o sonar scan coverage. The software module uses the ARDUINO IDE framework which is an open-source used for programming electronics prototyping platform developed and supported by Arduino. This language incorporates high-level features that facilitate the development of parallel and event-based applications. On each mobile robot and a host computer we implemented a Bluetooth/XBee communication unit to ensure a constant communication link between the two. On our host computer we also installed Putty release 0.63, a Telnet/SSH client for Windows and terminal emulator.
The navigation algorithm was developed to keep the robot moving safely in the environment. The designed is based on the concept of even-driven terminology. That it reacts by moving forward, turning left/right, or stops and reverse to avoid obstacle and maintain a minimal distance from objects. This behavior is useful as the accuracy of the sonars is maximized in the proximity of detectable objects. This is important due to the fact the robot sonar range sensor is the only way to obtain information about the environment. To ensure the robot can move freely in the unknown environment we separated its boundaries based on the circular arrangement of the sonars. This is to guarantee that 2014 ASEE Zone I Conference University of Bridgeport Student Poster Abstract April 3-5, 2014 obstacle avoidance was implemented by limiting the space around the robot into appropriate sensory regions. The area in front of the robot was divided into the safe zone and the critical zone. The critical zone has distance less than fifteen centimeters from the front of the robot. Safe zone is located between fifteen to twenty centimeters from the front of the robot. An object in the critical zone causes the robot to turn appropriately to avoid collision.
Forward motion: The robot is designed to move forward in a straight line in a fixed distance of twenty centimeter at a time. If obstacle is not detected, the robot is continuously assigned another target distance (Yn+1 = 20 centimeters), which results in uninterrupted forward motion. At the end of each target distance the robot scan for sample points for X1, X2, and X3 then transferring X1, X2, and X3 to a host computer for storage and processing.
Obstacle avoidance: To avoid any obstacle in the given environment robot1 is preprogramed to always turn to its left and robot2 is to always turn to its right at 90o angle. For example, when robot1 detected and object in the critical zone. Its reaction is to stop then backup for ten centimeters, measure front distance X2 must be greater than fifteen centimeters then make a left turn. It then moves forward for another twenty centimeters, stop, X1, X2, and X3 if no object in the critical zone makes a right turn, moves another twenty centimeters and makes a left turn to continue on its straight path. However, Robot2 turned the opposite way, right – left – right when obstacle is detected in its critical zone.
To ensure a reliable communication in the system we implemented a Bluetooth/XBee communication unit, which guarantee a constant communication link between our mobile robots and a host computer. During the exploration both the robot and a host computer constantly maintained its communication link. Transmissions of data(X1, X2, and X3) from the exploration robot are to be sent at the end of each target distance.
Communication to base station:
If multiple robots are used Enable system clock each cycle 100 milliseconds
1st system clock cycle enable transmission from robot 1
2nd system clock cycle enable transmission from robot 2
The system clock is continuously running to allow data transmission from each robot to the host computer until the end of exploration.
We have tested our robots system in partial corridor environment (fig. 1). The transmission of data from the robots to the host computer was working as expected (fig. 2 show map generated from robots sensor data), as well as our robots objects avoidances capability. However the actual distances compared to measured distances are not exactly the same. The inaccuracy in measured data is contributed from system noises, the speed of the servo-based pan system, and the vibration associated with the ways servo system move. Other problems are the wheels slipping and wheels friction, which contributed, to the robots off course movement behavior.
Potential future enhancements to this project include:
-Implementing EKF-SLAM algorithm to enhance its capability and usefulness on these robots.
-Web enables to allow multiple users to access data from difference locations.
-Implementing laser scanner for more accurate measurements.
Keywords: SLAM, mobile robot, mapping, obstacle avoidance.