This project contains different codes that have been used and developed by different teams that have been working on the MCECS-Bot in the last two years.
Arduino Uno Code
The code here is responsible for communicating with Arduino Mega 1 and send the sonars measurements to it. Arduino Uno are connected to Arduino Mega 1 and works as slave to it.
Arduino Mega_1 Code
This code has different control inputs. For instance, if “w” is written in the serial monitor, the robot will move forward and if “f” the robot will starts doing the wall following task. This code is made to receive control commands and make the robot move in different direction or achieve different tasks. Additionally, this code can receive commands to list some information about the robot state for example; if “e” printed in serial monitor, the program will return the encoder information (the same thing happened for LRF, Sonars and other states if the related letter is printed). The same principle is used to receive commands from MRPT. The MRPT sends messages and it will be interpreted to commands on the other side (Arduino Mega 1).
Kalman Filter is one of the most important algorithms that have been used with robots’ localization. It has survived for more than half decade and is still applicable for robotic applications. The diversity of examples give the readers a clear understanding to these different algorithms and concepts. Complicated subjects become easier to digest with easier and practical examples. Moreover, these examples are related to our robot. When the subjects become more advanced and closer to Kalman filter, the examples were about MCECS-bot and made from real data collected during robot operation.
When a comparison is done between MCECS-Bot and other guide robots, it is obvious that the system of MCECS-Bot is more advanced. MCECS-Bot is equipped with better sensors when it comes to quantity and quality. MCECS-Bot has Mecanum wheels which is the main advantage and the best feature of its base. The robot has more freedom of base motion and body behavior than traditional guide robots. It has more means to solve the localization problems that will be encountered by MCECS-Bot during its operation. This project will attract students to work on navigation and other guide-bots functionalities in the future.
Advanced Localization based on Extended Kalman Filter
The localization methods presented in chapter seven were about using EKF inside a room or in a short corridor. The one presented here is a robot’s localization in a building map. Simply, using EKF to estimate the robot’s position in a room but the initial position was in a different room. The information coming from encoders will be used to estimate the global position. On the other side, the information coming from the sonars is used to estimate the local position. Combining the global position with the local position using EKD will solve the problem of robot’s localization in a building map. Additional data can be accessed in the Samsung Galaxy tablet, which are accelerometer and compass data.
Reading Quadrature Encoder – Arduino Example
Speed Controlled by Quadrature Encoders – Arduino Example
Reading Quadrature Encoder – BasicATOM Pro Example
Speed Controlled by Quadrature Encoders – BasicATOM Pro Example