DBMS Technology for Ubiquitous Robots
Download
Report
Transcript DBMS Technology for Ubiquitous Robots
Using Real-Time Mobile Database
Technology for Ubiquitous
Networked Robots
By:
Empress Software Inc
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
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 Soldiers
Tokyo University Robo-Roach
Unmanned Vehicles DARPA GC
- R&D Projects
Kiosks and Self-Service Systems
Roomba household vacuuming robot
ASIMO humanoid robot
Industrial Automation Machines
- Reality
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Ubiquitous Networked Robots
Types of Robots:
Visible – an identifiable shape, e.g. Humanoid robots
Embedded – 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 operation
Share information
Remote operation
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Ubiquitous Networked Robots
Ubiquitous Networking Technology –
Home, Office, Factory, Everywhere!
Serial Lines RS-232
USB
Ethernet 10/100/1000
Analog and digital lines
-Land Lines
WiFi A, B, G, Super G
BlueTooth
IR
High Speed, long distance WiFi
- Wireless
Mesh WiFi networks
Point to Point high speed wireless
TCP/IP over fiber optics
TCP/IP over electrical, phone, CATV lines
- Grids and Plexes
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Ubiquitous Networked Robots
• Actual example in Japan
1. Operator carries a portable wireless
device into heavy machinery plant
2. Device reads machine RFID tag,
machine temperature, status
3. Device communicates with Empress
embedded real-time database to
determine if machine is OK, needs
service or is too hot
4. Operator takes action wirelessly to
shut down overheated machine and
schedule maintenance via Empress
embedded database
5. 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
DBMS is a reusable software component that:
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
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
DBMS is a reusable software component that:
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
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
DBMS is a reusable software component that:
Deals with ubiquitous network communication
Enables shared information networks
Enables shared distributed resources
Provides multi-level programming language
interfaces
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
DBMS is a reusable software component that:
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
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
DBMS Roles in Robotics
Example: what role an RDBMS can play in robot control architecture
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.
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Point of Reference
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;
Attribute
TIMESTAMP
STORM NAME
COORDINATES
WIND_MPH
200507081100
200508161700
200508281400
200509052300
DENNIS
IRENE
KATRINA
MARIA
21.4N,79.9W
36.5N,61.6W
26.5N,88.6W
32.9N,56.5W
150
100
175
115
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.
Real Time Data Collector
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Real Time Data Collector
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Program Objects Repository
Persistent Stored Modules
User Defined Functions – Fuzzy Logic
Stored Procedures
Triggers
Persistent Stored Modules Repository
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Program Objects Repository
Example:
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
1
ls
2
hello
exec_code
exec_object
Object, /bin/ls
/*A simple "Hello World" C program*/
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return(0);
}
Object, result of
cc-0 hello hello.o
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Program 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
User Defined Functions – Fuzzy Logic
Task: Find the temperature reading at a specified time T1
WHERE T1 = “200509091030”
DATA: A chronological log of temperature measurements
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
User Defined Functions – Fuzzy Logic
Problem: No exact time stamp value in the database. Time intervals are
unequal
t
T0 T1
T2
TIME
Solution: Find and average two adjacent temperature readings in the
database, ie. T (temperature) readings at T0 and T2
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
User Defined Functions – Fuzzy Logic
Example:
Create two functions:
PREVAL(T1) returns a timestamp value of
the adjacent timestamp to T1
which less than T1
and
NEXTVAL(T1) returns a timestamp value of
the adjacent timestamp to T1
which greater than T1
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
User Defined Functions – Fuzzy Logic
Example:
SELECT AVG(temp) FROM thermolog
WHERE t_stamp in (PREVAL(“200509091030”),
NEXTVAL(“200509091030”))
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Triggers
Automatically “fired” upon certain event
Immediately sets into motion a pre-defined
operations
Associated with events such as data insertions,
updates, or deletions
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Triggers
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)
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Event Driven Programming
Persistent 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 Robot
Examples 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 Robot
Examples 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 Robot
Examples 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 Robot
Examples 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 Robot
Examples 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.
Examples from DARPA Grand Challenge 2005
TABLE
DRIVE UNIT
INSTRUCTIONS
CRITERIA
e.g. do 90 turn left at 40mph
Work at low
level real-time
e.g. 3 ms
- various speeds
- turn radius
Work at high level
quasi- real-time e.g.
1/10 sec
- turn evasive actions
DRIVE
UNIT
Whole bunch of instructions
- various actions
LOGIC
UNIT
Sensor
GPS
- wheel
- break
- accelerator
NAVIGATOR
Waypoint Data
Obstacle Detection
(LIDAR, SICK LASER,
SONAR)
Inertial Guidance
System
Logger
What to do
with the data?
Performance
analysis tools
e.g. “black box”
recorder
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Conclusion
The Technology is there
Copyright© 2005 Empress Software, Inc. All Rights Reserved.
Conclusion
The 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 Performance
Copyright© 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
Fax: (301) 220-1997
Phone: (905) 513-8888
Fax: (905) 513-1668
Copyright© 2005 Empress Software, Inc. All Rights Reserved.