• No results found

Middleware for Robotics: Applications on Real-time Systems Software Development and Integration in Robotics

N/A
N/A
Protected

Academic year: 2021

Share "Middleware for Robotics: Applications on Real-time Systems Software Development and Integration in Robotics"

Copied!
28
0
0

Loading.... (view fulltext now)

Full text

(1)

Defence Research and

Development Canada Recherche et développementpour la défense Canada

Canada

Middleware for Robotics: Applications on Real-time Systems

Software Development and Integration in Robotics

Greg Broten, David Mackay and Rene Desgagnes

(2)

Defence R&D Canada    •    R & D pour la défense Canada

Outline

I Introduction

I Operational Environment and Requirements

I Architecture for Autonomy

I Performance Evaluation

(3)

Defence R&D Canada    •    R & D pour la défense Canada

Background

I Defence R&D Canada (DRDC) develops

autonomous systems.

I Use Component Based Software Engineering

principles to build: I Flexible, I Portable, I Modular, and, I Extensible software.

I Why reusable software components?

I Autonomy is a collaborative effort.

I Encourage researchers to share algorithms and/or

(4)

Defence R&D Canada    •    R & D pour la défense Canada

Background

I Build upon strong middleware:

I Network transparent,

I Hides data marshalling/unmarshalling, and, I Supports distributed computing.

I Applicable to soft real-time implementations:

I Responsive, I Predictable,

I Yet tolerates response sloppiness, I Without major failures.

(5)

Defence R&D Canada    •    R & D pour la défense Canada

Operational Environment and

Requirements

I Outdoor terrain: I Semi to unstructured, I Gravel roads, I Dirt paths, I Trails, and,

I Areas with vegetation.

I Unmanned Ground Vehicles:

I 4 Wheels, I Medium sized, I Larger payload, I 5 - 60 Km/hr.

(6)

Defence R&D Canada    •    R & D pour la défense Canada

Operational Environment and

Requirements

I Outdoor terrain: I Semi to unstructured, I Gravel roads, I Dirt paths, I Trails, and,

I Areas with vegetation.

I Unmanned Ground Vehicles:

I 4 Wheels, I Medium sized, I Larger payload, I 5 - 60 Km/hr.

(7)

Defence R&D Canada    •    R & D pour la défense Canada

Operational Environment and

Requirements

I Sensing Limitations:

I Reliant upon laser rangefinders, I 20 to 25m maximum sensing range.

I Implications:

Max. Sensing Distance Speed Time

(m) (m/s) (s)

20 1 20

20 4 5

(8)

Defence R&D Canada    •    R & D pour la défense Canada

Stopping Distances

+θ +x mg mgcosθ mgsinθ Fb v0

I Worst case scenario:

I Obstact detected,

I Panic stop must be initiated.

I Idealized Vehicle: I Force Balance: X Fx =mgsinθ−Fb =max ∴ ax ={sinθ− Fb mg}g

(9)

Defence R&D Canada    •    R & D pour la défense Canada

Stopping Distances

+θ +x mg mgcosθ mgsinθ Fb v0

I Worst case scenario:

I Obstact detected,

I Panic stop must be initiated.

I Idealized Vehicle: I Force Balance: X Fx =mgsinθ−Fb =max ∴ ax ={sinθ− Fb mg}g

(10)

Defence R&D Canada    •    R & D pour la défense Canada

Stopping Distances

I Stopping Time: v(t) = v0+ Z t 0 ¨ x(τ)dτ =v0+axt ⇒ts = v(ts)−v0 ax = −v0 ax ⇐v(ts) = 0. I Stopping Distance x(t) = Z t 0 ˙ x(τ)dτ = Z t 0 v0+axτdτ =v0t+1/2axt2 xs =v0ts + 1/2axts2 =−1/2 v02 ax .

(11)

Defence R&D Canada    •    R & D pour la défense Canada

Normalized braking force,

F

b

/

mg

θ Fb/mg v0 ax ts xs (deg) (m/s) (m/s2) (s) (m) 13 0.4 1 -1.72 0.58 0.29 13 0.4 4 -1.72 2.33 4.66 13 0.4 10 -1.72 5.82 29.12 4 0.28 1 -2.06 0.48 0.24 4 0.28 4 -2.06 1.94 3.88 4 0.28 10 -2.06 4.85 24.24 1 0.25 1 -2.28 0.44 0.22 1 0.25 4 -2.28 1.75 3.51 1 0.25 10 -2.28 4.38 21.92 -6 0.18 1 -2.79 0.36 0.18 -6 0.18 4 -2.79 1.43 2.87 -6 0.18 10 -2.79 3.58 19.91

(12)

Defence R&D Canada    •    R & D pour la défense Canada

Available Processing Time

I Assume a 1 degree slope,

I Obstacle detection at 20 m, and,

I Speeds of 1 to 10 m/s.

Speed Distance to Stop Available Distance Available Time

(m/s) (s) (s) (s)

1 0.22 19.78 19.78

4 3.51 17.49 4.37

(13)

Defence R&D Canada    •    R & D pour la défense Canada

Architecture for Autonomy

I Component Based Software Engineering approach

building upon: I ACE

I TAO implementation of CORBA I Miro

I Hybrid Implementation:

(14)

Defence R&D Canada    •    R & D pour la défense Canada

Architecture for Autonomy

I Component Based Software Engineering approach

building upon: I ACE

I TAO implementation of CORBA I Miro

I Hybrid Implementation:

(15)

Defence R&D Canada    •    R & D pour la défense Canada

Architecture for Autonomy

I Flow Chart of DRDC’s Hybrid Architecture

