The goal of Mr Hairy is to have him navigate around objects effectively while exploring the surroundings. In a previous life he also had four mechanical switches to detect when he ran into things. They kept breaking off as I had hot glued them on. I plan to put some short range sharp sensors on instead.
The video below shows that just one sharp sensor makes it hard to avoid things as the beam on the sensor is quite narrow plus at this stage the code isn't very smart. The sensor sits on a servo and scans left-right for anything too close. If something is in front the robot will turn to avoid it but it doesn't work out the best way to go or the angle where the obstacle was detected.
Here is the first attempt at getting around in the kitchen. He gets completely stuck on a tin of paint.
I soldered some capacitors on the motors to help with noise suppression with the for the motors. Then screwed the motors, wheels and encoders onto the RRC04A chassis. The Pololu motor driver was held down with 3M picture hangers. These are like super Velcro.
The servo was also mounted on the front with some 3M sticky Velcro and the Sharp sensor was stuck on the servo horn and the battery pack mounted on the back with more 3M stickies.
Here's what it looks like from the back.
The motors are driven by the Pololu qik2s9v1 motor driver at 7-9v depending on the batteries which are wired to the motor driver. In the video above they are only running at 70% power.
The batteries are plugged into the DC jack socket of the Arduino board. It's on board regulator is used to power the servo and the sensor.
Mr Hairy is not very good at getting around. The 4-30cm range of the sharp sensor doesn't give much time to react to things in front. Also, the code doesn't work out where the obstacle is, only that it is somewhere in the servo's sweep.
I plan to add some short range sharp sensors to detect objects to the side and behind the robot and either use another longer range sharp sensor or an ultrasonic to detect front object. The code will be changed to determine where the obstacle is in order to make a better decision on where to turn.
- Pololu RRC04A Chassis
- Pololu 42x19mm wheel and encoders (encoders not used at this stage)
- Pololu Ball Caster 3/8"
- 30:1 Low Power micro metal gearmotors
- SPST mini switch
- Sharp 4-30cm Distance Sensor
- 3 pin JST cable
- Arduino Protoshield
- Pololu Qik 2s9v1 Serial Motor Driver
- An old Arduino Duemilanove
- Power HD 1900A micro servo
- 0.1uf Capacitors
- 3M Sticky Picture hangers. Ones with Velcro.
- Bluetack to hold wires out of the way.
- AA x 6 Battery Holder Cube
- Barrell jack connector cut of power adaptor somewhere
- Standoffs from somewhere. About 30mm.