tag:blogger.com,1999:blog-232072693565730212024-03-06T13:14:53.629+13:00Electronic KiwiA blog about robotics and technologyElectronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-23207269356573021.post-17741679548538913082014-04-02T10:11:00.000+13:002014-04-02T10:11:18.793+13:00Review - Intermediate Robot BuildingI have just finished reading the book <b>Intermediate Robot Building</b> (2nd ed) by David Cook.<br />
<br />
I have read a number of robotics books, and this book was a pleasant surprise. The book title is a good match for the contents - this is not a general introduction to robotics for the beginner (that would be covered by Cook's other book), but provides useful information for the robotics hobbyist that has some experience.<br />
<br />
<br />
The first part of the book was a surprise - a few chapters are devoted to machining and workshop practice. Cook explains that in his experience robotics hobbyists are often familiar with programming and electronics but have little experience with building things, and machining in particular. Cook explains, in a good level of detail, how to go about simple hobby machining using a drill press or preferably a small milling maching. Attaching motors to wheels is a recurring theme. After reading these chapters I had some new information and could really see the benefits of having a milling machine available.<br />
<br />
The second part of the book covers electronic circuits. The chapters begin with an introduction to schematics and part selections, then jump into linear voltage regulators and implementing infrared obstacle detectors. A key benefit for myself was a good understanding of how, where, when, and why to add capacitors into circuits, and I must say I'll be using a lot more capacitors from now on. After dealing with logic chips and driving motors using transistors and mosfets with h-bridges Cook provides some useful information on selecting and using microcontrollers.<br />
<br />
In this book Cook provides several examples using actual robots he has constructed and runs through the construction of a small roundabout from beginning to operating.<br />
<br />
I'd recommend this book as a good read to almost any hobby robot builder, although complete beginners would probably benefit from reading another book first.<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center; vertical-align: text-bottom;"><a href="http://www.amazon.com/gp/product/1430227540/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&tag=electkiwi-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1430227540" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://ecx.images-amazon.com/images/I/51XlfHU58kL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" height="200" width="200" /></a></td>
<td style="text-align: center; vertical-align: text-bottom;"><a href="http://www.bookdepository.com/Intermediate-Robot-Building-David-Cook/9781430227540/?a_aid=wesedwards" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://cache1.bookdepository.co.uk/assets/images/book/large/9781/4302/9781430227540.jpg" height="200" width="185" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Buy at Amazon</td>
<td class="tr-caption" style="text-align: center;">Buy at Book Depository</td></tr>
</tbody></table>
<br />
<br />Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0tag:blogger.com,1999:blog-23207269356573021.post-66756548344812387012012-06-28T17:59:00.002+12:002012-06-28T17:59:55.646+12:00ERN-E 2.0If you have read some of the earlier posts about my large robot ERN-E you might recall I mentioned that it was rather large and heavy (20kg), and that I was thinking of a redesign to produce a smaller and lighter robot, more compatible with being in a house and around people.<br />
<br />
<b>Problems with ERN-E 1.0</b><br />
I had been thinking along the lines of getting a more compact drive train. ERN-E has some relatively large 300mm diameter wheels, originally intended to allow travelling over small bumps and steps. It turns out that any significant step creates a large lean as the robot is quite tall. <br />
<br />
The drive motors are from cordless drills, and while these work well the proverbial challenge for custom robot builders is attaching the motor to the wheel or drive-train. I found the easiest way was to leave the drill chuck on and tighten it onto the shaft of the pinion sprocket. The downside of that was the length of the motors limited the minimum width of the chassis and the placement of the motors.<br />
<br />
Connecting the motor and wheel is a chain, sourced as a spare part for a mini dirt motorbike. To avoid the complications associated with shortening the chain the motors were mounted some distance back from the wheels.<br />
<br />
The drive system worked reasonably well. The power of the motors was well matched to the size of the wheels and the weight of the robot. To drive the robot for any reasonable time I had a 12Ah SLA battery for the motors. To provide a clean power supply for the electronics I had a second battery - 7.2Ah. Together these batteries weigh 5.5kg, a significant proportion of the overall weight and a serious challenge to producing a lighter more compact robot.<br />
<br />
<b>What Does the Robot Do?</b><br />
I guess every robot builder has heard this question, and as some bright roboteer once said - It makes me happy. I enjoy robotics as a hobby, so allowing me to tinker with a robot and solving challenges is enough for my robot to do. My wife would like it to do all of the housework.<br />
<br />
That said, I would like to experiment with autonomous way-finding. That involves obstacle detection and avoidance, and SLAM (simultaneous location and mapping). I'd like to add voice-command (speech recognition), and speech output. Vision processing to detect faces, recognise navigation features, and follow objects is also something I'd like to do. On top of that the robot could be fun and entertaining, so should have an assortment of those sorts of features.<br />
<br />
Those advanced features require a fairly powerful processor, and ERN-E 1 uses an on-board PC running ROS. While the PC could be moved off the robot with a wireless communications link I'd prefer to keep the robot self-contained. That starts dictating the minimum size and weight.<br />
<br />
<b>Candidate Chassis</b><br />
There are a lot of pre-built or kitset chassis available these days, most of which would be a reasonable start.<br />
<br />
The Turtle-Bot was one contender, but the Roomba base left me wondering about the ability to negotiate small bumps and a range of floor surfaces. I also looked at the Eddie chassis and other similar offerings. <br />
<br />
After looking at these I was intending to re-build a custom chassis using a different set of motors and wheels. For one thing most of the robot kits are relatively expensive once purchased and shipped to New Zealand way down under. Secondly, I already had a good supply of aluminium stock and other hardware in ERN-E, and don't mind chassis building.<br />
<br />
While researching motors and wheels I was being asked by my family what they could get me for my recent birthday (a reasonably significant ag). Looking through some websites we came across the demonstration video for the Wild Thumper 6WD chassis. That looks like FUN - just as a radio-control toy. It should also serve nicely as a chassis for an autonomous outdoor all-terrain robot. After a lot of hesitation on my part, and egged on by my wonderful family the order was placed! <br />
<br />
I am now fully into planning my new robot. The very grippy tyres supplied might limit turning-on-the spot on carpet, so we will have to trial indoor turning performance and possible get some alternate tyres from a radio-control car shop. The maximum recommended payload is 5kg so a lot of the planning is based around minimising weight in all of the components - after my experience with ERN-E 1, that is not a bad thing. With the weight of the chassis the robot should weigh in at under 10kg.<br />
<br />
Adding the ability to properly travel around outdoors, including on grassy slopes opens up new challenges (infrared distance sensors don't work well in bright sunlight) and new opportunities - like GPS location.<br />
<br />
Stay tuned for more updates.Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com2tag:blogger.com,1999:blog-23207269356573021.post-47637143017160590212012-05-03T11:23:00.003+12:002012-05-03T11:25:19.497+12:00Our Tabletop RobotsOur team had three robots competing in the tabletop competition.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjasQcbN0s6lI9OZdN1pYqBDZi2MKp0hNh4wJFwgTbdAc70-m-s_NbEEKOCbzWamE9SUzHBDoz_3HDiv6n41ndnV-iNoLYWSuQ1GyTPaXk96MeVw9VyrgnqDZj4NKZnGg_ghgyCC_ntug/s1600/IMGA0073.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjasQcbN0s6lI9OZdN1pYqBDZi2MKp0hNh4wJFwgTbdAc70-m-s_NbEEKOCbzWamE9SUzHBDoz_3HDiv6n41ndnV-iNoLYWSuQ1GyTPaXk96MeVw9VyrgnqDZj4NKZnGg_ghgyCC_ntug/s320/IMGA0073.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Luke's Robot</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEimQfnUH3ZOV0qC8lyvMu2H9ltFF3_rDkaiswiovewl2nhKwjbxQPkVnV_M4GnG7_UnWF5Uu0uktipoLNGHbPAH39-NDVJr_a0oJFqP-lAIwEy6F4rYVxCFDdNW_PXFZONQgS-FG1UA/s1600/IMGA0074.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEimQfnUH3ZOV0qC8lyvMu2H9ltFF3_rDkaiswiovewl2nhKwjbxQPkVnV_M4GnG7_UnWF5Uu0uktipoLNGHbPAH39-NDVJr_a0oJFqP-lAIwEy6F4rYVxCFDdNW_PXFZONQgS-FG1UA/s320/IMGA0074.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ben's Robot</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpYf9is3JEGFA2hLw04EZlbkjb1yUoK4gEgD_bRLCrNKFh7J2QebWKW5lfBgMj4CvD8oZOJfNzFPEP68mVLM4k1vZq0rgrKtLDRtDt9-TcnGioESIfxeD7sQ4Zy4zTxdC-y4FHtJPibg/s1600/IMGA0075.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpYf9is3JEGFA2hLw04EZlbkjb1yUoK4gEgD_bRLCrNKFh7J2QebWKW5lfBgMj4CvD8oZOJfNzFPEP68mVLM4k1vZq0rgrKtLDRtDt9-TcnGioESIfxeD7sQ4Zy4zTxdC-y4FHtJPibg/s320/IMGA0075.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">My robot</td></tr>
</tbody></table>
<br />
<br />
<a href="http://www.dfrobot.com/image/cache/data/FIT0016/FIT0016-90x90.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://www.dfrobot.com/image/cache/data/FIT0016/FIT0016-90x90.jpg" /></a>All three robots had two-wheel differential drive chassis from a variety of sources. Two of the bots used cheap <a href="http://www.dfrobot.com/index.php?route=product/product&path=47&product_id=100">motors</a> and <a href="http://www.dfrobot.com/index.php?route=product/product&product_id=352">wheels</a> from DFRobot attached to home-made bases made from aluminium sheet or from thin MDF.<br />
<a href="http://www.dfrobot.com/image/cache/data/FIT0003/DSCF6658-120x120.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a> <br />
<a href="http://www.dfrobot.com/image/cache/data/ROB0049/2-90x90.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://www.dfrobot.com/image/cache/data/ROB0049/2-90x90.jpg" /></a><br />
<br />
<br />
<br />
The third robot used <a href="http://www.dfrobot.com/index.php?route=product/product&path=37_69&product_id=367">this platform</a>.
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
The control board for the boy's robots is the DFRobot <a href="http://www.dfrobot.com/index.php?route=product/product&path=35_38&product_id=656">Romeo</a>. This is an Arduino-based board designed with robotics in mind. It has 3-pin headers for every I/O port providing VCC, GND, and signal pins allowing sensors to be easily connected via 3-wire servo cables. There is an on-board motor driver for a pair of motors, a series of buttons, and a socket for an X-bee module. These bots have an <a href="http://www.dfrobot.com/index.php?route=product/product&path=53&product_id=135">LCD display</a> with an I2C interface to save on pins.<br />
<br />
<a href="http://www.pjrc.com/teensy/teensy_header_pins_main.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://www.pjrc.com/teensy/teensy_header_pins_main.jpg" /></a>I was using a custom-made motherboard with sockets for the microcontroller board, the LCD panel, the motor driver board, some buttons, and some pin headers for the spare I/O pins. The motor driver I used was the Sparkfun <a href="http://www.sparkfun.com/products/9457" target="_blank">Motor Driver 1A Dual TB6612FNG</a> sourced via <a href="http://www.mindkits.co.nz/" target="_blank">Mindkits</a>. The microcontroller is the <a href="http://www.pjrc.com/teensy/" target="_blank">Teensy</a>, again through Mindkits. This is an AVR board with high compatibility with the Arduino but with several improvements.<br />
<br />
<a href="http://www.seeedstudio.com/depot/images/ultra_LRG.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="http://www.seeedstudio.com/depot/images/ultra_LRG.jpg" width="200" /></a><br />
<a href="http://www.seeedstudio.com/depot/images/ultra_LRG.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="http://www.seeedstudio.com/depot/images/ultra_LRG.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="http://www.seeedstudio.com/depot/images/ultra_LRG.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="http://www.seeedstudio.com/depot/images/ultra_LRG.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><br />
We were all running stereo ultra-sonic ranging <a href="http://www.seeedstudio.com/depot/ultra-sonic-range-measurement-module-p-626.html?cPath=144_149" target="_blank">sonar</a> for can location. These are similar to a Ping))) and require a single digital pin. They return a pulse length for distance to the closest object detected. More complex sonars have the ability to return multiple target distances but we went with what we had. The challenge was balancing the desire to scan across the entire table against detecting objects near the table (like people).<br />
<br />
<br />
<a href="http://www.mindkits.co.nz/images/products/Adjustable%20Infrared%20Sensor%20Switch-120.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://www.mindkits.co.nz/images/products/Adjustable%20Infrared%20Sensor%20Switch-120.jpg" /></a>We all developed similar "arms" in the front of the robot to corral the cans and allow them to be pushed off the table. Our arms could hold a can where the sonar couldn't detect them so we added some proximity sensors to detect the presence of a can. We had some <a href="http://www.mindkits.co.nz/store/sensors/distance-and-range/adjustable-infrared-sensor-switch" target="_blank">I/R proximity sensors</a> (some robbed from Ernie) so we employed these and they worked really well. The in-built LED indication and the internal pot adjustment allowed calibration without programming.<br />
<br />
You might notice my robot had some wires across the back of the arms. This was a last-minute bodge as the edge-avoidance code wasn't properly tuned to allow the robot to tip the can off the edge of the table when it was being held so far back.<br />
<br />
<a href="http://www.mindkits.co.nz/images/products/sparkfun/09453-01-120.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://www.mindkits.co.nz/images/products/sparkfun/09453-01-120.jpg" /></a>For table detection the boys were using some analog sensors from Pololu (via <a href="http://www.mindkits.co.nz/store/sensors/qre1113-line-sensor-breakout-analog" target="_blank">Mindkits</a>), that we had bought earlier with the intention of doing some line-following. I foolishly thought we had more of them than we did and left my ordering too late to allow for international shipping. Fortunately Mindkits had some <a href="http://www.mindkits.co.nz/store/sensors/Optical-Detector-Phototransistor-QRD1114" target="_blank">Optical Detector-Phototransistor-QRD1114</a> (the through-hole equivalent part used on the Pololu board) in stock and I made some boards using a couple of resistors and they worked well.<br />
<br />
<a href="http://www.mindkits.co.nz/store/sensors/Optical-Detector-Phototransistor-QRD1114" target="_blank"></a> <br />
I was also using the circuit board out of an old PS2 ball mouse for reporting wheel encoder counts and button clicks for my LCD menu navigation. The encoder assemblies were removed from the mouse and hot-glued onto the robot but I did not get encoders working for the comp. I suspect I might have something not well aligned but ran out of time to troubleshoot. The advantage of the PS2 mouse is that you don't need interrupt routines in the main micro as the PS2 mouse can be queried for cumulative and current encoder counts together with status of up to 3 buttons.<br />
<br />
All of our source code was based on a behaviour subsumption engine that Ben and I wrote a while back which we branched for each robot. Ben coded all behaviours etc himself, Luke specified the psuedo-code with me writing most of the C code for him and Ben helping him to tune it. Luke's next task is to learn C programming properly and take over his own coding.<br />
<br />
The next competition will be more of a challenge. The table will be rectangular so we will need to reposition our edge detectors and avoid/ escape behaviours to allow us to get into the corners and out again in case there is a can there. Details are yet to be finalised but we may have to get the cans into a goal instead of simply tipping them off the edge. That would require can capture rather than simply knocking them off the edge.Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0tag:blogger.com,1999:blog-23207269356573021.post-72984684300854721072012-05-02T21:58:00.003+12:002012-05-02T21:58:51.711+12:00RoboNZ Tabletop CompetitionIt has been quite a long time since my last post - one of my excuses is that I have been busy preparing robots for the Tabletop robotics competition run by our local robotics group last weekend. The competition was founded by Gary, hosted by RoboNZ, and a prize supplied by our friendly robotics supplier <a href="http://www.mindkits.co.nz/" target="_blank">Mindkits</a>.<br />
<br />
The competition involves an autonomous robot clearing five empty softdrink cans from a 1.2m diameter table in the shortest time. There is a size limit and a time limit. Last weekend was the first competition meet, and after a successful challenge we will be stepping up the complexity each time. Current rules <a href="http://www.tangleball.org.nz/wiki/index.php/Table_Top_Robotics#Table_Top_Robotic_Contest" target="_blank">here</a>.<br />
<br />
The next few posts will provide details of the robots fielded by the Electronic Kiwi team. There's some footage of the competition on You Tube.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/lG23sND42WQ?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/VdoRRfrtUWA?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/5-apk4dCeS0?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/oc5GWePZMsg?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/syeti2i7C5Q?feature=player_embedded' frameborder='0'></iframe></div>
<br />Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0tag:blogger.com,1999:blog-23207269356573021.post-42798110300430144552012-01-20T12:23:00.000+13:002012-05-03T11:25:34.715+12:00PS3 joystick progress reportHooking up the PS3 Joystick and getting some meaningful results on the screen was a lot easier than expected. I purchased a small USB Bluetooth dongle which worked with Ubuntu straight away, and hooking up the software to display the output from the joystick was easy.<br />
<br />
Developing a ROS node to convert that output into ROS command messages was also very easy following the tutorial on ros.org; as was my first go at getting a ros launch file setup. Getting the joystick connected requires root privileges and I haven't worked out how to do that bit from within the launch file yet.<br />
<br />
My PC (running ROS on Ubuntu) talks to the robot hardware via an Arduino Mega over a USB serial data link. Before switching to ROS I had developed my own serial protocol but
lately I have been using the rosserial library which makes writing the
Arduino end and the PC end pretty simple. Using this system I was easily able to have the PS3 joystick remotely
control the speed and direction of each drive wheel, and the pan and
tilt of the head. <br />
<br />
<br />
The only issue I currently have is that the serial connection keeps on dropping out, and that appears to be a result of the serial link getting swamped with too much data. I have a ROS throttle node running on the PC to limit the rate at which messages are sent to the Arduino but I still haven't got this running properly. More investigation is required. I'll try slowing everything down further, and changing the baud rate. My main worry is that I have so far only implemented a small proportion of the features my Arduino will be handling, so have a lot more data I need to send.<br />
<br />
I may need to delve into the rosserial messaging system and see how compact the serial data is - perhaps I'll need to modify the protocol. This is one of the big advantages of ROS over MRDS which I trialled earlier - the system is open-source, so while my C++ and Python skills are pretty basic I can at least look at the source code and potentially modify it.Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0tag:blogger.com,1999:blog-23207269356573021.post-68493466966081930322012-01-18T12:57:00.000+13:002012-05-03T11:25:52.545+12:00A look at ErnieAs promised last year I have taken an up-to-date photo of Ernie, and I'll provide a brief description of his main features. In this photo Ernie's panels have been removed so you can see inside.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0iHjcm4DpRb86qPpYpr240GAALzsKnghIACYyMZ44Qz-_XCDYq6YQ8pMaq2VAjgs5_XKXIpktKX6U-vkPO4H4wPW1mTXqcyINxSBo1l1RinvoxnMvfpQUGLVk6zigDcM8cp0hMIR7rw/s1600/IMGA0129b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0iHjcm4DpRb86qPpYpr240GAALzsKnghIACYyMZ44Qz-_XCDYq6YQ8pMaq2VAjgs5_XKXIpktKX6U-vkPO4H4wPW1mTXqcyINxSBo1l1RinvoxnMvfpQUGLVk6zigDcM8cp0hMIR7rw/s320/IMGA0129b.jpg" width="201" /></a></div>
<br />
<br />
<br />
<br />
<br />
Ernie is a large robot for a hobby robot. He is about 0.5m x 0.5m and about 1m tall. As I said in an earlier post he is heavily influenced by Dave Shinsel's Loki robot. I guess he would be a similar size to Loki and to the Astromec droids built by members of the R2D2 builders club.<br />
<br />
The size of the base is largely determined by the size of the drivewheels (0.3m diameter) and the drivetrain. Ernie is driven by old cordless drill motors with a chain drive. The chains are off-the-shelf from minature motorcycles and rather than try and shorten them they are used as-is. The wheels and chain are under the side "fenders" to protect anyone coming in contact with the chain. The motors mounted at the rear about halfway up.<br />
<br />
The height of the robot is largely determined by the desire to eventually mount arms similar to Loki at the top of the body, and then the height of the head.<br />
<br />
The head is a temporary one (made from an old icecream container) with DFRobot LED rings for eyes and an LED VU meter as a mouth (plugged into PC soundcard output). The mouth works but I don't have the progamming sorted for the eyes yet. The head is mounted on two servo motors so it can pan and tilt. The hat was added by one of my sons and I think I'll keep it.<br />
<br />
Working down from the head you can see the emergency stop button at the rear of the top panel. This switch cuts all power to the motors and I consider this essential for a robot of this size and weight. Ernie currently weighs about 20kg and he doesn't yet have arms.<br />
<br />
<br />
Just below the top of the robot at the front is a LED matrix I built. This matrix is 24 x 8 pixels with red and green colours and displays a pattern sent serially from the Arduino. I haven't got this working again since shifting to ROS - only because I haven't got around to it, but I'm now wondering if this display should have it's own Arduino communicating via I2C with the main micro, or by USB directly with the PC given the amount of data I want to shift and the limits of the rosserial comms (more on that in a later post).<br />
<br />
Moving on down there are some PC speakers in the middle of the body. On the rear shelf you may be able to see the two Robot Power Simple H motor drivers (with fans) that drive the motors with commands coming from the Arduino.<br />
<br />
<br />
The main shelf has the Arduino Mega mounted in the centre and some data distribution boards I made. Those boards have 16-way IDC ribbon cables running from near the Arduino to four similar boards elsewhere on the robot. Each one then breaks out the data lines to headers that can be jumpered to the relevant pin on the Arduino and connected to sensors or actuators at the other end.<br />
<br />
Below the main shelf is the PC in a small case. The blank space below that has the main axle running through it and I plan to mount the Power Management board in that space with charging contacts and also a line-follower.<br />
<br />
I have a number of ultrasonic distance measuring sensors distributed around the front and some simple bumpers.<br />
<br />
What you can't see are the quadurature encoders driven by small wheels in contact with the chain, some simple infrared presence detectors as "bumpers" at the rear, and the batteries. I have two fairly large 12v SLA batteries sitting behind the main axle. On the back I have a panel with a number of switches and sockets for external power and charging. Once the power management board is in that panel should get simplified significantly.<br />
<br />
After working on this robot for about two years now I'd change some things if I was rebuilding. Firstly I'd like to cut down the weight. At 20kg this robot is difficult to lift on and off the workbench but more importantly it can be quite dangerous moving around people. I'd also try and make it more compact, probably by using slightly smaller wheels and a more compact drive system. Perhaps a couple of wheelchair motors with wheels rather than my current golf-trundler wheels and chain drive.<br />
<br />
<br />
<br />
<br />Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0tag:blogger.com,1999:blog-23207269356573021.post-15730489642106802342012-01-09T16:26:00.000+13:002012-05-03T11:26:04.052+12:00Ernie's ChristmasChristmas was kind to Ernie.<br />
<br />
He received a new mini-box M3 power supply, a mini-box Y-PWR adapter, and a Playstation PS3 controller.<br />
<br />
The M3 power supply is for his on-board PC and is a small unit that fits entirely within the small PC case so less room is required within the body. It also allows the original case lid to be put back on instead of a custom-made one. The M3 power supply is superior to the previous 12v ATX power supply I was using as it generates a proper 12v supply rail, even when the battery supply voltage is below 12v. The CPU is now running significantly cooler - probably due to the perforated case lid, but possibly also due to the cleaner and more accurate voltage supply.<br />
<br />
The Y-PWR board is a simple ideal diode that can allow practically instant switching from the battery supply to the external supply for the PC power supply - this is the sort of "switch" that is used in a UPS so that the power can be switched without interupting the operation of the PC. This will be integrated into a new power-management system I am designing that will look after the charging of the two SLA (sealed-lead-acid) batteries in Ernie as well as monitoring battery voltages and switching various circuit groups on and off.<br />
<br />
The PS3 controller is wireless via Bluetooth and with the addition of a small USB Bluetooth dongle Ernie should be able to be remotely controlled. This will be useful when transporting Ernie, or demonstrating him and using him as an entertainment robot - part of his intended function. There is a ROS package for the controller and patching it into the ROS system on Ernie is apparently fairly simple.Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0tag:blogger.com,1999:blog-23207269356573021.post-433461490489664202011-11-15T16:45:00.001+13:002012-05-03T11:26:21.846+12:00Choosing a platform for starting roboticsI was recently asked by a friend for a recommendation as they wanted to provide a kit to their 13-year old daughter to start into robotics. She has had some experience with a high-school robotics competition team and my friend is knowledgeable about electronics. They wanted a cost-effective set of parts or a kit that would ensure success.<br />
<br />
My friend had looked around the Internet and thought the Pololu 3pi robot would be a good starting point, particularly with the mBed expansion board added. I had looked very carefully at the 3pi when evaluating a starting setup for my son and ended up choosing a different system, although the mBed expansion wasn't available then. We ended up purchasing the 4WD Rover kit from DFRobot and I recommended a similar setup to my friend.<br />
<br />
<br />
<br />
When I did my earlier evaluation (in late 2010) I read fairly
widely on the internet, browsed the ads in Robot magazine and
considered a few options. My shortlist ended up being:<br />
<ul>
<li>Pololu 3pi Robot.<br />
</li>
<li>An Arduino, a Motor-Shield, and a chassis possibly built from Tamiya parts.</li>
<li>One of the DFRobot kits using a Romeo controller.</li>
</ul>
<br />
I'll provide a very quick summary of both platforms and some other options together with a listing of the benefits and disbenefits of each option and why I recommended the DFRobot solution. I have to preface this whole discussion with the note that there are a HUGE number of getting started robotics platforms out there, and more are being added all the time. What is best for one person won't be best for another and will depend greatly on what you are thinking of doing with it and what your own skills are.<br />
<br />
<br />
There are some glaring omissions from this "review", including the very popular Lego NXT system, and the Vex robotics system. These are highly capable "retail" systems and either would provide a good start into robotics. These systems are both expensive, particularly when shipping to New Zealand is considered, and both have limitations on expansion. Both come with pre-made curricula and have great support so would be good options for schools.<br />
<br />
Onto the descriptions ...<br />
<br />
<b>Pololu 3pi. </b><br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://a.pololu-files.com/picture/0J2415.200.jpg?b0fd21bd327476f506feee9a0c2d2f36" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="http://a.pololu-files.com/picture/0J2415.200.jpg?b0fd21bd327476f506feee9a0c2d2f36" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Pololu 3pi</td></tr>
</tbody></table>
This is a great little self-contained robot platform with good documentation and support. Pololu describe it as:<br />
<br />
<br />
<i>The Pololu 3pi robot is a complete, high-performance mobile platform
featuring two micro metal gearmotors, five reflectance sensors, an 8×2
character LCD, a buzzer, and three user pushbuttons, all connected to a
C-programmable ATmega328 microcontroller. Capable of speeds exceeding 3
feet per second, 3pi is a great first robot for ambitious beginners and
a perfect second robot for those looking to move up from
non-programmable or slower beginner robots.</i><br />
<a href="http://www.pololu.com/catalog/product/975" target="_blank"></a><i><br /></i><br />
As the robot is controlled by an ATmega328, the same microcontroller used on the very popular open-source Arduino boards, it is apparently possible to use the Arduino IDE and libraries with the Pololu. Additional prototpying circuit-boards are available to add extra decks for expansion.<br />
<br />
Pololu have recently added the mBed expansion option for the 3pi platform. With this expansion board the robot becomes the m3pi. This expansion board allows an mBed development board to be used as the primary controller with the ATmega328 acting as a slave controller via serial communications. Pololu offer the <a href="http://www.pololu.com/catalog/product/2150" target="_blank">ARM mbed NXP LPC1768 Development Board</a> which is a very capable microcontroller. Pololu say ...<br />
<br />
<br />
<i>Based on the powerful NXP LPC1768
Cortex-M3 processor, which runs at 96 MHz and offers 512 KB flash and
64 KB SRAM, the 32-bit mbed can handily outperform popular 8-bit
prototyping platforms like the <a href="http://www.pololu.com/catalog/product/1616">Arduino</a> and <a href="http://www.pololu.com/catalog/product/1600">Basic Stamp</a>.
The mbed also offers peripherals not typically found on
lower-performance prototyping boards, such as ethernet, USB OTG, a
12-bit ADC, a 10-bit DAC for a true analog voltage output, in addition
to more common interfaces like serial (UART), SPI, I2C, and CAN.</i><br />
<a href="http://www.pololu.com/catalog/product/2150"></a><br />
<br />
The expansion board also makes it easy to add wireless communications for the m3pi robot. Get the full details at <a href="http://www.pololu.com/catalog/product/975" target="_blank">Pololu </a><br />
<br />
<b>Arduino-based</b><br />
Anyone unfamiliar with the Arduino platform owes it to themselves to investigate this microcontroller phenomenom starting at <a href="http://www.arduino.cc/">www.arduino.cc</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://arduino.cc/en/uploads/Main/arduino_uno_test.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="http://arduino.cc/en/uploads/Main/arduino_uno_test.jpg" width="320" /></a></div>
<br />
<br />
In a nutshell this is an open-hardware development board using the capable AVR series of microcontrollers married with easy-to-learn free IDE programming software. Due to the open-hardware nature a wide range of derivative and clone boards are available at reasonable prices. A wide range of expansion boards (known as Shields) are available. Despite a number of detractors (usually hard-core programmer-types) the platform has gained huge success with artists, tinkerers and hobbyists.<br />
<br />
The huge range of freely available software examples, forums, books, and compatible expansion boards and accessories make this an attractive platform for learning about microcontrollers - a key component of hobby robotics.<br />
<br />
An Arduino board or clone would need to be married with a motor-driver board (a number of Motor Shield options are available), a few sensors, and a simple chassis with motors and wheels. Again a wide variety of options exist, with this chassis from DFRobot being but one example.<br />
<br />
Parts Required:<br />
An Arduino or Clone. Say the Arduino UNO, or TwentyEleven or similar.<br />
A Motor Shield. Say the ArduMoto or similar - enough to power most small motors but check the motor stall current is within limits.<br />
A chassis with motors and wheels or tracks. Either make your own or buy one of many kits.<br />
<br />
For those of you reading in New Zealand all of the above is available from <a href="http://www.mindkits.co.nz/AP.aspx?ID=836&EID=12328083" target="_blank">MindKits</a>. Those elsewhere may prefer to buy from elsewhere such as <a href="http://www.pololu.com/" target="_blank">Pololu</a>, <a href="http://www.sparkfun.com/" target="_blank">SparkFun</a>, <a href="http://dfrobot.com/" target="_blank">DFRobot </a>or a huge range of on-line robotics hobby stores.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.dfrobot.com/index.php?route=product/product&path=37_69&product_id=367" style="margin-left: auto; margin-right: auto;" target="_blank"><img border="0" height="302" src="http://www.dfrobot.com/image/data/ROB0049/3.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A DFRobot miniQ chassis with an Arduino and Motor Shield</td></tr>
</tbody></table>
<br />
<br />
<b>DFRobot Rover</b><br />
DFRobot offer a number of small robot solutions including chassis ideal for using with an Arduino, including chassis with tank-tracks, 2 wheels, or 4 wheels. You can see a review of the tracked robot at <a href="http://find.botmag.com/021185" target="_blank">Robot Magazine</a>.<br />
<br />
In addition they offer the Romeo robot controller. This is a circuit board with an Arduino clone in the middle, fully compatible with the Arduino software and expansion shields. Also included on the board are built-in motor drivers for two DC motors, some push buttons, and a range of "headers" to make connecting sensors easy, and a socket for a wireless communication board.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.blogger.com/goog_312749085" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://www.dfrobot.com/image/cache/data/ROB0022/55-118-home-500x500.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://www.dfrobot.com/index.php?route=product/product&path=37&product_id=116" target="_blank">DFRobot 4WD Chassis with Romeo</a></td></tr>
</tbody></table>
My son chose the DFRobot 4WD chassis. The metal components are well made and durable and he had no trouble in assembling the robot. A small amount of soldering is required to connect up the motors, battery holder and switch.<br />
<br />
After some use we ended up needing two replacement motors, and this is my only negative comment about the DFRobot system. The motors have plastic shafts and plastic gears - clearly why they are able to be priced so low. After a few weeks of use we had one motor with a broken gear tooth and another with a broken shaft. The motors are cheap to replace but not particularly durable. I'm not sure that the same problems would have occurred with a 2WD robot as the 4WD skid-steer system places additional loads on the motors when turning the robot and the wheels are near the corners where they are more vunerable to collisions.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.dfrobot.com/index.php?route=product/product&path=37&product_id=65" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img border="0" height="320" src="http://www.dfrobot.com/image/cache/data/ROB0005/ROB0005-3-500x500.jpg" width="320" /></a></div>
After using the 4WD robot for a while my son realised why most small
robots are round with two drivewheels and a castor - they are far easy
to manoeuvre. We ended up making a small round chassis ourselves from
aluminium sheet. We could have purchased the 2WD chassis from DFRobot
but when shipping was added this was a fairly expensive and we
thought making our own chassis would be fun and educational. We re-used components from the 4WD chassis kit including the two good motors.<br />
<br />
<br />
<br />
<br />
<br />
<br />
Now on to the comparison and evaluation ...<br />
<br />
I ended up going with the DFRobot Romeo for a number of reasons. At the time the mBed expansion wasn't available, and I'll summarise the impact that has at the end.<br />
<br />
1. The 3pi has most Input/ Output (IO) ports tied to on-board peripherals whereas on the romeo you can remove jumpers and free up all the pins. When working with most microcontrollers the first thing you run out of is IO pins. The 3pi has the option of disabling some on-board functions which gives the option of freeing up to 3 digital IO pins and up to 3 free analog-to-digital conversion (ADC) pins.<br />
<br />
2. 3pi has no wheel encoders and no apparent way to add them as there are no free interrupt-able IO pins spare. This is not a major for line-following or maze-solving but for other tasks having encoders might be really useful. <br />
<br />
3. From what I can tell from the available information there is no end-user access to I2C/TWI or SPI on the 3pi. (These are systems that allow communication between various integrated circuits). On the arduino/Romeo you can add on peripherals using these busses which saves on input pins.<br />
<br />
4. If you wanted to upgrade the hardware (bigger platform, bigger motors, servos, an arm) it was going to be difficult with the 3pi, easy with the arduino as we have already proved by abandoning our original 4-wheel chassis for a home-built 2-wheel one. We could build a bigger or smaller robot and keep the controller (and code). <br />
<br />
5. If you wanted to upgrade the microcontroller you could keep the chassis, motors etc. For example a Parallax Propeller board or an mBed board would give more power. <br />
<br />
6. I am comfortable selecting various components (motors, motor driver boards, sensors) etc and putting them together so an Arduino-based solution is a viable option for me, but in the end the Romeo and the DFRobot system with their sensors and sensor cables make the selection and configuration easy. The 3pi is all done for you.<br />
<br />
7. I am comfortable doing basic DIY chassis-building. There are a variety of options including plastic sheet, MDF, aluminium sheet, LEGO, meccano (erector set) or whatever. <br />
<br />
8. I am already using the Arduino on other projects so am familiar with it. <br />
<br />
For me a big thing was that with the Romeo you essentially get a standard Arduinot which allows the controller board to be used for a whole lot of non-robot applications and get into the other dimensions of microcontrollers and electronics, and the Arduino community is truly enormous. Have a look at <a href="http://tronixstuff.wordpress.com/tutorials/">http://tronixstuff.wordpress.com/tutorials/</a> and <a href="http://www.arduino.cc/">http://www.arduino.cc</a>.<br />
<br />
Anyway, that was my earlier evaluation before the mbed expansion was available. The 3pi is a very good beginner-intermediate robot platform that would require less integration work. At it's core it has the same controller chip as the arduino - the main difference is that it has a pre-built chassis and integrated peripherals - that is both a good thing (easier to use) and a bad one (ties up IO lines). With the 3pi there are few additional lines available for adding extra sensors, but with the Romeo a complete re-configuration for a different task is possible. <br />
<br />
<br />
<b>m3pi Option</b> <br />
The mBed expansion option to convert the 3pi to the m3pi addresses many of the potential shortcomings with the 3pi - providing access to I2C and SPI busses, access to more IO pins, not to mention more power - but this power comes at significant extra cost.<br />
<br />
The Romeo/ Arduino path also allows for expansion via several paths:<br />
<ul>
<li>swapping the basic Arduino for a more powerful one (eg Arduino Mega) but this would require a replacement motor driver.</li>
<li>Swapping out the Arduino controller for a different more powerful controller such as a Propellor or mBed. </li>
</ul>
<ul>
<li>adding on a second controller in a similar manner to the mBed expansion, either via a custom solution, perhaps built on a prototyping shield. Another option is the <a href="http://www.hobby-roboter.de/forum/viewtopic.php?f=5&t=72" target="_blank">Propelleruino</a> which has a Parallax Propeller chip on an expansion shield.<br /> </li>
</ul>
<br />
<br />
<br />
<br />
If you decide to go with the 3pi I'm sure it will work well and be a good solution, particularly with an mbed available to expand into; but I have found the DFRobot Romeo to be an excellent (and very flexible) platform for beginning roboteers.<br />
<br />
<br />Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com1tag:blogger.com,1999:blog-23207269356573021.post-78011985041425846922011-10-30T21:14:00.000+13:002011-10-30T21:14:08.657+13:00Introducing ErnieMy most significant current project is Ernie, and I'll be writing quite a bit about him here.<br />
<br />
The name is an extension of ERN-E, or Enhanced Robotic Navigator - Experimental, but I have found Ernie simpler to type.<br />
<br />
<b>Inspiration</b><br />
Ernie is a relatively large robot for a hobby robot. My design of Ernie is very heavily influenced by <a href="http://www.dshinsel.com/">Loki</a> created by Dave Shinsel, with other robots also influencing some of my thinking including <a href="http://www.pirobot.org/">Pi robot</a> created by Patrick Goebel, and more recently Michael Ferguson's <a href="http://www.showusyoursensors.com/">Maxwell</a>. I also took an interest in <a href="http://members.cox.net/rbirac/">Leaf</a> at one point.<br />
<br />
<b>Purpose</b><br />
One of the first things many people ask is "What does it do?" or "What is it for?". That's a reasonable question without a particularly satisfactory answer. Ernie is sort of an answer looking for a solution - he is an outlet for my hobby interests - an experimental platform. My wife would like Ernie to be able to perform some useful household tasks, but unfortunately her wishlist has more to do with popula television science-fiction than tasks currently achievable by any actual robot, let alone one built on a hobby budget.<br />
<br />
I'm intending that Ernie be interesting and entertaining. This is why Ernie will have an expressive face and will have the ability to be steered by remote control. In this I am influenced and impressed by the people that build replica
R2-D2 and other astromech droids and by their friends that build
replicas of Wall-E.<br />
<br />
I hope that he will eventually be capable of tracking a face via a webcam and engage in a semi-intelligent conversation through the merging of a speech-recognition module, a chatbot engine, and a text-to-speech module. I'm also hoping that I will be able to voice-command Ernie to travel from one room to another autonomously.<br />
<br />
In coming posts I'll cover some of the construction of Ernie including my selection of motors, drivetrain, and chassis. I plan to describe the circuitry and processors on board, and the software that will run on him. This will include some discussion of programming languages and environments that I have considered and what I am currently using.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirdsmrgH5tW-Ca4CiPSR0LqSwWHKOB1qJ9i94m5tZW6s-Ius6XIP-kc6rkzF9AItHmC6nlkxYmXswXqhItNQDZ2NdutNbbcg4Utk2VaRQFHwiUHt6ICQAfe9AbgsMkfjAaIOoFub0QJw/s1600/IMG_453956_1024.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirdsmrgH5tW-Ca4CiPSR0LqSwWHKOB1qJ9i94m5tZW6s-Ius6XIP-kc6rkzF9AItHmC6nlkxYmXswXqhItNQDZ2NdutNbbcg4Utk2VaRQFHwiUHt6ICQAfe9AbgsMkfjAaIOoFub0QJw/s320/IMG_453956_1024.jpg" width="213" /></a></div>
This is an early photo of Ernie. I recycled some cardboard boxes to mock-up a chassis and skin for Ernie to check placements for components such as an LCD panel, arms, drive wheels, an omni-vision system for navigation and a web-cam mounted on a pan-tilt head.<br />
<br />
I have since made quite a few changes, but regretably have not been taking too many photos along the way, so I need to start taking images of Ernie as he is currently.<br />
<br />
More to come....Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0tag:blogger.com,1999:blog-23207269356573021.post-26307297895966767682011-10-30T17:33:00.002+13:002011-10-30T21:14:08.670+13:00Inaugural PostWelcome to The Electronic Kiwi.<br /><br />This is a blog about technology - mostly hobby robotics. <br /><br />I'm a Kiwi - a New Zealander - living in Auckland, New Zealand. I'll be blogging about the robotic and other technology projects I am working on, robots by friends and family, reviews of books and products, cool robotic projects and happenings from around the world, and other assorted stuff.<br /><br />I've been a professional sofware developer and interested in electronics and robotics for quite a few years. I have assisted with a school Vex competition team and I am currently developing some robotic projects at home together with my children and friends.<br />Electronic Kiwihttp://www.blogger.com/profile/03744532848554410736noreply@blogger.com0