MAP TERRAIN SERVERMODEL MAP TRAVERSE. DETECT. OBSTACLE AVOID. OBSTACLE ARBITERARC PURSUIT PURE ARBITER WAYPOINT INTEL. VEHICLE LASER VEHICLE STEREO INS DRDC Hard Real−time Other Real−time DRDC Soft Real−time DRDC Hard Real−time D*Lite

(16)

Defence R&D Canada    •    R & D pour la défense Canada

Architecture for Autonomy

I Notification Services for Soft Real-time Applications

Consume Event Register Resolve Service Naming Component Publish Event Component Notification Services

(17)

Defence R&D Canada    •    R & D pour la défense Canada

Notification Services

I Soft Real-time Applications:

I Imprecise, fuzzy deadlines.

I Numerous components that implement

capabilities,

I Notification services facilitate data delivery, I Though the publication of events.

(18)

Defence R&D Canada    •    R & D pour la défense Canada

Notification Services

I Soft Real-time Applications:

I Imprecise, fuzzy deadlines.

I Numerous components that implement

capabilities,

I Notification services facilitate data delivery, I Though the publication of events.

Aquire Publish Publish Process Process Sensor Data Map Terrain Traversibility Map Publish Process Obstacle Avoidance Publish Process Arbitration Publish Execute Receive and Commands Time Time Window

(19)

Defence R&D Canada    •    R & D pour la défense Canada

Event Publication Performance?

I Common UGV Data Structures

I Laser rangefinder and stereo data, I Raw camera images,

I Terrain and Traversibility maps, I Command and control structures.

Component Structure Type Size Bytes

Laser Range Sequence Long 361x4 5,776

Stereo Range Static Long 320x240x4 1,228,800

Stereo Range Sequence Double 320x240x4 2,457,600

Rect. Image Sequence Short 320x240x3 460,800

Raw Image Sequence Short 1024x768x3 4,718,952

Terrain Map Sequence Double 150x150x3 540,000

(20)

Defence R&D Canada    •    R & D pour la défense Canada

Performance Investigations

I Setup

I 3.2 GHZ Intel Pentium 4, Hyperthreading I 1 GB RAM,

I 100 Mbit ethernet, I Fedora Core 5, and,

I ACE 5.4.10 and TAO 1.4.10.

I CORBA Publication Protocols

I IIOP: Internet Inter-Orb Protocol, I UIOP: Unix Inter-Orb Protocol, and,

(21)

Defence R&D Canada    •    R & D pour la défense Canada

Performance Investigations

I Setup

I 3.2 GHZ Intel Pentium 4, Hyperthreading I 1 GB RAM,

I 100 Mbit ethernet, I Fedora Core 5, and,

I ACE 5.4.10 and TAO 1.4.10.

I CORBA Publication Protocols

I IIOP: Internet Inter-Orb Protocol, I UIOP: Unix Inter-Orb Protocol, and,

(22)

Defence R&D Canada    •    R & D pour la défense Canada

Small Data Structures

I SICK Laser rangefinder data,

I Sequence structure,

I Publish 5,776 bytes by reference,

I 3600 samples.

Transport Protocol Time us Std. us

Local IIOP 487 37

Ethernet IIOP 1317 34

Local UIOP 477 15

(23)

Defence R&D Canada    •    R & D pour la défense Canada

Medium Data Structures

I Terrain map,

I Sequence structure,

I Publish 540,000 bytes by reference,

I 1700 samples.

Transport Protocol Time ms Std. ms

Local IIOP 7.25 0.54

Ethernet IIOP 7.03 0.35

Local UIOP 7.02 0.32

(24)

Defence R&D Canada    •    R & D pour la défense Canada

Large Data Structures

I Stereo Range data,

I Sequence structure,

I Publish 1,228,800 bytes by either reference or

pointer,

I 1000 samples.

Transport Protocol Timems Std. ms Publish By

Local IIOP 26.3 0.45 Reference

Ethernet IIOP 28.0 1.6 Reference

Local UIOP 24.7 0.55 Reference

Local SHMIOP 24.7 0.48 Reference

Local IIOP 13.6 0.09 Pointer

(25)

Defence R&D Canada    •    R & D pour la défense Canada

Large Data Structures

I Stereo Range data,

I Static array,

I Publish 2,457,600 bytes by either reference or

pointer,

I 1000 samples.

Transport Protocol Timems Std. ms Publish By

Local IIOP 10.2 0.27 Reference

Ethernet IIOP 206 37 Reference

Local UIOP 10.2 0.94 Reference

Local SHMIOP 10.4 0.98 Reference

Local IIOP 2.7 0.04 Pointer

(26)

Defence R&D Canada    •    R & D pour la défense Canada

Very Large Data Structures

I Stereo Range data, rectified image and raw image

I Sequence Structure,

I Publish 6,408,552 bytes by reference,

I 1000 samples.

Transport Protocol Timems Std. ms

Local IIOP 299 5.9

Ethernet IIOP 295 12.5

Local UIOP 295 4.7

(27)

Defence R&D Canada    •    R & D pour la défense Canada

Linux Shared Memory

I Large Data set: Stereo Range data,

I Static array,

I IIOP and Linux shared memory,

I 1000 samples.

Storage Protocol Timeus Std. us

(28)

Defence R&D Canada    •    R & D pour la défense Canada

Conclusions

I Hybrid architectures are applicable to UGVs:

I Hard real-time where required → using RTEMS, I Soft real-time for implementing automous

capabilities → under Miro/CORBA.

I CBSE approach to promote software resuse.

I Flexible, portable, modular and extensible.

I Publish/subscribe implementation:

I Performance is∝ data structure size, storage type

and invocation,

I Publication times: 100’s us → 100’s ms. I Time window avialable is in seconds.

I Generally, does not adversely affect performance. I Static structures and Linux shared memory is

References

Related documents