UVBotsV2.0-Firmware, Framework to Program a Set of Mobile Robots using Three Levels of Knowledge
UVBotsV2.0-Firmware is a Framework implemented on FreeRTOS operative system in order to program a set of mobile robots. This framework considers three levels of knowledge on mobile robotics namely: basic, intermediate and advanced. Each level differentiates each other depending on the robot functionalities, and the data abstraction level related with sensors and actuators. Also, this framework includes the behavior based programming, which is used basically to setup robot applications quickly. Actually, UVBotsV2.0-Firmware is a registered software legally recognized by the Interior Ministry of Colombia. This document can be downloaded here.
The block diagram of each mobile robot is depicted in the figure at left, where the following properties can be observed:The CPU used is an ATMega64 running the FreeRTOS operative system.
Programs can be downloaded to the CPU using a RS232 link.
The mobile robots are able to communicate each other using Bluetooth.
The mobile robot has the following sensors: one PixyCam, four bump sensors, four light sensors, six infrared proximity sensors, and one IMU.
The mobile robot motion system is differential and it includes encoders with 562 ticks by revolution.
The user interaction system includes eight different colored LEDs and one buzzer.
The power system is composed by a rechargeable battery
The mobile robot can take a erasable marker in the bottom of the chassis.
The mobile robot chassis and the component arrangement can be observed in the figure at right. Here, the following properties are described:The infrared proximity sensors, and the light sensors are installed together in the four possible orientations.
The coordinate frame assumed by the IMU is also described.
The PixyCam is placed at top.
Control buttons and LEDs are placed at top-rear.
RS232, STK500 and battery charger connectors are placed at rear.
The UVBotsV2.0-Firmware is a framework to program each one of the eight different mobile robots. It is based on the FreeRTOS operative system. In order to satisfy all functional requirements of this platform, 10 different tasks were conceived namely: the main task, the user event task, the left and right wheel motion tasks, the perception task, the communication task, the odometry task, the IMU task, and the PixyCam task. All these tasks are executed concurrently. In addition, many of them share sensor information, then a common data structure is present in order to hold all control, sensor and motion information needed.
This software was developed for educational and service use. If you like more information, please contact me:
Prof. Bladimir Bacca Cortes Ph.D.
Address: Cra. 100, Street 13, Universidad del Valle, Melendez, Building 354, Office 1001.
Tel: +5723212100 Ext. 7656