SOLARBOI

Updated 03 February 2022

Since I was young, I've always loved to explore. Over the years, I've tinkered with RC cars and played with planes, which were always plenty of fun. But I always dreamed of going out further - out into the real world, far beyond the confines of my house or my street.

I wanted to build a robot that could go round the corner, beyond the line of sight - and keep going. To do this, I whipped up a robot kitted out with a camera, a 4G data connection, and a solar power system capable of enabling missions days, weeks, or even months long. I now regularly stream live missions on Twitch.tv, and SOLARBOI does his part in trying to go further into the Australian countryside than any robot ever has before!

SOLARBOI's missions consist of our robot being dropped in an Australian country town, with the aim being to navigate our way out, into the countryside, and on to further destinations. It can receive no external assistance on its mission, else it is considered to have failed. It must make its way, kilometer by kilometer, over days and weeks, relying only on the sun to charge and the 4G network for communication back to base. While the basics of the project sound easy, pulling it off is incredibly hard!

The Hardware

A remote control truck

A pile of components on a desk

While many have built custom rover designs and submitted them online, I elected to use a toy I already had on hand - The Radio Shack RAMINATOR. It looks cool, has big tyres, four-wheel drive, and working suspension out of the box. While it's optimised for speed over torque, I decided that this would do nicely as the basis of my rover project. After some initial experimentation with the stock electronics, I eventually relented and decided to upgrade. I stuck in a Hobbyking ESC for the motor, while I removed the original steering setup and replaced it with a proper servo.  Lithium polymer batteries were installed to provide juice to drive for hours at a time.

Command and control is important, and as we wanted to talk over the 4G network and send live video, we needed a proper computer on board. For this, I settled on a Raspberry Pi Zero. Designed to sip a small amount of energy, it's compatible with USB peripherals and is perfect for an internet-connected project. As a bonus, it works well with the Raspberry Pi camera peripheral, key to giving us a view of the robot's surroundings when we're out in the field. I chose a fish-eye camera lens for SOLARBOI, giving us a nice wide view to help navigate the world at large. For a connection back to home base, we rely on a Sierra Aircard 320U 4G dongle, which gives us the high bandwidth we need to send commands to the robot and receive video back. External antennas are a must, as country towns often have limited 4G reception - and it’s worse when you’re just a foot off the ground!

Solar power is key to SOLARBOI's mission, hence the name! We use a 20W solar panel to make the most of the sun available, even on days that are more overcast than sunny. This plastic, flexible panel was chosen for its lightweight and ease of mounting to the robot, and decent power output. Bigger is always better in power terms, but the rover chassis can only support a panel up to a certain size. It's used to charge up the batteries during the day, so that SOLARBOI can then drive at night, away from prying eyes and malicious interlopers. This is done through an MPPT, or Maximum Power Point Tracking, module. This module enables the rover to get the most possible energy out of the panels in all conditions, which is important as the rover is limited to a small panel for reasons of weight and size. 

As solar power is limited, we can’t simply turn SOLARBOI on with a Raspberry Pi running around the clock. Instead, the Pi needs to be powered down most of the time, and turned on at regular intervals to report SOLARBOI's position, and allow us to login and drive the robot when we wish. To achieve this, an Arduino Pro Micro runs a special program that turns SOLARBOI on at specific times with respect to a schedule, optimized for the best driving times when the country footpaths are deserted. SOLARBOI generally turns on for 5 minutes when waking up, and if we login to the robot from Mission Control, it will stay on, allowing us to execute the mission. If it doesn't detect a connection, it powers everything back down to save energy and make the most of the solar power available. This is achieved with a series of relays, with the Arduino firing off the main relay to switch battery power to the Raspberry Pi when necessary. The Raspberry Pi then controls a series of further relays which allow power to be switched to the main motor speed controller, infrared headlights, and lens heater. Being able to switch components off is important, as this saves power, which is in limited supply due to the solar-powered nature of the project.

GPS is also used in order to make sure Mission Control is always aware of SOLARBOI's position. Driving in the countryside in the dead of night, it can be very difficult to navigate by visual cues alone. Thus, the GPS allows us to maintain a fix on the robot's location, and reach our goals deep into regional Australia. Further upgrades will involve installing an IMU so that we can more accurately track our compass bearing to stay on target, as our current command infrastructure means we only get GPS data every 8 seconds, which can make navigation difficult when in areas with few visual landmarks.

The Software

The control panel of the SolarBoi robot

Obviously, it's all well and good having a rover, but it needs software to make it work. SOLARBOI's software is under constant development, enabling better performance and improving ease of use over time.

The rover uses Raspbian, the default OS of the Raspberry Pi Zero. Mission Control runs on Windows. This causes some issues with various Linux utilities having to be specially installed at Mission Control. Ultimately, however, this setup has allowed us to drive many successful kilometers with SOLARBOI, and does the job well.

Video is streamed from the robot back to Mission Control via Gstreamer. It's hard to use, and not well documented for the beginner. However, it enables us to have a low latency audio and video stream from the robot that's just about good enough for us to drive without too many problems. Dropouts do occur, and there is some lag, but when you're building world-first robots to explore the countryside, you make the best of what you have! Streaming is done in native H264 from the Raspberry Pi Camera, to avoid putting too much load on the Pi Zero by transcoding on the fly.

Control of the robot is via custom Python code, with a server/client architecture. Using libraries like PiGPIO and Servoblaster, we're readily able to control the robot's drive system and other functions in real-time. Installation is a cinch, thanks to the well-developed Raspberry Pi ecosystem. Recent upgrades have involved putting important functions, like starting the camera and turning on the headlights, onto the F-keys on the keyboard. This massively improves the robot’s usability and saves our Twitch streams from being slow due to excessive command-line hacking in the middle of a mission. 

