In response to a request from a robotics magazine for an overview of the SRV-1 Blackfin architecture, I wrote the following. Perhaps this will also provide a useful summary for new SRV-1 Blackfin users ...
=========================
From a hardware perspective, our products are organized as follows -
1. The SRV-1 Blackfin Camera - this is our core Blackfin processor card with a 1.3MPix camera module and a 32-pin expansion bus, as described here -
http://www.surveyor.com/blackfin/ 2. A set of expansion i/o circuit boards, mostly as open source published here -
http://www.surveyor.com/blackfin/#blackfin1 - in Eagle PCB format, though some 3rd party expansion boards already exist, including one from
www.abotics.com. The main configurations are the "Combo Matchport / Motor Driver" and the forthcoming "Stereo Camera". These boards host the SRV-1 Blackfin Cameras, the Matchport WiFi radio module, H-bridge motor interface, transistor drivers for laser pointers or LED lighting, and provide regulated 3.3V from the battery source,
3. A motorized robot base - the latest version was a cooperative design with Inertia Labs -
http://www.inertialabs.com/srv.htm The SRV-1 Blackfin Robot is comprised of the SRV-1 Blackfin Camera, the combo Matchport / motor board, and the new Inertia Labs base. The main point I wanted to make is that many of our customers and projects build around just the SRV-1 Blackfin Camera or Blackfin Camera + radio / motor board. Examples of this include -
http://www.surveyor.com/cgi-bin/robot_journal.cgi/2008/02/04#141 http://www.societyofrobots.com/robot_ERP.shtml http://www.surveyor.com/YARB.html http://www.surveyor.com/cgi-bin/yabb2/YaBB.pl?num=1205375683 http://www.surveyor.com/cgi-bin/robot_journal.cgi/2007/11/25#130 http://www.surveyor.com/cgi-bin/robot_journal.cgi/2008/02/03#140 From a software perspective, it is worth mentioning that there is a uClinux port to the SRV-1 Blackfin Camera, but the default configuration preferred by most users is "bare metal" (no operating system) code that is published as open source that fits 100% in the L1 cache of the Blackfin and runs very fast. The command interface to the firmware is described here -
http://www.surveyor.com/SRV_protocol.html All of the 3rd party software for the SRV-1 such as Microsoft Robotics Studio, Roborealm, Webots, interfaces to the SRV-1 Blackfin through this protocol, as do our java-based SRV1Console, python-based pySRV1Console, and various customer-published consoles and development environments, e.g.
http://www.voxatec.com/ http://www.transterpreter.org/ http://www.swarthmore.edu/NatSci/mhsieh1/Courses/E28/ http://agents.sci.brooklyn.cuny.edu/robotics.edu/bcsoftware.php Also built into the SRV-1 firmware is picoC C interpreter.
So there are 3 main modes of interfacing to / controlling the SRV-1 -
1. use one of the above-mentioned console / development environments
2. write code for the on-board picoC interpreter
3. modify and recompile the SRV-1 firmware using the GNU bfin-elf-gcc compiler toolchain or Analog Device's VDSP++
Our users are fairly evenly divided in these approaches, and you will find active discussions of these various efforts on the Surveyor Robotics Forum -
http://www.surveyor.com/robot_forum.html ===========================