On May 17, 2011 Ryersons’ Interactive Computing Applications and Design Group (ICAD) demonstrated their latest projects. The session starts with a demonstration of using Microsoft Kinect hardware to control a computer mouse. Next, the group shows the use of a gestural interface to control Google Earth, followed by a demo of using Kinect to control a avatar in Second Life.
The session continues with a demonstration of a potential application to control a small arduino based robot over bluetooth using gestures. Following this the ICAD staff show the use of Kinect as a tracking and control mechanism for a Point-Tilt-Zoom (PTZ) camera. This approach allows them to track up to five people without active trackers. The data from the Kinect camera is used to instruct the PTZ camera where to “look”. Once a person is identified (by putting up their hand) the kinect will try to track the person around the room and make sure the PTZ camera follows the person as well. Switching the tracked person is done by raising ones hand.
Their last demo will show a gestural based keyboard that will eventually be tied into a interactive phonebook application where the user can type the name of a contact using gestures and automatically dial the number through a voip application (ie: google talk).
Wow, this little guy is cool. Check out Surveyor Corporation’s Open Source Wireless Mobile Robot . Very neat little package for just $475. While there, you might also want to check out YARB 1.0 (Yet Another Robotic Blimp) robot, also pretty neat. Here is a bit of a description according to their site:
Designed for research, education, and exploration, Surveyor’s SRV-1 internet-controlled robot integrates a 1000MIPS 500MHz Analog Devices Blackfin BF537 processor, a digital video camera with resolution from 160×128 to 1280×1024 pixels, laser pointer ranging, and WLAN 802.11b/g networking on a quad-motor tracked mobile robotic base.
Operating as a remotely-controlled webcam or a self-navigating autonomous robot, the SRV-1 can run onboard interpreted C programs or user-modified firmware, or be remotely managed from a Windows, Mac OS/X or Linux base station with Python or Java-based console software. The Java-based console software includes a built-in web server to monitor and control the SRV-1 via a web browser from anywhere in the world, as well as archive video feeds on demand or on a scheduled basis. Additional software support for the SRV-1 is also available by way of Microsoft Robotics Studio, Cyberbotic’s Webots, and RoboRealm machine vision software.
Open Source design with full access to source code (GPL) and schematics
Robot is fully programmable for autonomous operation
Extensive software support through 3rd party applications
Teleoperate mode to drive robot around via console software or remotely via web browser
Host software has built-in web server and video archiving
Robot can run programs written in interpreted C and stored in onboard Flash
Wireless remote control or viewing up to 100m indoors and 1000m outdoors (line of sight)
Robot can be controlled from a terminal/console for easy testing
Linux 2.6 support as well as “bare metal” programming with GNU bfin-elf-gcc
Robot Firmware: easily updated, written in C language under GPL Open Source, compiled with GNU bfin-elf-gcc and bfin-uclinux-gcc toolchains
Onboard User Programming: interpreter for C language with special robot-specific commands are provided for running user programs from onboard Flash memory
Development Tools: GNU toolchains via http://blackfin.uclinux.org
Console Software: Java based application, runs on Windows, MAC, Linux. WebcamSat web server module built into console software, allows multiple simultaneous remote viewers via Internet
Robot Control Protocol: Published here. Easily used from other applications
Third-party Software Support:
RoboRealm – http://www.roborealm.com/help/Surveyor_SRV1.php – The SRV-1 can now be directly controlled from RoboRealm, a very popular Windows-based machine vision software package for robots. The RoboRealm extensions for SRV-1 allow creation of scripts that combine image processing on live video feeds from the robot, e.g. color filtering, blob detection/tracking, edge detection/outlining and feature extraction, with decision processing and robot motion control, making it easy to create behaviors such as object location and tracking, obstacle avoidance, motion detection, notification, etc, with a web interface, and control can be scripted from C/C++, Python, Java, C#, Lisp, Visual Basic, WScript and COM through the RoboRealm API.
Microsoft Robotics Studio – http://www.surveyor.com/MSRS.html – Drivers for the SRV-1 in Microsoft Robotics Studio are now available. MSRS is a Windows-based environment for academic, hobbyist and commercial developers to create robotics applications across a wide variety of hardware. Key features and benefits include: end-to-end robotics development platform, lightweight services-oriented runtime, and a scalable / extensible platform.
Yeah, now I know what I’ll be doing with my next 500 bucks :-).
Yeah, now I know what I am gonna do with the packing foam that comes with the purchase of our next 50 Dell Servers. Michael Salter’s creations can be viewed at San Jose Museum of Art, Robots:Evolution of a Cultural Icon, up thru 10/08. Totally cool and creative. Definitely one for the “I wish I’d thought of that” category :-). You can also watch Michael build the behemoth from the ground up below.
For all the Nokia N800 fans out there……this is what happens if Nokia was sponsoring your High school :-). Seriously though, this is a fantastic example of what kids (and adults) can do using the opensource N800 platform for robotics control. Now who’s gonna stick one of these things on a gas powered RC car…..Dibs on the Remote :-)