Random Image

1.jpg

Login Form






Lost Password?
No account yet? Register
powered_by.png, 1 kB
Home arrow Blog
A blog of all sections with no images
Prof Chris Rogers Robot Talk Thu 13 Mar PDF Print E-mail
Written by RichardJones   
Thursday, 06 March 2008
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 PDF Print E-mail
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


DAT

'
'
' Assembly program
'
              org

asm_entry     mov       dira,asm_dira_us                'make pin p1 (ADC) output

              movs      ctra,#0                         'POS W/FEEDBACK mode for CTRA
              movd      ctra,#1
              movi      ctra,#%01001_000
              mov       frqa,#1

              mov       xpos,#0
              
              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

              jmp       #:loop                          'wait for next sample period
'
'
' Plot
'
plot          mov       asm_mask,#1                     'compute pixel mask
              shl       asm_mask,x
              shl       y,#6                            'compute pixel address
              add       y,asm_pixels
              shr       x,#5
              shl       x,#2
              add       y,x
              rdlong    asm_data,y                      'xor pixel
              xor       asm_data,asm_mask
              wrlong    asm_data,y

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 PDF Print E-mail
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 PDF Print E-mail
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.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

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).


Here's a copy of the powerpoint.

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 PDF Print E-mail
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!

When: 6.30 - 9.30pm 3rd Monday every month.

Why: Because its fun, interesting and educational.

How: Come along and find out, or join our email list: http://lists.ourshack.com/mailman/listinfo/chchrobotics/span/p 
Last Updated ( Monday, 16 May 2011 )
 
Micromouse PDF Print E-mail
Written by Hanno   
Tuesday, 06 November 2007

Micromouse Challenge at ChchRobotics

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.

Last Updated ( Wednesday, 14 November 2007 )
 
<< Start < Prev 1 2 3 4 Next > End >>

Results 31 - 39 of 39
© 2012 KiwiBots- Christchurch Robotics Club
Joomla! is Free Software released under the GNU/GPL License.