| Specifications |
|
 |
| Model | JCP1 - aka David |
| Height | 50 cm |
| Weight | 8 kg |
| Brain | Samsung Q1P - 1 GHz Pentium M - 1 MB ram - 60 GB hd |
| Drive | 2 wheel differential drive with encoders, 1 caster wheel in back |
| Sensors | 1 ultrasonic front sensor, 1 magnetic compass |
| Power | 12 volt 10 Ah SLA battery - approx 4 hour runtime between recharges |
| Vision | Monoscopic camera - 320x240 24bit color - face detection/tracking, object identification/tracking |
| Sensors | 1 ultrasonic front sensor, 1 magnetic compass |
| Sound | 1 dual element speaker - speech synthesis using voice from Cepstral |
| Hearing | 1 microphone on head - speech recognition with context switching grammars |
| Wireless | 54 Mbit/s WLAN - uses internet through home network and runs VNC to view GUI |
| Actuators | 2 servos for head pan/tilt |
| Software | OS: Windows XP. Code: Java and JNI to OpenCV. - Modular system with i/o processors and behaviours, using an event driven engine. I2C bus communication with devices. Connects to remote RoboRealm server for vision processing. Wii game controller support for remote control. |
|
|
| Features |
|
- Detects faces and moves head servos to look at closest face (cannot identify face owner yet)
- Greets people when it detects a face after a period of being idle
- Reports battery state - more frequently when battery needs to be recharged
- Does not move wheels or servos when battery voltage is too low
- Moves around according to commands: forward, backward, turning, adjusting speed, stopping - dancing
- Automatically stops if it is about to crash into an obstacle (and speaks about it)
- You can ask it about the current time and date
- It can also say quotes from fameous people
- Ask it about how far away an obstacle is in front of it
- Has a user interface with information about every module - connect screen or use vnc/remote desktop
- Ask it about CPU load and battery state
- Can play back wav files for sound effects - ask it to imitate an animal and it will play the animal sound
- Ask it about the current weather or a forecast for the day after (using Yahoo Weather RSS)
- Tell it to shutdown to OS desktop or total shutdown (use main switch to power robot off completely)
- Speech recognition uses grammars with variations so you can e.g say an optional "please" before sentences etc.
- Speech output is randomized between a number of sentence structures to have a more varied dialogue
- Ask it how it feels and get an average status based on several parameters
- Have some fun dialogue where you can ask it about its favourite color and other chit chat
- You can ask it about currencies (in relation to the Norwegian Crown) and it will tell you the one you want
- Has a simple roaming mode where it just explores the area in a random fashion
- It will check and announce happily whenever there is a new version of the software installed
- Ask it about shapes drawn on a white piece of paper (square, circle, rectangle, triangle, star, moon)
- Ask it to follow a tennis ball and it will rotate its head according to the ball you are holding in front of it
- Scans 360 degrees and draws a simple sonar range map in the robot GUI
- You can control the robot with a Wii game controller as well!
- Checks your email from a pop3 server when you ask about it.
- Can operate the TV using an Uirt module. Turn on/off, change channels, mute, etc.
|
|
| Planned Future Features |
|
- Ask it which way is north and it will rotate toward that direction and tell you (compass is still a bit flaky)
- Alarm timer - tell it to sound an alarm after some time or at a particular time
- Face identification - differentiate between 3 people (first iteration)
- Record a message for playback later and if face identification works locate the person the message is for
- Hand gesture recognition - gestures can be used to input data when sound input is disabled/difficult (with RoboRealm this will be easier)
- Have its own email address - send email to it with commands or messages to be given to people around it
- More ultrasonic sensors to give it better obstacle avoidance
- Auto-mapping feature using ultrasonic rangers and free roaming to explore a place
- Labelling of places - give a place a name and later use that for navigation
- Operate Media Server - tell it to play music or show a picture on the tv/monitor (at first want to control a remote Winamp player, later MediaPortal)
- Adjust volume of remote media server based on hand gestures. Generally find solutions to communicate with robot when room is filled with sound/music.
- Telling jokes - have a small database of jokes it can say
- Conversation - the robot can ask a person some questions to learn about him/her - stored and later retrieved/used for conversation
- Auto recharging by inserting recharger power plug into wall socket
- Detect objects based on SIRF/SURF algorithms
- Distributed Vision Server - for faster processing of vision data (face detection, object recognition, etc). Will work as a gateway so that robot only has to send image to one server. Now uses one RoboRealm remote server.
- Ask it to follow a colored ball you are holding, and it will move head and wheels accordingly so that its a certain size in its vision (follows a tennis ball now, want to make it follow any colored ball you tell it to, and also have it move wheels when following)
- Correlate face detector with skin detector for higher accuracy
- Ask it to follow you and it will detect color of your shirt (after face has been seen) and use that as basis for tracking.
- In idle mode it should scan for motion and look upwards at highest motion area and see if can locate a head.
- Give robot its own mail account which it can receive commands and messages from. For example it can locate a person at home and speak out a message loud!
- Experimental and simple relation learning - tell it "a dog is a pet" and "a pet is an animal", robot can say "a dog is an animal"
|