33
Using Real-Time Mobile Database Technology for Ubiquitous Networked Robots By: Empress Software Inc Copyright© 2005 Empress Software, Inc. All Rights Reserved.

Using Real-Time Mobile Database Technology for Ubiquitous Networked Robots By: Empress Software Inc Copyright© 2005 Empress Software, Inc. All Rights Reserved

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.

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 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

Conclusion

The Technology is there

Copyright© 2005 Empress Software, Inc. All Rights Reserved.

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.