Let's Make Robots!

jip's blog

New controller board

Hello, it's been a really long time, since I last posted something on LMR, but now I've made a new controller for my robot and I thought I'd blog about it.

The controller features

Back in business

It's been quite a while since I've been active on LMR. I have been working a lot on Java programming instead of my robots, but now I'm back with new ideas for my "Robot Hansen" robot who will get a serious upgrade from his current picaxe 40x1 chip: He will have a LEGO NXT controller as main brain, a cmucam3 for vision, several ATtiny26 based sensors and actuators. All this because he will probably be going to DTU Robocup 2010.

Tiny adventures in motor control

Since my last blog entry about using timers and interrupts on the Atmel Tiny 26P, I have put together a driving lego monster with homemade dual h-brigdes that in principle should be able to eat something like 25A or so - of course the wires used are not able to carry that much current but hey I only had those IRF540 and IRF9540 hexfets lying around :-).The controller is still the Tiny26P and my goal is to make this my I2C enabled motor driver for later use with other stuff.

Fun with timers and interrupts on Atmel Tiny26

A long time since my last post on this site... Anyway I've been experimenting a little with my Atmel Tiny26 uC today using AVR Studio 4 for development and the AVR ISP mkII programmer to program the uC.

Gathering experience with homemade PCB

Oi, yesterday and today I have been trying to make a homemade PCB using Eagle for designing the PCB and printing with a laser printer onto some glossy advertisement paper from junk mail. After several attempts I still haven't gotten a good transfer of toner to the PCB (check images) and I'm wondering if I should just design my PCBs and then send the design files off to Olimex for production

dsc00773.jpg

AVR is in the house!

Last week I purchased the AVR ISP mkII programmer for the Atmel AVR series of chips and I had previously bought some ATtiny26 chips for use in motor controllers, line sensors, etc.

New stuff to play with (oh joy oh joy)

Today I received my CMUCam3 which is a small ARM7 based thingie with a camera and 4 servo connectors amongst other stuff. I'm hoping to get some time to dig out my old image processing books and make some interesting stuff. Would be nice to have something follow the cat around and give him some exercise :-)

I'm amazed at how small the board is. I think it is actually smaller than the picaxe 28x dev board - of course it is higher since it has a sub board with the camera attached to it.

Stanley from DARPA challenge

Yesterday I went to the danish exhibition that is featuring Stanley - winner of the DARPA desert challenge some years ago (2006 maybe).

Now that's an awesome robot with some fancy equipment! I think it had 5 or 6 laser range finders on the roof constantly scanning the profile of the road in front of it and mixing this together an image from a camera on the roof of the landscape far ahead in order to recognize flat surface for driving on. It is based on some sophisticated machine learning algorithms so that it can adapt and learn from what it sees with its sensors

Bad robot!

Today was the qualification round of DTU robocup. My robot did not do very well at all - it tied with 7 others for the last place - getting 0 points!

When testing the robot on the robocup track the first thing that was wrong was that the lighting was so bright, that the sensors were all fully saturated all the time and thus couldn't see the line. That problem was somewhat solved by adding a lot of cardboard and tape plus some clothing on top to keep the light out.

Line sensor ready!

I have finished soldering the line sensor for my line follower for DTU Robocup. I really hope it works since I haven't tested anything during assembly :-D.

Check the awesome soldering, lol!

DSC00139.jpg

DSC00140.jpg

New line sensor

I had some problems with the 36 KHz detector when trying to read it from the picaxe, so I have switched to using 4 infrared photodiodes in a feedback setup with two LM358 dual opamp packages as shown in the following image (for one photodiode only):

linedetector.jpg

This gives an analog reading and I will use this for linear interpolation between the sensors to determine where the line is relative to the robot center.

Simple test with PICAXE and a monster truck

Just tried out controlling my radio controlled monster truck with the picaxe. It's a simple test run of forward, turn left then right and then stop. I put the car in a spot that almost made it reach the bathroom :-). Notice how the breadboard almost flies off when the car turns... a really solid construction! :-)

bonzer_monster.jpg

I'm looking forward to making something useful out of this car... it can go pretty fast!

Dang! I can't seem to embed video in a blog post???

36 KHz modulated infrared light detector

I have started working on a new robot that is mainly based on LEGO MINDSTORMS NXT. This robot is aimed at participating in DTU robocup 2008 but time will tell if it will be finished in time. Anyway in robocup the robot must at least be good at following a black line and preferably it should be able to accomplish other of the tasks at hand as well, and this is just not feasible using the standard LEGO sensors and the very limited number of these it can use at one time.

Oh no the horror!

After testing the motor driver and writing some code to control the robot based on line sensor input, I tried it out... Nothing seemed to happen so I double-checked the PICAXE 40X1 schematics with my robot's wiring and I have completely forgotten, that the two L293 pins for enabling motors should be wired to PWM outputs (Noooooo!). I guess I'll have to get my soldering iron heated and perform surgery on poor Pete. I was so happy that all the hardware I had wired just worked the first time... and the I go and do something like this *sigh*.

Motor driver tested

Today I tested that the motor driver circuit of PICAXE Pete does in fact work. I'm now in the process of writing some code for line following using my standard technique: find out where the line is by taking the mean value of a histogram of the sensor values and using this to calculate a regulation term for each of the two motors.