Let's Make Robots!

"Miranda" - Laser Scanner using Wii-Mote Camera, Xmas Bauble & Propeller

Investigates the Festive environment with a Festive Twist

I present to you "Miranda" , a laser scanning Robotic system using a Wii-Mote Camera and Festive Reflective Xmas Bauble.

My previous "Halo" Experiments have been progressing at top speed....... and required a fitting Robot for it to be fitted too, it was a case of  "Honey i shrunk the robot"

I wanted a friendly Xmas Table-Top robot (a lady friend for Brian) ....... that could negotiate around the Xmas Turkey/Nut-Roast, stuffing, Cranberry sauce etcetcetc.

The Videos contains the Build information and the scanner out_putting raw data to Debug monitor.....

.....also assorted trial and error videos and landmarks during build....

Why "Miranda" ......see the last Video......

Before you wear your mouse out trying to find the Autonomous Video (there aint any yet)........ yet

Story so-Far :-

Yes thats a mesmerizing sparkle in her eye..

Top is the Continous Servo driving a Mirror on a Pivot

(so you can adjust the size of you Halo on the floor).

Beneath that is the Low-Power Laser.

The Golden-Reflective Xmas Bauble ...or the

" Pièce de résistance "

 Hacked Wii-Mote on neat breakout board

PPPB Motor driver board

From LMRs Chris the Carpenter 

Mini Prop Undershield (and Arduino Too!)

I highly recommend this board ....solid...flexible...purple.

... Chris describes it as an Under-board....butbutbut....

....its much better showing itself off on top YAY

This is why the MDA Propeller RBBB Board.... sits underneath.

Chassis is also from CTCs RocketBrand laser cutting service

........Laser cut Plexiglass callling out for side lighting....

With 2 x GM10 motors......ok next time plexiglass will get cutouts or mounting brackets.....(no hot glue)

Green coaster  is one-half of a smoke bomb firework .... slippery plastic....works wonders.

Chassis works well and drive tracks straightline without software adjustments YAY.


Iteration 1

My first attempt to make sense of the data ...

... circa 1024 dots (no quoting here please) around a 200mm (new money)  8" (old money) laser circle.

The output debug screen below shows just half of the circle and i have reduced the number of sampling points for clarity.

In a perfect world with no obstacles the robot will see a perfect circle......

.... In the other world obstacles prevail..... you can see odd pixels missing and others off the track..

These odd pixels are in fact objects being detected... sometimes they are pushed in or out of the circle ...other-times there are eaten by the object....

Here is the general detect idea.......

... Wii camera likes to see dots of laser light so its really smoking when there are no obstacles....

... When an obstacle is spotted the wii camera loses the laser dot (because the object blocks the reflection back to the wii camera), this presents a problem because the wii reports back with null reading (and that is not "0,0" but "1023,1023")...so you have to log the previous last good reading (ie the one before the 1023,1023) , then the edge of the object is found YAY.

Software strategy is to not to find the object but to detect "Blanks" (wii failed to detect errors) in the field of view....

It works "ok" however if anyone out there has any other strategies that could work then dont be afraid to blog them below.

It works "ok" however if anyone out there has any other strategies that could work......

.....then i would be "all ears" to see them blogged below..

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Yes but does it output G-23 Paxilon Hydrochlorate?

My Miranda alias is Rumbled.......nice catch MnGeeky

Quote (with artistic licence) :-

Once thought only to be fictional, Miranda in fact was an experimental colony where the Alliance tried to chemically (G23) modify its populace to be peaceful. This worked perfectly; it eliminated violence, but in the process it had a fatal side effect. The inhabitants lost all ambition—they stopped doing any work, stopped talking to each other (via shoutbox), stopped reproducing and eventually stopped even feeding and drinking coffee.

For 0.1% of the population it had the opposite effect and caused extremely Robotic behavior, beyond mere psychosis but Polymorphism. The "survivors" of Miranda were the LMRs who then started to menace the Rim planets.

