Freeduino based robots
To make sure the software can be tested on a swarm of quality robots it was best to create our own. To do this first some requirements based on the USE principles needed to be set:
- Robustness: Robots need to break down as minimum as possible.
- Speed: Robots need to work at reasonable speed but still have enough torque to deal with obstacles etc.
- Tools: Because the robots need to move object some sort of shovel can be attached.
- Sensors: Robots need to be able to know where the others are, know where obstacles and objects are and be aware of current speed, acceleration and direction.
- Communication: The robots need to be able to communicate with eachother using a wireless network.
Finnaly a hardware component needs to be added to connect the actuators with the software.
To make sure the robot is robust a sturdy chassis was chosen and therefor tank treads will be attached instead of wheels. This requirement is of great importance for the design of the robots due to the terrain that they need to work and function in, as can be read in the scenario. This requirement also has a direct link with the Flexibility requirement for the enterprise and the Care requirement for the user, as can be found in the USE principles.
To control the speed and torque of the robot twin motor gearbox was chosen with several configurations ranging from 58:1 to 203:1 using an rpm of 72 to 374. This requirement has a direct link to the user requirement Care, the enterprise requirement Efficiency as can be found in the USE principles.
No Tools Chosen yet
The sensors are the eyes and ears of the robots and will be the input for the software of the robots. To make sure the robot is aware of objects an analog distance measurer using infrared was chosen with a range of 100 to 800 milimeters and a response time of 38ms. This sensor will be attached to a HobbyKing 928BB Servo to make sure the distance can be determined in several directinos without turning the robot.
Also to track speed, acceleration and direction the Pololu MinIMU-9 Gyro, Accelerometer, and Compass can be attached. Using both the infrared sensor and this sensor the relative place of each robot can be determined. Further reading on this subject can be found in robot control software.
The sensors are basically linked to all the requirements based on the USE principles, since this is the input from which the robots will act.
For the connection between actuators and software the SB-freeduino will be installed. This microcontroller uses a regualr usb-b or mini-b jack for communication with a laptop and a power switch to turn it on and off.
The SB-freeduino runs at 16MHz. there are 13 digital I/O pins from which 6 have PWM and 6 analog inputs. Power comes from the external 6-20VDC power supply. When conneted to a pc a 500mA resettable fuse will protect the pc from power spikes.
On this microcontroller the Arduino 1.0 optiboot bootloader is programmed, this means programming can be done using the Arduino IDE using the Arduino Uno board as board option.
The manual can be found at File:Freeduino manual-mar14-2012.pdf
To make sure the robots can communicate with eachother an Xbee shield can be added to the SB-freeduino board. On this the Xbee itself can be added. To configure and debug the communication protocol the open source software called XCTU can be used.
All these parts combined will cost $138.95. However due to shipping cost the total price for three units will come to $571.51 or €539,54. The following picture gives an indication of the robot when done:
Back to: PRE2015 2 Groep1