Please note: This blog also contains my thoughts and immediate ideas so things may seem to go off at a tangent but I want to keep a complete record. If I seem to be rambling don’t worry, I’ll get back on track eventually.
The original Ripley design utilised a Raspberry Pi and several chunks of control electronics built onto the chassis of an old radio controlled car that I had lying around. Since I started the project things have changed and so has Ripley.
After a conversation with a friend of mine recently, I have redesigned Ripley with a view to splitting up the hardware control and AI functions to increase response times. I had a worry that, despite using a fast processor and running everything on Linux, there would still be too much of a lag between AI decisions and hardware actuations.
This has resulted in the hardware being controlled by an RC2014 , (a Z80-based machine designed by Semachthemonkey) with the control functions written in Z80 assembler (my native language) and the Pi 3B, running the AI and image recognition software, written in C/C++, (my second language), under a Linux OS, which will also handle the networking and GPRS comms.
The following is a diagram showing an idea of how this will look on the hardware side. As I build it, I’ll document it fully, but this will serve to demonstrate the proposition (and if you can tell me where the line in italics comes from then you win my absolute admiration for geekiness).
Mindmap of Ripley, utilising the RC2014 & Raspberry Pi 3B
The original design called for the Pi to play both the part of hardware controller, comms manager and AI. Even with the quad core ARM processor and running Linux for the OS, this would probably be a difficult task, especially as a camera and image recognition is involved.
It may be that the camera streaming and comms can be handled by the RC2014, taking more of the load off the Pi, leaving more resources for AI and database processing.
Much of the hardware is readily available. Most of it I ordered online via Amazon but, some of it is kit that I had lying around, eg: the chassis with servos and drive motor, power supply (7.2v 7200 mAh battery), camera. The connectors, ultrasonic sensors & stepper motor are part of an electronics kit designed for use with the Pi. The power distribution, H-Bridge motor control & servo control are all purchased seperately along with, of course, the Pi and RC2014 themselves. I will provide a complete list of hardware later.
The RC2014 uses Z80 assembler as its native language so it’s fast with very little lag in processing, despite the 7.3MHz clock speed. The digital I/O board can be adapted to interface with the digital connections of the control hardware.
The Pi, in this case, uses a cut down version of Ubuntu 14.04 with the control and AI software written in C/C++ via MS Visual Studio, (connected to the Pi via SSH), for source control (GIT). The Pi will still need to have the wiringPi interface software installed for the GPRS and image recognition but, otherwise, it will use either the RC2014’s 115kbaud serial interface or, (if I can create the interface), the address/data buses to communicate.
For reference, Ripley_v1_Main_v3_A (pdf) is the last original design for Ripley.
So, that’s a quick overview of how things stand. I can’t guarantee regular updates, my job is unpredictable but I will keep updating as best I can. Of course, commments are welcome, just keep them clean.