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.