We use a variety of libraries in Python to display telemetry on the screen. Most important is MatPlotLib, which plots our battery graphs in Mission Control that enable us to monitor SOLARBOI's performance during a live mission.


How to build a SOLAR BOI

To create a 4G solar rover like SOLARBOI, you'll need to do the following:

1. Get a Raspberry Pi Zero, install it in an RC car, and have it control steering and drive through Servoblaster PWM outputs and Pi GPIO. Check out this tutorial to learn how to set this up.

2. Create Python scripts to allow commands to be sent to the Raspberry Pi over a network. Or, if using an Arduino, check out ArduPilot.
3. Install a Raspberry Pi Camera and use gstreamer scripts to pipe the video over a network so you can see where you're driving. Don't forget headlights!

4. Give the Raspberry Pi a 4G USB dongle, and connect to it over VPN, allowing control anywhere there is 4G signal. I've written a helpful guide here.

5. Use an Arduino to control battery power to the Raspberry Pi on a schedule, keeping it switched off most of the time to save power. 

6. Install a solar panel and MPPT battery charger.
7. Install a GPS module so you know where you're going.
8. Ready to adventure and run into things!


The Things You Only Learn in the Field

A prototype robot driving around

The robot running into a tree

No plan survives first contact with the enemy, as they say. In just such fashion, SOLARBOI has undergone many trials in its attempts to navigate to an old-fashioned phone box deep in rural New South Wales. These are lessons that can often only be learned in the field, and ones we've learned the hard way.

Stealth is of primary concern. If the robot stands out from its surroundings, it can easily be found by passers-by while charging up during the day. Due to the small size and weight of the platform, SOLARBOI could readily be stolen or destroyed, thus failing its mission. This is a risk we take every time we deploy in the wild. To mitigate this, SOLARBOI is painted in a green drab finish in an attempt to blend in. Finding a safe space to charge with plenty of sunlight but minimal visibility is a continual challenge. Choosing areas that are rarely frequented, or areas where the vision of SOLARBOI is occluded by vegetation, are key strategies to avoid problems. Thus far, SOLARBOI has managed to survive over 7 days total in the wild over a series of recent missions. 

Despite SOLARBOI's offroad credentials, it's not able to overcome every obstacle in its path. We've had issues in the past getting stuck on rocks, or crashing into small trees. Most of the time, this is down to a camera with a poor field of view, low light levels at night, and extreme tiredness on the part of the operator. With missions starting late and stretching until 3 AM in the morning, fatigue is a major factor. The high cognitive load of running a live stream, chatting with viewers, and running a complex robotic platform all conspire to add to the challenge. Upgrades to better headlights and camera hardware have been key to helping reduce these issues, as well as quality-of-life improvements to our bespoke software to ease the burden on the operator during missions. Slow and steady progress, rather than outright speed, is also a good mantra to live by to avoid crashing into objects when you're driving with a 500ms video delay.

Simply deploying in the country brings its own problems. It means that SOLARBOI's hardware must be in tip top shape, lest a journey of many hours to the deployment area be in vain. This has cost us much petrol and time in missions past, and something we intend to avoid with rigorous testing in future. Nevertheless, it's something to consider when deploying a robot far afield.

Finally, good facilities at Mission Control are a must. Caffeine is key to keeping the crew sharp and alert, as well as water to maintain proper hydration. Cheesecake often doesn’t go astray, either. Clear and up to date telemetry is also helpful to quickly diagnose problems, and a low-latency video feed free of dropouts is the best for smooth driving in the Australian wilderness. This also allows the driver to make the most of SOLARBOI's speed, where necessary, to evade passing cars, wildlife, or Shackleton the Cat, whom we met in Mission 1. 

One of the greatest resources that has come to bear in recent missions is the active community that tunes in to watch SOLARBOI’s live missions. With many eyes on the telemetry feeds, watching distance traveled, battery voltage, and keeping an eye out for potential hazards, disaster has been averted several times thanks to a quick message from the chat. The community also regularly gathers to discuss strategy, as well as potential equipment upgrades to further improve SOLARBOI’s performance in the future. 

Overall, SOLARBOI has much farther to go in future missions, and ideally, will spend many months in the field exploring far and wide. To follow SOLARBOI's journey, follow along on Twitch.tv and Youtube, and enjoy the missions below! As always, there will be more adventures to come as SOLARBOI develops and travels further and further from home!


A long exposure dark image of the horizon

A long exposure shot which was taken by SOLARBOI, while trapped in thick weeds, 3 days into a mission.


A dusty field

SOLARBOI relies heavily on a NOIR Raspberry Pi Cam v2, which does distort daytime pictures. They still look awesome, though, and future plans involve an upgrade to the new HQ camera for greater night-time sensitivity.



Check out this SOLARBOI video down below!

 

Have a question? Ask the Author of this guide today!

Please enter minimum 20 characters

Your comment will be posted (automatically) on our Support Forum which is publicly accessible. Don't enter private information, such as your phone number.

Expect a quick reply during business hours, many of us check-in over the weekend as well.

Comments


Loading...
Feedback

Please continue if you would like to leave feedback for any of these topics:

  • Website features/issues
  • Content errors/improvements
  • Missing products/categories
  • Product assignments to categories
  • Search results relevance

For all other inquiries (orders status, stock levels, etc), please contact our support team for quick assistance.

Note: click continue and a draft email will be opened to edit. If you don't have an email client on your device, then send a message via the chat icon on the bottom left of our website.

Makers love reviews as much as you do, please follow this link to review the products you have purchased.