Xanthus Remote Page

    The remote sensory platform has an IBM Thinkpad notebook onboard, 802.11b (we need to bump to g for full streaming video to the server), interfaces to the motors with a custom built circuit hooked to the parallel port, two pulse width modulators for the motor speed control (we added because the remote moved too fast), has a CMUCam for attentional focus, a USB cam for realtime video analysis, microphone with a Proteus CI, a Devasys USB to i2c bus and misc. i/o card, 4 Devantech SRF08 i2c sonar modules (one at each compass point). We have, but haven't installed yet a Devantech i2c electronic compass module that provides the heading based on the geomagnetic field. There are punishment and a reward buttons, and we intend to add bump sensors all the way around the chassis.

    The original design had some lower brain style processing being done by the notebook, but this has proven problematic because of the overhead of driving the sonars and cameras. You have to "ping" each sonar and then read it 65ms (or more) later.  When lengthy processing occurred the sonar polling would fall behind causing timing problems. 

    On the other end of the wireless link is a Dell 2.66Ghz server with 512MB and 160GB of hard disk space. The Xanthus software is designed to be scaled, so that adding additional servers to the cluster is essentially plug and play.

    We are in the process of moving even the "lower brain" reflexive type functions to the server, so the notebook will basically just act as a relay for the sensors and actuators. There is also a 100ms "heartbeat" between the server and the remote, so that it shuts down the actuators if the brain goes offline for any reason.


Motor controller circuit (without PWM modules)



SRF08 Ultra sonic range finder

Technical Specification

Communication with the SRF08 ultrasonic rangefinder is via the I2C bus. This is available on popular controllers such as the OOPic and Stamp BS2p, as well as a wide variety of micro-controllers. To the programmer the SRF08 behaves in the same way as the ubiquitous 24xx series eeprom's, except that the I2C address is different. The default shipped address of the SRF08 is 0xE0. It can be changed by the user to any of 16 addresses E0, E2, E4, E6, E8, EA, EC, EE, F0, F2, F4, F6, F8, FA, FC or FE, therefore up to 16 sonar's can be used. In addition to the above addresses, all sonar's on the I2C bus will respond to address 0 - the General Broadcast address. This means that writing a ranging command to I2C address 0 (0x00) will start all sonar's ranging at the same time. This should be useful in ANN Mode (See below). The results must be read individually from each sonar's real address. We have examples of using the SRF08 module with a wide range of popular controllers.


Sonar data

http://www.robot-electronics.co.uk/htm/srf08tech.shtml

schematic

http://www.robot-electronics.co.uk/images/srf08schematic.gif


USB I2C/IO P.C.B. (Rev. B)


Product Summary:
The USB I2C/IO interface board provides a simple, "drop-in", solution for customers that need to connect hardware to a P.C. The board provides 20 bits of user-configurable digital I/O, a 90Kbps I2C interface, and an 8 bit wide data bus for fast FIFO transfers.

Key Features
12Mbps USB interface to host P.C. 
Cypress AN2131QC micro-controller. 
20 bits of user configurable, digital I/O, via a commonly available, 34 pin connector. 
90Kbps I2C interface, onboard 16KB I2C eeprom, 5 pin connector for attaching external I2C hardware. 
USB Status LED, lights on enumeration, blinks to indicate USB traffic, off when suspended. 
Break LED, useful when developing new firmware, also will be controllable via our API software 
Small form factor (3.0" X 2.25") with 0.125" mounting holes in corners. 
Downloadable board firmware, simplifies updates and allows for code customization. 
Included API (applications programming interface) software gets your application up and running fast! 

Applications
USB to I2C bridge for interfacing to a wide variety of I2C components. 
USB to digital I/O bridge for interfacing to switches, LEDs, and other hardware. 
USB to FIFO bridge for interfacing to FPGA's and other hardware. 
Low cost USB development platform for AN2131QC (note: no address bus availability). 
Test fixture interface. 
Rapid prototyping interface. 
Data Acquisition. 

Hardware
The full-speed USB interface provides your application hardware with a "Hot Plug and Play", 12Mbps, industry standard connection to your P.C. host.

