M3 - Mobile Mac Mini
Written by James Mullins   
Friday, 01 September 2006
image001




After Mick and I discovered MacMod.com and the Mod Challenge last year we decided that we had to be involved.  We toyed around with a number of ideas that were dismissed either because of lack of time, lack of money or both.  Both Mick and I are robotic engineers, so it seemed natural that we should use our talents to our advantage.  As a result, M3 was born.

When I first saw the Mac Mini a year or so ago, I knew I had to have one.  When Apple released the Intel version earlier this year I bit the bullet and purchased a dual core 1.66Ghz with the thought that I could retire my old CAD PC.
For the last few months I have been happily running Bootcamp with AutoCAD and Solidworks for all my robot designs.  I managed to switch Mick across to a Macbook along the way!

Back in 2002, I built a robot for a final year engineering project.  it was based on an old 333Mhz bronze keyboard powerbook and had a Keyspan USB to serial adaptor talking to a custom PCB with motor controllers and the like.  The Powerbook was pre Wifi and I managed to pick up a broken Airport base station, strip it for parts and fix it.  The result was a robot that I could drive around over a network and pick things up etc.  Overall it was a very challenging and enjoyable project.  From what I have been able to find, it was the first robot in the wild to be powered by OSX (OS 10.0 to be precise).  RobotX as it was called can be seen online at: www.robotics.com/robomenu/robotx.html

RobotX was great, but being based of OS 10.0, there were a few bugs and limitations.  I never did get time to update the code.

The Mobile Mac Mini project began the day The Great Mac Mod Challenge ’06 was announced.  Both Mick and I agreed that we should develop a mobile robot with a few sensors that we could build relatively quickly.  After a few late nights along the way, we arrived within the deadline of one month with a really cool little robot.




Without going into details, the following is a list of parts used in the project:

  • Mac Mini
  • 7” Lilliput touch screen
  • Belkin Videobus II
  • 42mm square colour CCD camera
  • Carnetix DC-DC power supply
  • Ebay purchased servo to H-Bridge motor controllers
  • PIC 16F877A
  • Custom PCB
  • Two Ebay lithium batteries
  • Four DC gearmotors (surplus)
  • Off road skateboard tires
  • Sharp IR range sensors
  • Lots of discreet components, bolts, nuts, wires etc.

Features:

  • Four Wheel differential drive skid steer (like a bulldozer)
  • Luxeon Headlight
  • Colour CCD video camera
  • Tilt Mechanism for headlight and camera
  • Wireless control via Wifi or Apple IR remote

Design:

The first stage of our design was to layout all the parts we had at hand and then figure out what size and shape to make the robot.

In the end it was decided that the Mac Mini should sit in top of the robot so that the DVD slot and IR sensor was visible from above the chassis.  This meant that we could drive the robot with the supplied Apple remote!

Motor test platform:

image002  image003
Those motors sure are strong!
                                                                                 

After determining what components we were going to used we jumped into CAD.  I use AutoCAD and Mick is great at Solidworks.  Basically, I designed all the 2D parts that connected together to form the chassis and Mick dropped them into Solidworks for a 3D model.  We have found that this is extremely useful for picking up out of alignment parts etc.





Construction:

The chassis of the robot itself is constructed of 1.5mm stainless steel and slots together to form a very rigid assembly.  There are 6 aluminum runners that are used to tie the top and sides onto the robot.

image005

The whole thing really is one big jigsaw puzzle as the robot can only be assembled in the right order.
We had the stainless steel laser cut as working with stainless is a real pain.  Not even the trusty Dremel has much luck with this stuff!

The wheels we used were from an off road skateboard (gotta love Ebay), and are quite hard and durable.  In hindsight, it probably would have been better to go with a softer more shock absorbing rubber, but the hard drive in the Mac Mini (being a laptop one) seems to take bumps in its stride.

image006

I turned up some wheel hubs that adapted the 7mm motor shafts to the 18mm bore of the skate wheels.  The hubs were stepped to get the maximum possible surface area and then were press fit into the wheels using a one tone press.

image004




Electronics:

Now that we had the chassis up and running, we had to concentrate on electronics.  Mick is the guru when it comes to designing a schematic and had one knocked up in no time.  Mick is of the mindset that you can never have enough LED’s.  As a result we have something like 15 surface mound status LED’s on the main robot board.  I have to admit sometimes they do come in handy.

image013

The main board itself is based around a pic 16F877A.  Basically, the pic is connected to the Mac Mini via a FTDI USB to serial converter chip.  Com-mands are received by the micro-controller from the computer and the micro looks after the drive motors, camera tilt servo and headlight etc.  The Micro also reads distance measurements from the four Sharp IR sensors placed around the edge of the robot. 

image009  image008

  image010

A digital compass is used to keep track of heading.

image011 
image014   
image012
image017

image018

image016




Software:

Software for the robot consists of two components.  The onboard micro-controller is programmed in MBasic (www.basicmicro.com).

The actual control software that resides on the Mac Mini is programmed in RealBasic (www.realsoftware.com).  RealBasic is great for programming something quickly and certainly fitted the need in this project!

We really haven’t spent enough time on this side of the project, and quite honestly, the software side of things will continue to evolve as we develop the robots capabilities.

At the moment, we have a simple client application that is launched via the touch screen on the back of the robot.  When running, the client listens for connections from another computer (running control software).
The server software allows control over a local area network (we used an XBox 360 remote - sorry guys) of the motors, tilt servo and headlight controls.  We also have provision for a compass and gps on the robot.  Video is streamed at the moment via iChat, but we hope to integrate the video into our own RealBasic program soon using a plugin from Mike Woodworth at (www.realcapture.com).

image020
The robot has another mode that enables control via the included Apple IR remote control.




Conclusion:

I think this project shows just what a capable little platform the Mac Mini really is.  We have had endless fun driving this little robot around our houses both inside and out.  The little IR sensors are great for avoiding obstacles and tell the robot to stop before it slams into a wall.  The motors spin at around 100rpm and it gets along at quite a speed.  Battery life is around about two hours depending on the driving conditions.  The wireless range is fine for anywhere within 50 - 100 meters. I wonder if next years mod should be a directional servo controlled wifi antenna that can be mounted on a mobile robot?

image022
We originally planned to paint it, but the stainless matched in so well with the silver sides of the Mac Mini that we decided to leave it natural for a while.




Heres the finished robot in all of its glory

image023

image021


image019





Be first to comment this article

Write Comment

Name:
Comment:

Code:* Code
I wish to be contacted by email regarding additional comments



 
< Prev   Next >