Upload
darnell-choate
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Using Real-Time Mobile Database Technology for Ubiquitous
Networked Robots
By:
Empress Software Inc
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Kiosks and Self-Service SystemsRoomba household vacuuming robotASIMO humanoid robotIndustrial Automation Machines
- Reality
Ubiquitous Networked Robots
Robotics research and development got started in the 1960’s
I Robot (Isaac Asimov)R2-D2 & C-3PO (Star Wars)Commander Data (Star Trek)HAL (2001: A Space Odyssey)
-Science Fiction
Space and Naval Warfare Robotics Military Robot SoldiersTokyo University Robo-RoachUnmanned Vehicles DARPA GC
- R&D Projects
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Ubiquitous Networked RobotsTypes of Robots:
Visible – an identifiable shape, e.g. Humanoid robotsEmbedded – part of the environment, e.g. Canadarm Virtual – works in cyberspace, e.g. Googlebot
Connected via ubiquitous networking and collaborating with each other:
Link robot operationShare informationRemote operation
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Ubiquitous Networked Robots
Ubiquitous Networking Technology – Home, Office, Factory, Everywhere!
Serial Lines RS-232USBEthernet 10/100/1000Analog and digital lines
-Land Lines
WiFi A, B, G, Super GBlueToothIRHigh Speed, long distance WiFi
- Wireless
Mesh WiFi networksPoint to Point high speed wirelessTCP/IP over fiber opticsTCP/IP over electrical, phone, CATV lines
- Grids and Plexes
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Ubiquitous Networked Robots• Actual example in Japan1. Operator carries a portable wireless device into heavy machinery plant2. Device reads machine RFID tag, machine temperature, status3. Device communicates with Empress embedded real-time database to determine if machine is OK, needs service or is too hot4. Operator takes action wirelessly to shut down overheated machine and schedule maintenance via Empress embedded database5. Head office is notified by active Empress embedded database that there is a machine problem
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
Embeds with OS and hardware/software devices Functions as real time data collector Stores, organizes and retrieves and can execute
data including floating point, images, voice, sensor readings, programs, and instructions
Can build in knowledge and intelligence Extends functionality of other software
components
DBMS is a reusable software component that:
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
Enables commands to be constructed and executed automatically with predefined or dynamically modified instructions
Enables event driven and rule based programming
Works seamlessly with other software components
Does automatic data interchange
DBMS is a reusable software component that:
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
Deals with ubiquitous network communication Enables shared information networks Enables shared distributed resources Provides multi-level programming language
interfaces
DBMS is a reusable software component that:
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
Is reliable – Unattended operation 24/7 Is predictable – Execution time and resource
consumption Has excellent performance – Kernel level control,
speed and operations Has small footprint – Disk and memory usage
DBMS is a reusable software component that:
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
the generic control system itself as database middleware, where the database is a repository of behaviours and representation and the middleware is a resource scheduler of sorts.
Example: what role an RDBMS can play in robot control architecture
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Relational Database - A collection of related tables
Table – A collection of data about a group of related objects or attributes
Attribute – A specific piece of information about an object
SQL – Language for querying, updating, and managing relational databases
Example: SELECT FROM storms WHERE WIND_MPH >= 100;
Point of Reference
TIMESTAMP STORM NAME COORDINATES WIND_MPH
200507081100200508161700200508281400200509052300
DENNISIRENE
KATRINAMARIA
21.4N,79.9W 36.5N,61.6W26.5N,88.6W32.9N,56.5W
150100175115
Attribute
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Real Time Data Collector
Local Remote
Real Time Data Ingest Mechanism Tiny Footprint Bounded Resource Consumption In-Memory only Portable to proprietary OS
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Program Objects RepositoryPersistent Stored Modules
User Defined Functions – Fuzzy LogicStored ProceduresTriggers
Persistent Stored Modules Repository
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven ProgrammingProgram Objects RepositoryExample:
CREATE TABLE exec_table (id integer, exec_name char, exec_code text, exec_object bulk);
INSERT INTO TABLE exec_table VALUES (1, "ls", NULL, DIRECT_FROM '/bin/ls');
INSERT INTO TABLE exec_table VALUES (2, "hello", DIRECT_FROM ‘hello.c’, DIRECT_FROM './hello');
id exec_name exec_code exec_object
2 hello
/*A simple "Hello World" C program*/ #include <stdio.h> int main(){ printf("Hello World!\n"); return(0); }
Object, result ofcc-0 hello hello.o
1 ls Object, /bin/ls
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven ProgrammingProgram Objects Repository
Example:
SELECT execute (exec_object)
FROM exec_table WHERE id=2;
Produces: Hello World!
execute is a keyword that tells the DBMS system to “execute” or “run” the exec_object as a command
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Task: Find the temperature reading at a specified time T1
WHERE T1 = “200509091030”
DATA: A chronological log of temperature measurements
User Defined Functions – Fuzzy Logic
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Problem: No exact time stamp value in the database. Time intervals are unequal
Solution: Find and average two adjacent temperature readings in the database, ie. T (temperature) readings at T0 and T2
Event Driven Programming
TIME
t
T1 T2T0
User Defined Functions – Fuzzy Logic
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Example:
Create two functions:
PREVAL(T1) returns a timestamp value ofthe adjacent timestamp to T1which less than T1
and
NEXTVAL(T1) returns a timestamp value ofthe adjacent timestamp to T1which greater than T1
User Defined Functions – Fuzzy Logic
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven ProgrammingUser Defined Functions – Fuzzy Logic
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Example:
SELECT AVG(temp) FROM thermolog
WHERE t_stamp in (PREVAL(“200509091030”),
NEXTVAL(“200509091030”))
Event Driven Programming
Automatically “fired” upon certain event Immediately sets into motion a pre-defined
operations Associated with events such as data insertions,
updates, or deletions
Triggers
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Example:
From temperature sensor data ingest:
CREATE TRIGGER check_temperature BEFORE INSERT ON thermolog FOR EACH ROW WHERE t > 600 EXECUTE abort_operation;
abort_operation is a program to:– Trigger an alarm– Shut down operations (allows cooling)
Triggers
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven ProgrammingPersistent Stored Modules Repository
PSM object management
Commonly used PSMs put into a designated database
Store once and use everywhere by everyone
Invoke PSM objects
Current database
System PSM repository
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Moving the Thinking RobotExamples from DARPA Grand Challenge 2005
DARPA Grand Challenge 2005 is a field test of robotic ground vehicles for the purpose of advancing autonomous vehicle technology. The vehicles must travel approximately 150 miles over rugged desert roads using only onboard sensors and navigation equipment to find and follow the route and avoid obstacles.
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Moving the Thinking RobotExamples from DARPA Grand Challenge 2005
Conestoga Bot
3 engines
3 transmissions
6 wheels
Steering on all wheels
Wheels independently articulated
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Moving the Thinking RobotExamples from DARPA Grand Challenge 2005
Conestoga Bot Sensors
Military GPS
Sick Lidar (Laser) sensors
Sonar
Engine RPM
Wheels RPM
Gyroscope
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Moving the Thinking RobotExamples from DARPA Grand Challenge 2005
Conestoga Bot Computers
Dual ruggedized x86s running embedded Linux Control SBC computers for direct reading of high speed
sensor data
Dedicated high speed computer for signal processing
Ruggedized 10/100 ethernet switch with cat 6 connections
WiFi to development network
Portable computers with WiFi
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Moving the Thinking RobotExamples from DARPA Grand Challenge 2005
Conestoga Bot Software
Embedded Linux
Windows 98, 2000, XP
C code
Some assembler code
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
SensorDRIVE UNIT
LOGIC UNIT
GPS
Obstacle Detection (LIDAR, SICK LASER, SONAR)
Inertial Guidance System
NAVIGATOR
Waypoint Data
e.g. do 90 turn left at 40mph
- various actions
- various speeds
- turn radius
- turn evasive actions
Whole bunch of instructions
Work at high level quasi- real-time e.g. 1/10 sec
Work at low level real-time e.g. 3 ms
- wheel- break- accelerator
Performance analysis tools
What to do with the data?Logger
e.g. “black box” recorder
TABLE
CRITERIA DRIVE UNIT
INSTRUCTIONS
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Examples from DARPA Grand Challenge 2005
ConclusionThe Technology is there
Using Empress Real-Time Mobile Database for Ubiquitous Networked Robots
Real-Time Embedded
Ubiquitous Networking Technologies
Land Lines, Wireless, Grids and Plexes
Structure and Unstructured Data
Event Driven
Program Object Repository
Good PerformanceCopyright© 2005 Empress Software, Inc. All Rights Reserved.
Contact Information
Empress Software Inc.
www.empress.com [email protected]
US Inquiries: International Inquiries:
Phone: (301) 220-1919 Phone: (905) 513-8888 Fax: (301) 220-1997 Fax: (905) 513-1668
Copyright© 2005 Empress Software, Inc. All Rights Reserved.