Just sent out emails to optic manufactures

trying to get a price and minimum order on Quartz tubing. Will let you know if it's any good,

If it works I will mail it to you.

first fail , i went to e-bay ,plexy / acrylic tube 70mm OD 5mm thick ,1000mm long ,i took 1 look at the tube and i could see

  • distortions from extrusion marks
  • and the tube was not a perfect circle
  • refraction due to thickness  

.so set up is Arduino uno ,RBS wii cam board 1mW laser ,custom processing debug program looks like what you use Gareth, same idea .i experimented for hours

  • tube reduced wii cam's sensitivity  
  • 1mW laser to week  (10mW may solve first problem )
  • few results overall :)

when the wii cam is out of the tube it works like a charm , 1mW laser still a bit hard to pickup but far more results than in the tube

possible fix

  • better made thinner non IR absorbing  tube  ( sapphire i hear is good ? )
  • stronger laser

other idea

  • mount the cam under the spinning mirror 

from hear .

  • new laser 10mW ,
  • find new problems
  • scratch head 
  • drink coffee


WOW......you are undreway......thats good to here...

Just quickly did you know that you can adjust the sensitivity of the Wii camera. search "inio" settings for the camera.(i have throw  all others out)

I have not used Arduino/Wii system (so its encouraging that you are getting at least some data YAY)

I would not worry about distortions in the tube as they can be ironed out via software.

What i would see as a hinderance is the "Echo" signals coming out of the tube.. ie depending on angle you will get anyway one strong defracted beam and a lesser beams (echos) depending on thickness of tube (though the wii  should single out the strongest)

I use a 5mw laser and it throws a 2.5mm dot on the floor.

I have thought about mounting the laser direct to the overhead motor (provided it does not go at top speed)

the gain setting is set in the initialization faze byte 8 , looking over the cpp file in the Pvision library, i think ive found the place to change it so i can increase the gain  as long as the gain limit byte is less it will work (byte 1 of block 2 ),

as is seating, gain is (0xC0 ,192 ) lower the number the higher the gain ,useful between 15 - 254 ,and gain limit is at (0x1A ,26)

blob minsize is set to (0x40 ,64) , the Wii uses values between 3-5 so if i have read this library right this will need to be changed as well .64 is a bit much compared to the wii it's self  , i need to confirm this with some experimenting . never changed a library before scarey stuff but im just changing values not a re-wright it will be cool   

Awesome tip  Gareth Thanks :)

today's result well now the gain is up ,

the tube idea is a  fail, internal reflections .and external reflections , it has blind spots at certain angles and "echos"

and a 1mw laser is too week

Would a clear acrylic tube work to house camera and laser transmitter?

Then you could cut the bauble in half put one half in the middle and the other at the top, Mount the continuous Servo driving your  Mirror in the middle just above the first half of the bauble at a 45 deg angle then reflect the laser onto the top half of the bauble.

this would lower robots centre of balance and you should be able to lower the overall hight


I love the concept of a halo sensor and will be watching your progress with envy

Keep up the good work 

Clear acrylic tube could possibly work ( Chuck Crunch has something like this in mind too,,,,will wait to see how his works out first).

It would also give it a neater look......biggest challenge is to iron out and "blind spots".

My only concern is the losses that the angled laser light will expeience ..... laser light tends to highlight imperfections and scatter the light, certainly plexiglass (my chassis above) does a good job at this.

Mirrored surfaces are high on my "Wish List" ---- cutting a fine glass bauble is not for the faint hearted. 

Glass mirrored spot lights could also be used and would be more uniform... maybe easier to cut.

The height and top load (servo-laser) is a concern for me too, if you stop quickly and go straight into reverse then it will topple...to get around this i have balanced the weight more towards the back of the robot and angled the chassis down towards the back ...and this produced a stable platform...after all its only 125grammes..

Thanks for your suggestions....