 |
Download
Download RoboHoby Software
SpyGear's 'Spy Robot'
Article about reconstruction RC toy 'Spy Robot'
How to make robot with web camera or
with cell phone on a board from it
Load to your phone
Download RoboHobbyJ2ME application
right to your Siemens S75 cell phone.
Now no need to load it to PC, unzip, etc.
RoboHobby Linux Live CD
RoboHobby Linux Live CD
is ready for download.
Projects
List of old and current RoboHobby projects.
Hardware
List of what we use as a hardware
Software
List of software, we use in our projects
Computer vision
Vision is the main sense of our robots.
See some Java algorithms we use
Tips-n-Tricks
Some advices about hardware and software tricks
PIC Programming
(firmware)
Assembler program for PIC16F628A
Communication program for sending
commands from cell phone to motors.
Driver for motor controller.
RoboHobbyPlugin
Open Source project on
SourceForge, Java brain
for the robot
Java to EXE
Article about how to compile Java
programs to native binary code
(EXE for Windows)
Range of Bluetooth, Wi-Fi, ZigBee
What is the a real connection distance
of typical Bluetooth and Wi-Fi,
ZigBee or other RF devices?
Sun SPOTs (in Russian)
Sun SPOT for hobby robotics.
Introduction lecture in Russian.
About
Some info about this site
About EATJ Java hosting
Some info about EATJ Java server-side
JSP/Servlet hosting
|
In German
Short description of www.RoboHobby.com
in German
In French
Short description of www.RoboHobby.com
in French
In Spanish
Short description of www.RoboHobby.com
in Spanish
In Italian
Short description of www.RoboHobby.com
in Italian
In Russian
Short description of www.RoboHobby.com
in Russian
|
|
|
www.RoboHobby.com
SUN SPOT as a platform for Java hobby robotics
What are SUN Spots?

Sun SPOT is small device with Atmel AT91RM9200 (ARM920T ARM Thumb processor) on a board.
The most interesting thing for me is Java (J2ME),
which is used as a programming language of this device.
Java is deep integrated to this device.
Is it possible to use them for hobby robotics?
How to do this?
What robotics task we can do with them?
I suppose that the most interesting thing is communication between robots in a group
Several weeks ago I came across the Sun SPOT Kit.
I used it for some experiments.
It is set of three devices - one base station and two 'free-air' devices.
Free-air devices have accumulator and sensor board.
Every SUN Spot has mini-USB connector and can be connected
to desktop computer as a USB device.
USB Host
Pay attention SUN Spot has USB device on a board, not USB host.
As I understand USB host is not implemented yet - in current version of SUN Spot.
There is hardware part for USB host, but the software is not ready yet.
As we can read in Sun SPOT docs:
"The USB host port, one USART, and the multimedia card, TWI, I2S and Ethernet
MAC interfaces are not used directly in the current eSPOT implementation although
all signals are brought to the inter-board connector.
These peripherals could be used provided the appropriate physical interface and
driver software.
As this is a small unit, not all devices can be utilized simultaneously."
USB Client
From SUN docs:
"The USB client has termination and ESD protection circuit U9 to a type B mini USB
connector. The USB device is USB 1.1 and USB 2.0 compliant. The USB client
supports CDC Abstract Control Mode (ACM) modem interface for serial
communication. Currently no other endpoints are supported. Basestation SPOTs
interact with the host workstation principally through the USB client."

