Thursday - March 13 - 5:00pm - Technology room at Science Alive (education entrance). Duration approx 1 hour.
Chris Rogers is a Professor in the Mechanical Engineering Dept. at Tufts University in Boston. He is the inventor and developer of the RoboLab programming language that is used worldwide to program robots using LEGO Mindstorms.
Chris spent 12 months during 2006-2007 working at a research institute in Switzerland, playing with very small robots and working with some rather novel data acquisition environments.
The talk is for a general audience who are interested in robotics and will include the following: - micron-sized robots swimming, sub-millimeter robots driving through an eyeball, and their award-winning sub-millimeter "soccer player" - a fruit fly to drive a robot around and avoidobstacles - some new innovations being developed at Tufts to increase the use of robotics in the college classroom as a way to teach engineering.
Last Updated ( Thursday, 06 March 2008 )
Propeller Ultrasonic VGA Demo
Written by RichardJones
Thursday, 21 February 2008
' ' Propeller Ultrasonic Send and Receive with display on a VGA Monitor ' ' by Richard Jones rjtp<atsym>ihug.co.nz ' ' V1.0 18th February 2008 ' ' This program uses the Propeller Proto Board ' ' The ultrasonic sender is energised briefly at the beginning of the scope trace. ' The ultrasonic receive signal is digitized and the samples are displayed on a VGA monitor, just like ' an oscilloscope with trigger from the emitted pulse. ' ' This program is based on the Microphone to VGA demo from Parallax. ' ' ' ┳ +3v3 ' 1n ' P0 ─────────╋ 0.1u ' 5k6 ┣────┐ ' P1 ───────╋ │ Receiver Sender \ ┌────────P7 ' 1n O| MA40A3R MA40A3S [] ' │ │ MuRata MuRata / └────────P6 ' 0v ─┻─────┻─ ' A-D Convertor Sender ' ' Note 1. R & C's must be v close to propellor pins. ' Note 2. Ultrasonic sender and receiver from Surplustronics in Auckland ' Note 3. A->D conversion details may be found here: ' http://www.parallax.com/Portals/0/Downloads/appnt/prop/AN001-PropellerCountersv1.1.zip ' CON
_clkmode = xtal1 + pll16x _xinfreq = 5_000_000
tiles = vga#xtiles * vga#ytiles tiles32 = tiles * 32 apin_sonic = 6 ' ultrasonic output pin a bpin_sonic = 7 ' ultrasonic output pin b (in antiphase to a)
OBJ
vga : "vga_512x384_bitmap"
VAR
long sync, pixels[tiles32] word colors[tiles], ypos[512]
PUB start | i
'start vga vga.start(16, @colors, @pixels, @sync)
'init colors to cyan on black repeat i from 0 to tiles - 1 colors[i] := $3C00
'fill top line so that it gets erased by COG longfill(@pixels, $FFFFFFFF, vga#xtiles)
'implant pointers and launch assembly program into COG asm_pixels := @pixels asm_ypos := @ypos cognew(@asm_entry, 0) repeat
CON
' At 80MHz the ADC sample resolutions and rates are as follows: ' ' sample sample ' bits rate ' ---------------- ' 9 156 KHz ' 10 78 KHz ' 11 39 KHz ' 12 19.5 KHz ' 13 9.77 KHz ' 14 4.88 KHz
bits = 9 'try different values from table here attenuation = 0 'try 0-4
averaging = 13 '2-power-n samples to compute average with
mov asm_cnt,cnt 'prepare for WAITCNT loop add asm_cnt,asm_cycles
:loop waitcnt asm_cnt,asm_cycles 'wait for next CNT value (timing is determinant after WAITCNT)
mov asm_sample,phsa 'capture PHSA and get difference sub asm_sample,asm_old add asm_old,asm_sample
add average,asm_sample 'compute average periodically so that djnz average_cnt,#:avgsame 'we can 0-justify samples mov average_cnt,average_load shr average,#averaging mov asm_justify,average mov average,#0 'reset average for next averaging :avgsame
max peak_min,asm_sample 'track min and max peaks for triggering min peak_max,asm_sample djnz peak_cnt,#:pksame mov peak_cnt,peak_load mov x,peak_max 'compute min+12.5% and max-12.5% sub x,peak_min shr x,#3 mov trig_min,peak_min add trig_min,x mov trig_max,peak_max sub trig_max,x mov peak_min,bignum 'reset peak detectors mov peak_max,#0 :pksame cmp xpos, #0 wz if_nz jmp #:not_start
' Initiate Output of a few cycles at 40kHz on apin and inverted on bpin ' mov dira,asm_dira_us 'set ultasonic pins to output mov phsb, #0 mov frqb, asm_frqb mov ctrb, asm_ctrb :not_start cmp xpos, #$20 wz if_nz jmp #:not_end ' mov dira,asm_dira_oc 'set ultasonic pins to open circuit mov ctrb, #0 ' disable 40kHz output pins
:not_end mov mode,#1 'flag pulse sent sub asm_sample,asm_justify 'justify sample to bitmap center y sar asm_sample,#attenuation 'this # controls attenuation (0=none) add asm_sample,#384 / 2 mins asm_sample,#0 maxs asm_sample,#384 - 1
mov x,xpos 'xor old pixel off shl x,#1 add x,asm_ypos rdword y,x 'get old pixel-y wrword asm_sample,x 'save new pixel-y mov x,xpos call #plot
mov x,xpos 'xor new pixel on mov y,asm_sample call #plot
add xpos,#1 'increment x position and mask and xpos,#$1FF wz if_nz jmp #:loop mov mode,#0 'if rollover, reset mode for trigger mov xpos,#0
plot_ret ret ' ' ' Data ' asm_cycles long |< bits - 1 'sample time 'asm_cycles long 380 'sample time asm_dira_us long $000002c2 'output mask p0=adc ip,p1=adc op, p6,p7 ultrasonic output asm_dira_oc long $00000200 asm_pixels long 0 'pixel base (set at runtime) asm_ypos long 0 'y positions (set at runtime) average_cnt long 1 peak_cnt long 1 peak_load long 512 mode long 0 bignum long $FFFFFFFF average_load long |< averaging
asm_frqb long $8000_0000 / 1000 'Set FRQ so PHS[xx] toggles @40kHz asm_ctrb long ( %00101_000 << 23 ) + ( bpin_sonic << 9 ) + apin_sonic 'Establish mode and APIN / BPIN asm_time long 0 asm_delay long 10
asm_justify res 1 trig_min res 1 trig_max res 1 average res 1 asm_cnt res 1 asm_old res 1 asm_sample res 1 asm_mask res 1 asm_data res 1 xpos res 1 x res 1 y res 1 peak_min res 1 peak_max res 1
Last Updated ( Friday, 22 February 2008 )
Wednesday 20th February 2008
Written by RichardJones
Wednesday, 20 February 2008
Christchurch Robotics Meeting: Wednesday 20th February 2008
The first meeting of the year attracted over 28 people, another good turn out with lots of new faces and an age range from 6 to, well I was too polite to ask. There were more youngsters in the group than ever before, so it may be worth considering whether we should lay on something especially for the really young ones. We are still fortunate to be able to use the Science Alive facilities and I am pleased to be able to give them a gold coin collection of $33.80. Thanks for your donations, they are appreciated. I have booked the Science Alive Seminar Room for the third Wednesday of every even numbered month for 2008, but do check out our site http://kiwibots.org just in case of any late changes. I had a wonderful time, very educational, thought provoking and many of us found it hard to leave. Thanks to everyone for coming.
Attending Robots and Topics
I (Richard Jones) brought along the propeller proto board that I won at the last meeting. Added to my proto board were interfaces cribbed from the Parallax Demo Board. See their web site for the circuits for TV Video (NTSC/PAL), colour VGA, Stereo Sound, and Microphone. The demos from the Parallax software worked well showing off these interfaces. I also showed an ultrasonic demo that I put together from a copy of the microphone circuit with the 100k resistor changed to 5k6 to make it go _much_ faster for the higher frequencies involved. The sender is driven from two port pins in anti phase, and receiver displayed the sound pulse varying in reception time on a scope style trace on the VGA monitor, the range is about 1m and could easily be extended. I'll post the code in a seperate email. By the next meeting I would like to have the ultrasonics and propeller chip mounted in a robot...
Carl also won a proto board at the December meeting and brought it along showing the VGA and PS2 keyboard interfaces running with a Sudoku game. Very nice, looked very polished and I'm sure lots of hours went into it. Thanks Carl. There are two more proto boards from the December meeting still out in the wild. Maybe we'll get to see them put through their paces next time.
William Wheelan (6) brought along his dad Stuart again. William talked us through how he and his Dad put together the soccer playing robot kits from DSE. He went on to give us a practical demo of the robots playing soccer under remote control. Thanks William for coming along and sharing your passion with us. Do come again if you can persuade your Mum do give you a late pass or persuade your Dad to run an earlier session!
Hanno brought along a plate of cookies and his Dancebot. Hanno gave us a fabulous presentation with insights into the complexities of getting a robot to balance on two wheels involving gyros, accelerometers and fuzzy logic, at the same time tempered with how much fun it will be to dance with when the camera gets going tomorrow. Sounds like it should Jive and ChaCha quite well if you have a belt buckle or 'T' shirt with a special pattern on it. We also got to see Hannos Viewport product in action demonstrating how to make the interfaces, maths and fuzzy logic visible on the Viewport screen while the robot was in action. Very cool.
Eric Cummins bought along another set of walking robot legs and a video of many sets of legs and a vast selection of assorted robots running around in his garage. These looked like serious beasts, a dinosaur, robots from old TV series, some shooting woooden pellets and balls. Some built to perform useful chores like pouring beer, sticking out tongues and shooting. Eric offered to have some of us round to see them close up. I'm keen. Here's the rub, Erics walking bots walk with a many jointed gait and have no processors. Very smart indeed.
All told a very lively and interesting session. If I’ve missed anything or corrections are required just email the group. Thanks to all who came, and especially those who bought items to share like robots, techie demos or food.
Our next meeting will be on Wednesday 16th April 7.30pm in the Science Alive Seminar Room. Keep and eye on http://kiwibots.org for late breaking news. Photos from me and Hanno to follow.
Last Updated ( Thursday, 21 February 2008 )
Wednesday 19th December 2007
Written by Hanno
Friday, 28 December 2007
The final meeting of the year attracted over 30 people, another record turn out with lots of new faces and an age range from 6 to, well I was too polite to ask. We are still fortunate to be able to use the Science Alive facilities and I was pleased to be able to give them a record gold coin collection of $38.90. Thanks for your donations, they are appreciated. I have booked the Science Alive Seminar Room for the third Wednesday of every even numbered month for 2008, but do check out our new site http://kiwibots.orgjust in case of any late changes. I had a wonderful time, very educational, thought provoking and many of us found it hard to leave. Thanks to everyone for coming.
Attending Robots and Topics
Peter Harris brought along his prototype robotic lawn mower again. Much changed since its last appearance, it has lost a lot of weight, acquired some very business like grass stains and under radio control gave us a good idea of its agility and speed. Thankfully its cutting blade made of a hacksaw blade was removed during the demonstration so no damage was done by those fortunate enough to be trusted to give it a try.
Eric Cummins bought along a mysterious shoe box and gave us a very entertaining talk about his experiences developing robotic walking legs, foraging in car yards for parts and applications for the disabled. The highlight was when Eric opened the shoe box and took out a pair of precision made robotic legs with torso that walked along the table, and with a slight of hand could be made to walk around corners. Eric has a DVD of his robotic adventures which hopefully we will be able to play at the next session.
Hanno Sander spoke about the Parallax Propellor processor used in his Dance robot. The processor is a tiny 44 pin device which has 32k words of RAM and eight parallel 32bit CPUs clocked at up to 80MHz delivering staggering performance and some very unusual programming characteristics. Hanno demonstrated how to program the device and execute code written in assembler or the built in Spin interpreted language. He also showed us his ViewPort programming environment. The ViewPort environment turns a PC running Windows connected to the propellor on a demo board into a 32 channel logic state analyser, with support for video and fuzzy logic. It is all nicely explained in this video: http://mydancebot.com/viewport/videos.php Hanno obtained four Proto boards from Parallax that were offered free to anyone prepared to bring them along to the next session with a working application. A number of names went into the hat and the lucky winners were: Carl Ranson, Andrew McDoughall, Rob Haughy and Richard Jones (honest it was all above board).
All told a very lively and interesting session. If I’ve missed anything or corrections are required just email the group. Thanks to all who came, and for the Christmas fayre eats that we enjoyed.
Next Meeting Our next meeting will be on Wednesday 20th February 7.30pm Seminar Room. Hopefully this will be a lively meeting with lots of moving robots, four working propellor demos and maybe a DVD of robotic legs. See you there!
Last Updated ( Wednesday, 05 March 2008 )
About Us
Written by Hanno
Wednesday, 07 November 2007
The Christchurch Robotics Group is a small informal friendly collection of people with a common interest. We meet at 6.30pm on the third Monday every month to share ideas, tips and experiences with robotics and loosely related technologies. Meetings are usually held in the Seminar Room at the back of the Science Alive building next to the print shop. A gold coin donation is taken to contribute towards the cost of the room which is generously provided by Science Alive. There are no membership charges, just turn up. Latest - While Science Alive is being repaired check the front page and mailing list fo details about our meetings.
Who:People of all ages and Robots welcome.
What:Robot Vision, Table Top Challenge, Line following, Micromouse and more.
Where: Science Alive, 392 Moorhouse Avenue, Christchurch. Google Map Enter from the car park side, 50m or so to the right of the main entrance. While Science Alive is being repaired we are looking for a good home!
The truth is that we don't have any functioning micromouse robots at the moment. Nevertheless a number of us in Christchurch are keen, and once we have one functioning mouse more will surely breed. We have a portion of maze which is handy for testing designs. I'll bring this along to each session, and when the need arises we'll see about procuring enough maze to run a New Zealand competition. (Any suggestions about how to buy, borrow or make a maze would be welcome). With no robots to compete against each other here are the challenges that we can run for individual mice learning their way towards maze solving.
1. Fastest lap time around an arbitrary sized maze rectangle.
2. Wall following to the centre of a simply connected maze.
3. Random maze exploration.
4. Full Maze solving.
Details of the micromouse competition rules, design ideas and alogorithms are widely available on the Internet. See our Links and Pictures sections.