Voice Controlled Rover Follows Verbal Instructions To Get Around

Typically, when we want to tell a robot where to go, we either pre-program a route or drive it around with some kind of gamepad or joystick controller. [Robotcus] decided to build a simple robot platform that drove around in response to voice commands instead.

The robot is based around a Raspberry Pi Zero, charged with instructing the motor controllers to drive the ‘bot around. The Pi Zero is also in charge of interpreting the voice commands via Google’s speech recognition tool. The ‘bot itself is a fairly simple design using brushed gearmotors for propulsion and a 3D-printed chassis to tie everything together.

The car is capable of understanding five commands – drive, turn left, turn right, go backwards, and “attack”. The last command simply activates a flipper from the robot’s former life as a battlebot. Things ran okay at first, but the Pi Zero was slow at processing commands. The wheels also had minimal traction. A full-fat Raspberry Pi solved the latter issue, while a new chassis provided better grip.

It’s a simple project, but one that taught [Robotcus] plenty about programming and building small robots in the process. Like so many learning experiences, it’s easy to see how the robot starts out flailing uselessly and eventually starts to perform as intended. It’s always nice to see that progression. Video after the break.

Continue reading “Voice Controlled Rover Follows Verbal Instructions To Get Around”

RC car without a top, showing electronics inside.

Fast Indoor Robot Watches Ceiling Lights, Instead Of The Road

[Andy]’s robot is an autonomous RC car, and he shares the localization algorithm he developed to help the car keep track of itself while it zips crazily around an indoor racetrack. Since a robot like this is perfectly capable of driving faster than it can sense, his localization method is the secret to pouring on additional speed without worrying about the car losing itself.

The regular pattern of ceiling lights makes a good foundation for the system to localize itself.

To pull this off, [Andy] uses a camera with a fisheye lens aimed up towards the ceiling, and the video is processed on a Raspberry Pi 3. His implementation is slick enough that it only takes about 1 millisecond to do a localization update, netting a precision on the order of a few centimeters. It’s sort of like a fast indoor GPS, using math to infer position based on the movement of ceiling lights.

To be useful for racing, this localization method needs to be combined with a map of the racetrack itself, which [Andy] cleverly builds by manually driving the car around the track while building the localization data. Once that is in place, the car has all it needs to autonomously zip around.

Interested in the nitty-gritty details? You’re in luck, because all of the math behind [Andy]’s algorithm is explained on the project page linked above, and the GitHub repository for [Andy]’s autonomous car has all the implementation details.

The system is location-dependent, but it works so well that [Andy] considers track localization a solved problem. Watch the system in action in the two videos embedded below.

Continue reading “Fast Indoor Robot Watches Ceiling Lights, Instead Of The Road”