Memory
Quote from SUN docs:
"Memory is a single Spansion S71PL032J40, a multichip package (MCP) consisting of
a 4MByte NOR Flash memory and a 512KByte pseudo-static random access memory
(pSRAM). The Flash memory and pSRAM die are stacked on a single 56-pin fine
pitch ball grid array, 9mm x 7mm. The access time of the pSRAM is 70nsec and the
flash memory is 65nsec. The pSRAM is self-refreshing and automatically enters
power down when not selected for access. Memory contents are maintained as long
as a power supply USB, external or battery is connected - even during periods of off
or "deep-sleep".
Flash and pSRAM are both 16-bit data paths and are byte and word accessible.
There are 21 address lines, upper and lower byte strobes, output enable, write enable,
pSRAM chip selects and flash chip select. The BUSY signal from the MCP can
indicate refresh in progress, write to flash in progress to hold off the processor.
BUSY goes to PIO PC14 on the processor. The write protect (WP) is disabled by a
pullup to Vcc."
ZigBee
SUN Spot use ZigBee protocol for radio frequency communication (802.15.4).
Transceiver: TI CC2420 (formerly ChipCon).
The CC2420 is IEEE 802.15.4 compliant and operates in the 2.4GHz to 2.4835GHz ISM
unlicensed bands.

Sun SPOT. ZigBee Antenna on Main Board.
Programming
From programmer's point of view SUN Spot's ZigBee looks like 'Internet for devices'.
Every device has it's own unique address and this address looks like usual
Internet address.
In Zig Bee also there are 'ports' - every connection may be opened, using special
'port' number, like in port number in the Internet.
Also in ZegBee you can make stable point-to point connection,
like in TCP/IP or send 'datagram', like UDP in the Internet.
'Free air' SunSPOTs have sensor board with some sensors on it:
) Accelerometer
) Temperature sensor
) Light sensor
) Also you can measure signal strength from base station
How we can measure distance between two (or more) Sun SPOTs.
Possible ways:
Using standard Sun SPOT's sensors:
1)Measure signal strength (weak strength means big distance)
2)Measure light. One device can show up its LEDs while another device can measure
value of the light from that device
3)Even X-Y-Z Accelerometer can be used for distance measurement.
We can use it as tahometer. When car is moving, we can calculate -
how much turns our wheel done.
Using additional sensors:
1)Ultrasonic range finder
2)Infra Red range finder
3)Optical mouse sensor for calculation robot positioning, scanning floor surface,
like mouse does
4)Special geometry calculation, if we have more then 3 robots and can measure
angles between directions to each robot.
In this case every robot should be able to see another robot and calculate angels.
This can be done using camera or light sensor.
Targets of the RoboHobby Sun SPOT project
The main idea is to create group of robots with Sun SPOT on every robot.
For the first example we can use small toy cars as a mechanical part of the robots.
Robots in the group should be able act together and do simple but useful things,
like investigation of new places and creating actual map of the place.
Sometime configuration of the place can be changed in time.
For example underground room may be partly destroyed or some blocks may fall to the floor.
We have Sun SPOTs just for several days and all that we can do is just
simple test application.
Future plans
We have just started our experiments with Sun SPOTS.
And we still have a lot of questions. We have much more questions then answers.
We are going to connect ultrasonic sensor to our robots.
Also we will try to connect cell phone to one our robot.
By the way - it is really pity that Sun SPOT doesn't have any camera on a board.
It is not too easy to add some vision to Sun SPOTs.
Group of robots will be able to work together and make plan of the room.
Also we are going to test mesh functionality - Is it able to send data from first
robot to N robot, via several proxi robots.
How good and how fast can be such a connection?
How to connect ZigBee network to typical IP-based (Internet-like) network?
Hope we will be able to create on application layer special gateway
for transport data back and forth to/from IP network and ZigBee network.
We are looking for a friends and sponsors.
We should have several Sun SPOT kits to be able to test our application.
Some views of the Sn SPOTs:

Sun SPOT. Front side view with plastic cover.

Sun SPOT. Disassembled. Parts - Main board, sensor board and accumulator.

Sun SPOT's Main Board - Back Side View.

Sun SPOT Sensor Board - Back Side View.

Sun SPOT. Back view of Sensor Board, Connector, Front view of Main Board.

Sun SPOT. Front view of Sensor Board, Front view of Main Board.
|
|