|Surveyor Robotics Journal|
Thu, 19 Jul 2007
Update on next-generation SRV-1 robot controller with Blackfin BF537 processor, 1.3 megapix camera and Linux
We received our first small batch of processor cards this week for testing. As mentioned in a previous Surveyor Robotics Journal post, we're using a 500MHz Analog Devices Blackfin BF537 processor with 32MB SDRAM and 4MB flash and an Omnivision OV9655 1.3 megapixel sensor. The camera interface is Omnivision's AA standard, so in theory we can support other camera modules, and the camera lens is interchangeable.
The external connector has interfaces to 2 UARTs, SPI, I2C, various timers, and 16 GPIO. The processor card is 60mm x 50mm ( 2.4" x 2.0"), and combined with the camera weighs approx 32-grams (a bit over 1-oz). We had originally planned on 50mm x 50mm, but that would have required a 6-layer board, so by increasing the length slightly, we stayed with 4-layers, which is considerably less expensive. We will be running Linux 2.6 (technically, it's uClinux) on this board.
At the moment, the board powers up and loads a program via UART, but we don't know if the program is running, probably because we don't have memory or UART configured correctly in software. We just ordered a new JTAG interface for in-circuit testing, but that may not arrive for a week, so we will continue to poke around with software-based debugging in the mean time. Once we sort out the hardware configuration, we should be able to get u-Boot running, and that will get us most of the way to loading a Linux kernel. I will post an update when we finally get things up and running.
We already have customers who are waiting to use this board for UAV applications, but we also intend to produce a new version of the SRV-1 controller that hosts this processor card and camera with a WiFi radio module on the existing robot chassis. The new controller will still run the SRV_protocol, so all of the existing applications such as Pyro/Myro, Microsoft Robotics Studio, Player, Roborealm, SRV1Console, etc, should continue to function transparently, though speeds and resolution will be higher. We don't yet have a timeframe for the updated controller, but once we get Linux up and running, things should move along quickly.
Wed, 18 Jul 2007
Simple (cheap) laser range finder
I recently located a very compact and cheap laser pointer to use as a range finder in conjunction with the SRV-1 camera. The laser is quite bright, but draws less than 45mA, is only 33mm long x 12 mm diameter (1.5" x 0.5"), and costs around $2 plus freight from Hong Kong.
Here's the ebay store that I purchased from ... Sure Electronics
It was really simple to add to the robot - I just replaced one of the IR LED's, and the existing interface electronics were exactly right for switching the laser on and off.
I used masking tape for a temporary mount, but it shouldn't be difficult to come up with a more permanent configuration.
Ideally, the laser should be mounted as far as possible from the camera to establish a long baseline that can be used to triangulate distances, but even with a baseline of only 2", it is possible to resolve distances of up to 6-8 feet with some accuracy at low camera resolution (160x128), with accuracy improving as objects get closer.
approx 10 ft
approx 6 ft
approx 3 ft
A nice configuration would be two or more lasers, with one or more looking forward, and one pointing downward to detect floor drop-offs. The beam can be focused or diffused to create a larger reflection, and the built-in SRV-1 image processing routines can be used to locate the bounced laser light, with the laser being switched on and off to confirm identity of the reflection.
We need to experiment with this approach and get some feedback from users, but given the lower cost and easy integration, we may consider replacing the SRV-1's IR components with these small lasers in future production.