Utilizes Cypress Semiconductors AN2131QC USB micro-controller. 
Power configuration jumper allows board to be powered by USB or by external circuitry. 
I2C power configuration jumper allow I2C bus to be powered by variety of sources. 
Eeprom enable/disable jumper allows board to be used as an AN2131QC development platform for developing your own firmware. 
Eeprom Write Protect jumper provides protection from accidental onboard eeprom erasure. 



USBi2cIO data

http://www.devasys.com/usbi2cio.htm

schematic:

http://www.devasys.com/i2ciob/schematic.pdf


DC Motor Speed Controller Kit (KIT 67)


Control the speed of any common DC motor rated up to 100V (5A). Operates on 5V to 15V. Uses NE556 to pulse-width modulate a high current switching power transistor, TIP122. In this way motor torque is maintained. Adjustable speed control. Box mounted. 

Motor speed controllers:

http://www.circuitspecialists.com/prod.itml/icOid/3349

details:

http://st4.yahoo.com/lib/webtronics/kit67.pdf


CMUcam Kit


Developed by Carnegie Mellon University who selected Acroname to provide the kit under license agreement, the CMUcam is a new low-power sensor for mobile robots which can do several different kinds of on-board, real-time vision processing. The CMUcam uses a serial port and can be directly interfaced to other low-power processors such as PIC chips. Using a CMUcam, it is easy to make a robot head that swivels around to track an object. You can even build a robot that will chase a ball around.

The kit comes with everything you need to get started with the camera. The software for your PC or Linux machine is available for download on the CMU site and we pre-program the Scenix chip with the most current version of the firmware. This firmware can later be upgraded but requires a programmer for subsequent changes. This kit is shipping with the current version 1.12 of the firmware.

At 17 frames per second, the CMUcam can do the following:

track the position and size of a colorful or bright object
measure the RGB or YUV statistics of an image region
automatically acquire and track the first object it sees
physically track using a directly connected servo
dump complete image over the serial port
dump a bitmap showing the shape of the tracked object
The camera dimensions are 2.25" wide x 1.75" high x 2" deep. The camera kit uses a Omnivision OV6620 single-chip CMOS CIF color digital camera with a 4.0mm, F2.8 lens and IR filter.




CMUCam kit:

http://www.acroname.com/robotics/parts/R140-CMUCAM-KIT.html

schematic:

http://www-2.cs.cmu.edu/~cmucam/Downloads/CMUcamManual.pdf


CMPS03 - Robot Compass Module


This compass module has been specifically designed for use in robots as an aid to navigation. The aim was to produce a unique number to represent the direction the robot is facing. The compass uses the Philips KMZ51 magnetic field sensor, which is sensitive enough to detect the Earths magnetic field. The output from two of them mounted at right angles to each other is used to compute the direction of the horizontal component of the Earths magnetic field. We have examples of using the Compass module with a wide range of popular controllers. 

Connections to the compass module



The compass module requires a 5v power supply at a nominal 15mA. 
There are two ways of getting the bearing from the module. A PWM signal is available on pin 4, or an I2C interface is provided on pins 2,3.

The PWM signal is a pulse width modulated signal with the positive width of the pulse representing the angle. The pulse width varies from 1mS (0° ) to 36.99mS (359.9° ) – in other words 100uS/° with a +1mS offset. The signal goes low for 65mS between pulses, so the cycle time is 65mS + the pulse width - ie. 66ms-102ms. The pulse is generated by a 16 bit timer in the processor giving a 1uS resolution, however I would not recommend measuring this to anything better than 0.1° (10uS). Make sure you connect the I2C pins, SCL and SDA, to the 5v supply if you are using the PWM, as there are no pull-up resistors on these pins.

Pin 2,3 are an I2C interface and can be used to get a direct readout of the bearing. If the I2C interface is not used then these pins should be pulled high (to +5v) via a couple of resistors. Around 47k is ok, the values are not at all critical.


Compass module:

http://www.robot-electronics.co.uk/htm/cmps3doc.shtml



Front lower view

 

Front from above and on the right

 

   Right side view

 

  Rear view

 

  Rear, lower view

 

  Left side view

 

  Front above left


 

Return to Xanthus Research

Return to Research


Home


Contact info@artificialingenuity.com
Copyright © 2005 Artificial Ingenuity, LLC
Last modified: June 11, 2005
Initial design by Webinizer, LLC