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
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
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
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.
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.
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.
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
Defence R&D Canada • R & D pour la défense Canada
Stopping Distances
+θ +x mg mgcosθ mgsinθ Fb v0I 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
Defence R&D Canada • R & D pour la défense Canada
Stopping Distances
+θ +x mg mgcosθ mgsinθ Fb v0I 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
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 .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
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
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:
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:
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
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
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.
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
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
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,
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,
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
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
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
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
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
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
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