Navigating The Dark Side: Controlling Robots With Zero Radio Communication

While autonomous robots have been the subject of some projects in the past, this particular project takes a swing at building a robot that can teach children about controls and robotics.

The idea is to mimic a space mission on the dark side of the moon, where radio contact is nearly impossible. The students learn to program and debug embedded devices and sensors, even before some of them have learned the alphabet!

The material for the challenge allows the microcontroller to be programmed in a simple Arduino program (Blink) as well as lower level languages like C++ or Java. The main hardware consists of an Arduino Uno R3-based rover controlled over WiFi by an ESP8266. The sensor data from the robot is gathered from an ultrasound distance sensor an a camera, as well as a SIM7000E GSM+GPS. Commands are polled from a server, sent via a web page and REST interface.

The rover responds to commands for directions, takes pictures, and scans its distance remotely. Some custom libraries are written for the serial communication and camera to account for spotty communication. The latest challenge expansion is a probe that pays attention to battery life and power consumption, challenging students to account for power usage during the robot’s lifetime.

Since the project’s conception, the rovers have already been used in schools, and we’re excited to see a new approach for younger students to learn controls and programming.

15 thoughts on “Navigating The Dark Side: Controlling Robots With Zero Radio Communication

  1. Oh please, the “dark side” of the moon is brutally blasted by the sun fully half the time!

    It’s not pedantic to call it “the far side.” So can’t we keep injecting a little correctness into popular discourse? Even if (especially if) the program being discussed gets it wrong?

  2. Can somebody elucidate on the tracks used in the picture? – What is the ‘triangle’ shape good for? If the motor was on the upper ‘point’ of the triangle, i’d get the use, namely having a high clearance between the tracks. But with this design, the motors are on one of the lower ‘points’ of this triangle making the clearance only a few mm, and also bringing the motors near the (possibly wet) ground.

    Is this about making it look less like a tank and more like a cuddly movie robot? Are these treads some set length, and you simply have to put the spare lenght somewhere if you build a short robot? Is there some mechanical advantage? Is there some advantage on not having a horizontal upper tread mud-/water-/sand-wise?

  3. It’s in the project logs. The whole idea is to simulate the communications lag of have a rover on another planet. All commands and return data have to go via the server so there is no direct link, and the lag is variable.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.