Ripley: The (Slow) Evolution of a PiBot

I’ve often wanted to get into robotics but I’ve never had the money or the time but, with the advent of smaller, cheaper computers I decided, last year, maybe it’s time do finally do so. My first project is building an internet-enabled robot called Ripley (yes, I’m a fan of the ‘Alien’ films). I have to admit to getting a little side-tracked, over the last year, with other projects so Ripley was put on the back-burner once all the electronics were in place but I’ve now decided to revive her and press forward.

Ripley came about from an idea that I had after a conversation with a friend of mine, while I was recovering from major surgery towards then end of 2016. She’d bought a Raspberry Pi 3B and was using it to remotely control the heating system in her home (reminiscent of the Hive system). Having a history in electronics and embedded programming, I thought that it would be a good idea to do something to relieve the boredom, (I couldn’t do much during recovery), so I ordered a Pi from Amazon.

Once it arrived I started playing with it. I quickly discovered all kinds of things about it, including the interface. I decided to add a box of electronics to my steadily growing pile of parts but wanted to go further. I remembered my old radio controlled car that I’d built ten years before and dug it out. I removed the poly-carbonate shell, checked out the existing electronics and motors and decided, once the radio controls were removed, that the existing motors and chassis would be suitable to use and Ripley was born.

For the hardware, I’d originally decided to build all the motor control and power management myself but, further investigation revealed many cheaper options in pre-built modules so, being decidedly on the broke side, I opted for some of these. For instance, my design called for 2 H-Bridge motor controls, one for the main drive motor and the other for the steering servo. The original schematic centered around using five TIP3055 NPN power transistors to form the H-bridge. A discussion with a friend over my original design revealed that there was already a dual H-bridge control module based around the L298 dual H-bridge chip, and it was considerably cheaper than my idea. Thus, using pre-built modules rather than building them myself saved quite a bit of money, (and painful effort since, at the time, I wasn’t really in a fit state to sit at my desk all day soldering).

I was originally going to write the control software in ARM assembler but that would necessitate relearning what I remember as an incredibly complex language (I used to write embedded software in Z80A and then x86 assembler) so I changed my mind and went for C but, after writing some of the control functions, this didn’t seem suitable for such a complex project, especially as so many operations needed to be run simultaneously. I eventually opted for C++, mainly because of its ability to handle asynchronous operations, (for example, ultrasonic scanners, stepper motors and main drive motor all operating simultaneously), but also because it’s object-orientated, and would enable eventual integration with a GUI more easily.

So, the Project Ripley was born.

Christine Danielle Anderson, 10th Jan 2018