LinuxDevices.com Archive Index (1999-2012) | 2013-current at LinuxGizmos.com | About  

Android app remote-controls three robots

Mar 10, 2009 — by Eric Brown — from the LinuxDevices Archive — 60 views

Robot manufacturer Surveyor Corp. has released an open-source Google Android application that remotely operates its Blackfin-based robots. Surveyor demonstrated the SRV-1 Console Android software running its SRV-1 Blackfin Robot (pictured) and YARB Robotic Blimp, as well as a Macpod Software robot that slices… cupcakes.

(Click for larger view of Surveyor SRV-1 Blackfin Robot)

Surveyor builds a variety of robots that incorporate its open source Surveyor SRV-1 Camera Board and SRV-1 firmware. The latter appears to be based on the uClinux distribution available with the Analog Devices Blackfin BF537 digital signal processor (DSP), along with a Java-based application stack (an alternative build supporting Python is also available).


SRV-1 Blackfin Camera Board
(Click to enlarge)

The new SRV-1 Console Android app runs on an HTC G1 phone, using its WiFi radio to remotely control and access live video feeds from the various robots.


SRV-1 Console app running on HTC G1

Surveyor has demonstrated the Console Android app with several robots, including the prototype SRV-1 Blackfin Robot (pictured at top), and its relaunched YARB Robotic Blimp, a helium-powered mini-dirigible (see farther below). Meanwhile, Macpod Software's Jeffrey Nelson, who was the principal developer of the Android-based SRV-1 Console, has demo'd a version of the app running on his own cupcake-cutting Forknife2 Robot (see below), which is also based on the Surveyor SRV-1 Camera Board and SRV-1 firmware.


Forknife 2 prepares to strike
(Click to enlarge)

The SRV1-Console code, which has been contributed to Google Code as an open source project, taps into the SRV-1 firmware's SRV-1 Control Protocol. The protocol uses ASCII characters, or ASCII followed by 8-binary or ASCII decimal characters. The Android app also leverages the G1's WiFi connection, touchscreen interface, and video playback capabilities, and uses its tilt sensors for navigation.

SRV-1 Blackfin Camera Board

All three of the supported robots are built around an SRV-1 Blackfin Camera Board (pictured above). The board is equipped with a 1000MIPS, 500MHz Analog Devices Blackfin BF537 DSP, 32MB SDRAM, and 4MB SPI flash memory, says the company. The board also includes an Omnivision OV9655 1.3-megapixel sensor, a Radio/Motor Control Module with 802.11g WiFi, and a Stereo Vision System that includes two SRV-1 Blackfin Cameras.


Surveyor Stereo
Vision System

(Click to enlarge)

The SRV-1 Blackfin Camera Board firmware's application layer is written in Java, and uses Analog Devices's uClinux GNU Blackfin Toolchain (bfin-elf-gcc), says the company. The firmware is said to offer the following features:

  • Full-speed frame capture direct to SDRAM at 1280×1024, 640×480, 320×256 or 160×128 resolutions
  • JPEG (Motion JPEG) compression
  • Basic image processing with histogram, pixel sampling, mean, frame difference, blob, scan, count, find
  • Motor control for PWM (H-bridge) and PPM (servo) interfaces
  • Built-in interpreters for Small C or Lisp languages for autonomous operation
  • Real-time clock (milliseconds since reset), internal timer resolution to 10 nanoseconds
  • Direct control of I2C and SPI devices
  • In-Application-Programming (IAP) of flash memory
  • XMODEM protocol
  • Direct support for up to four Maxbotics ultrasound rangers

Surveyor SRV1 Blackfin Robot

Targeting research, education, and exploration applications, Surveyor's SRV1 Blackfin Robot prototype mounts the SRV-1 Blackfin Camera Board on a quad-motor tracked mobile robotic base. The 5 x 4 x 3-inch robot can operate as a remotely-controlled webcam or a self-navigating autonomous robot, says Surveyor.


SRV1 Blackfin Robot

In addition to being controllable from the Android SRV-1-Console app, the SRV-1 robot can run onboard interpreted C programs or user-modified firmware, or can be remotely managed from a Linux-, Windows-, or Mac OS/X base station using Python or Java-based console software. The latter includes a built-in web server to monitor and control the SRV-1 via a web browser. It can also archive video feeds for on-demand or scheduled viewing. Additional software support for the “fully-programmable” SRV-1 is also available from RoboRealm machine vision software, Microsoft Robotics Studio, and Cyberbotic's Webots, says the company.

SRV-1 Blackfin Robot features are said to include:

  • SRV-1 Blackfin Camera Board
  • Open source design with full access to source code (GPL) and schematics
  • Range — 100 meters (about 328 feet) indoors, and 1000 meters (about a mile) line-of-site
  • Teleoperate mode to drive robot via console software or remotely via web browser
  • Sensors — 2 x laser pointers for ranging, support for up to 4 x Maxbotics ultrasonic ranging modules, and various I2C sensors
  • Host software with built-in web server and video archiving
  • Can run programs written in interpreted C and stored in onboard flash
  • Linux 2.6 support, plus “bare metal” programming with GNU bfin-elf-gcc
  • Tank-style treads with differential drive via four DC gear-motors (100:1 gear reduction)
  • Speed — 20cm to 40cm per second (about one foot/sec or .5 mile/hour)
  • Dimensions — 5 x 4 x 3 inches (120 x 100 x 80mm)
  • Weight — 12 oz (350gr)
  • Power — 7.2V 2AH Li-poly battery pack; 4+ hours per charge; 100-240VAC 50/60Hz charger


YARB Robotic Blimp with G1 running Android console app

YARB Robotic Blimp


SRV-1 camera board
mounted on YARB

(Click to enlarge)

This updated version of Surveyor's original YARB blimp uses a lighter rig for the helium-filled drone. The console communicates via WiFi with an unmodified SRV-1 Blackfin Camera, which is mounted to the blimp gondola. The SRV-1-Console Android app takes advantage of the G1's tilt sensors to offer a real-time physical steering mechanism.

The main objective of the open source YARB project is to explore core computer vision algorithms for autonomous navigation, says Surveyor. The camera provides continuous live-image capture for onboard “optical flow” calculations, which can be used for obstacle detection and velocity measurement. The YARB team is now enhancing additional algorithms for building a 3D map of the environment needs, using shape and color features extracted from captured images, and then correlated with position and orientation sensor input.


Forknife 2 detail
(Click to enlarge)

Macpod Forknife 2

Macpod Software's well-named hobbyist robot is a proof of concept for the Android console app. It offers a very specific function: hunting down the nearest cupcake, grabbing it with its twin forks and knifing it in two.

The Android SRV-1 Console Android app uses the accelerometers for natural steering movements, as the remote operator views the WiFi-transferred video images from the robot. The G1's trackball is used to control the fork and knife servos.

In the below video, the work-in-progress bot did not quite manage to split the cupcake in two. Nevertheless, cupcakes are urged to stay clear of this beastie, as Macpod's Jeffrey Nelson warns that, “There are still tons of things I want to add to this application.”

Forknife 2, armed to the teeth

Availability

The SRV-1 Console app is available for free download now at this Google Code page, and the Surveyor blog post on the project is here. These pages have links to video clips, as well detailed pages on each robot.


 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.