The Proof-Of-Concept Vehicle
The POCV's purpose is to demonstrate that the Raspberry Pi can support the multiple systems needed to maintain long-term autonomous operations on water.
The POCV will be battery powered, and only run the bare essentials needed to navigate the craft on a small body of water, a lake for example. The RPi will be tasked with running the Electronic Speed Controller (ESC) which in turn manages the electric motor, taking GPS positioning information and combining that with waypoint and route information to calculate the rudder commands to navigate the POCV to predetermined locations, and take photographs and or video during its test missions.
A base-station complete with LCD, keyboard, mouse, USB hub, and an extension for the network port will be used with the POCV.
The Hardware List for the POCV.
- Command & Control: Raspberry Pi.
- Battery Pack: Six 5000mAH 1.2 Volt NiMH SubC cells.
- Hull: Models By Design Cygnus DS25.
- GPS: Navigatron v2 - i²c GPS.
- Power Regulation: Flytron 3.3v & 5v Tiny Regulators.
- Ancillaries: Adafruit 16-Channel 12-bit PWM/Servo Driver - i²c interface - PCA9685.
- Rudder: JR NES-505 Servo.
- Compass: CMPS10 - Tilt Compensated Compass Module.
- Electronic Speed Controller: Mtronics MicroViper Marine10.
- Motor: MFA 919D 540 Motor With Attached Single Ratio Metal Gearbox 2.5:1.
- Propulsion: Raboesch Brass 4 Bladed Kort Propeller RH A-Type Blades (40mm Diameter M4 Thread).
- Propshaft: Raboesch Waterproof Propshaft (186mm M4 Thread).
- Webcam: Kinobo 5 Megapixel USB Webcam .
- Wifi: TP-Link TL-WN722NC USB Wifi Dongle .
- Satellite Comms: RockBLOCK Two-Way Satellite Communicator .
The Hardware List for the Base-Station.
- 17" LCD panel & Logic Board.
- Multi-port USB Hub.
- Keyboard with integrated track-pad.
- DC-DC Converter.
- USB & CAT5e Extension Sockets.
- 512mb Raspberry Pi.
- 8gb SD Card.
- 4-Port Wifi Router.
On-board Power Systems
The POCV's power comes from a pack of six 5000mAH 1.2v SubC cells. Combined they give a total output of 7.2v at 5AH, this should give an approximate run-time of two hours for the POCV. The battery pack is charged from either a mains-supplied 1000mAH charger, or a 1, 2, or 4AH 12v DC car charger. Power to the Raspberry Pi comes from the Raspy Juice expansion board. The Raspy Juice provides a regulated +5v supply in the Raspberry Pi's GPIO header. Before the Raspy Juice power came from a single Low-Dropout Regulator (LDO). The LDO converted the 7.2v from the batteries to the 5v needed by the Raspberry Pi. The LDO was mounted on a passive cooling plate as heat is generated by the LDO when lowering the 7.2v input from the batteries to the 5v output for the Raspberry Pi. An +3.3v LDO still provides power to the i²c rails, and a +5v LDO feeds into the Adafruit 16 Channel PWM to power the servo(s).
An aluminum flight-case has been fitted with a 17" LCD, 512mb Raspberry Pi, 4-Port Wifi Router, a 12v to 5v DC-DC Converter, a 7-port USB hub, an external socket for USB & a CAT5e Network Port, and finally a Sejin SPR-8695TU keyboard with integrated trackball. The Base-Station will draw power from either a direct 12v feed from a car battery, or from a 12v 5amp mains power supply. The base-Station is designed with mobility and ease-of-access in mind. Using the umbilical cord a quick connection to the POCV will connect all the required peripherals to operate the POCV's onboard Raspberry Pi. The Base-Station will not contain any batteries nor will it be used to charge the POCV.
The build blog for the POCV on the FishPi's forum is here.
All control software for the FishPi will run on the RaspberryPi.
FishPi will be using Python as its language of choice. Liam Fraser has an excellent series of tutorials demonstrating the Raspberry Pi and how to program on it using Python. His YouTube channel is RaspberryPiTutorials
The i²c device addresses are;
- 0x20 Navigatron GPS.
- 0x29 Raspy Juice Image Loader.
- 0x32 Raspy Juice AVRmega168A.
- 0x40 Adafuit PWM.
- 0x48 Temperature sensor.
- 0x60 Compass.
- 0x68 Raspy Juice NXP PCF8523 Real-Time Clock.
- 0x70 Adafruit PWM.
There is a section on the forum relating to the software's development.