The past few months I’ve been working on the project for the Digilent Design Contest so I was quite busy. Together with my colleague Dragos I worked allot on this project but the results were great, our project the BlueRover won the 1st place so I say it was well worth it. First of all Digilent provided most of the parts needed for the project like :
The idea of a remote controlled rover excites almost every electronics student and when we heard about the Digilent contest we realized that we have the possibility to make such a project real. We decided to build our own remote controlled rover but it had to be different from what we’ve seen before. We came up with the idea that we could control the rover by using accelerometer data and that we could use a second accelerometer placed on the rover to sense the driving surface.
I handled the Rover with the sensors and my colleague took care of the control unit which is a Nokia E55 smartphone running a custom application in Python. The principle is simple the control unit sends acceleration data to the rover every 100ms thus controlling the movement of the rover. The rover reads data from the on-board sensors (CO, LPG, Temperature, Accelerometer, and Battery) and sends it to the control unit every 100ms. The control unit receives sensor data from the rover and reacts according to the rover accelerometer by vibrating on each bump sensed by the accelerometer. At the same time the control unit displays sensor data on screen.
I’m not going to go into details about the source code or the specs of all the boards we used in this project but you can find those in our report which I’m linking at the end of this article. I would like to add that Digilent RO did a great job in organizing this contest, it was a really great experience to be there and I’m sure we’ll be there next year too.
This article will be followed up by one dedicated to the BTM180 and BTM222 bluetooth modules from Rayson. Due to the lack of documentation on this module it was really difficult to get them working and I would like to share my experience for those who are facing the same issues.
Remember the Loving Little Braitenberg Vehicle I wrote about last month? Well, it seems that it has an even smaller little brother that only weighs 17 grams. And besides being in love with light, this itty-bitty Braitenberg vehicle can also show a different behaviour – being ‘aggressive’ towards it.
The vehicle has its own custom PCB and has the ATtiny25V from Atmel as its brain. Motion is acquired using two pager motors that run in one direction only, so the vehicle can only move forward. The parts list also include the MPC1700 3.3V voltage regulator, 2 light dependant resistors (LDRs), 2 2N3904 transistors, two 1N4148 diodes, rubber tubes that are used as wheels and a few resistors and capacitors. The whole device is powered by a small Lithium-polymer 3.7 V with 100mAh battery.
The Braitenberg vehicle is controlled using two inputs provided by the light sensors and PWM signal. The microcontroller was programmed removing the resistors, a rather unorthodox method, but it seems to be working. The vehicle being so small and its wheels even smaller, it should be tested on a clean surface. Also, if the surface diffuses the light you may experience some problems because the light sensors might be tricked by this.
All in all, another little Braitenberg Vehicle that is… well, adorable . Schematics and demo video available in the link below.
One important parameter in robotics, one that can raise serious problems when trying to make things smaller, is the size of the parts you are using in building your robot. Because some indispensable pieces of hardware, like motors or batteries, have their sizes and even the smallest ones can be too big to use effectively, it is difficult to build a really small robot that incorporates all of these necesary elements. One solution to the problem could be to place these components outside of the robot.
This tiny robot uses an 18x Picaxemicrocontroller from Sparkfun, a micro serial servo controller, 2 high torque servos and 2 standard servos from Polulu and 2- 1/8″ x 1/16″ and 1- 1″x1″x1″ neodymium magnets (a detailed parts list is available in the link). The case of the robot is built from 3 metal cases made of .oo5″ thick phosphor bronze sheet metal and the volume of the robot measures less than 1/20 of a cubic inch. The robot only uses non-magnetic materials in its construction, including the glass bead wheels which are attached to brass pins on the bottom of the robot.
The reason for this is that the robot is activated using a rotating and spinning magnetic field. Two magnets are attached to an internal vertical pole that is bent to form one arm of the gripper. The robot can move forward and back, turn left or right, move the gripper, open or close it. The magnetic field is mounted on a CNC type machine and it can be moved and rotated horizontally or vertically. The four servo motors actuate the magnet which the robot follows. The serial servo controller receives commands from the Picaxemicrocontroller and sets the speed and direction of the motors.
Additional upgrades to the robot can include all kinds of sensors, like temperature or light sensors. An ingenious solution to a difficult problem, the Minuscule Gripper Robot could prove to be one step to microscopic robots of the future.
The Braitenberg vehicles, an idea developed by cyberneticist Valentino Braitenberg, are autonomous vehicles that move around using wheels and light sensors connected to them. Motion is acquired using only the interaction between the vehicle and its environment, without information processing or internal memory of any kind. Still, the Braitenberg vehicles appear to have intelligent behavior because they react to their surroundings, changing speed or direction accordingly. For that, they are regarded as the simplest form of behavior based artificial intelligence.
These vehicles can exhibit various types of behavior, similar to “aggression” or even “love”. Yes, that’s right, this is a tiny car that loves light. It follows the light source, turning after it and stopping when the light is powerful enough. The motors run at full speed if it’s dark and when light is detected by one of the sensors, the motor on that side is slowed down, so the vehicle changes its direction towards the light. When the light is bright enough, both motors are stopped and the vehicle remains still. If the light source is moved, the vehicle will start moving towards it as soon as the sensors detect the change of light intensity.
As most of these vehicles, this light-loving car is rather simple in design and hardware, using an Arduino Mini Pro on a 170 tie points Mini Breadboard, both from Sparkfun. For locomotion, the vehicle uses 2 HXT500 mini servos working at 3.7V from Hobbycity and 2 GM10 wheels from Solarbotics. Seeing is provided by 2 Light Dependant Resistors. Finally, the vehicle is powered by a 3.7V LiPo cell with 800 mAh from Sparkfun, which is enough for the Arduino Mini Pro working at 3.3V.
This has got to be one of the cutest cars I’ve seen, you can check out the demonstration video in the link.
If you’re into robotics then you must know about the sumo competitions between autonomous robots. Seeker II is one of the competitors who proved his good design in battle. In this project you will have all the information you need to build yourself a mini-sumo robot.
The Seeker II is using a PIC16F876 providing four analog to digital converters for sensors, timing functions, a PWM output to control the motors and also allows for future calibration, testing and debugging. The robot is equipped with two range finding sensor from Sharp, GP2D12, placed right at the front and connected to analog inputs A0 and A1 of the PIC. Other two Fairchild QRD1114 sensor are placed at the bottom and used as edge finders and are connected to analog inputs A2 and A3.
The robot comes with two wide wheels which offers a good amount of traction, each wheel having its own motor. The motors, Faulhaber 1717, are driven by a SN754410 h-bridge IC controlled by the PIC. If the EN input is set high than Y output of the h-bridge will be same as the A input, if EN is set low then the Y output is turned off on the SN754410. The PIC controls the speed of the motors with PWM.
Ports C7 and C6 are used for serial communication, to watch, test and debug software, as well as to read log files from EEPROM.
In the link you will find block diagram, schematics and code for microcontroller.