As 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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
I have a number of ultrasonic distance measuring sensors distributed around the front and some simple bumpers.
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.
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.