Middleware for Robotics: Applications on Real-time Systems Software Development and ntegration in Robotics Greg Broten, David Mackay and Rene Desgagnes Firstname.Lastname@drdc-rddc.gc.ca Defence Research and Development Canada Recherche et développement pour la défense Canada Canada
Outline ntroduction Operational Environment and Requirements Architecture for Autonomy Performance Evaluation Conclusions
Background Defence R&D Canada (DRDC) develops autonomous systems. Use Component Based Software Engineering principles to build: Flexible, Portable, Modular, and, Extensible software. Why reusable software components? Autonomy is a collaborative effort. Encourage researchers to share algorithms and/or capabilities.
Background Build upon strong middleware: Network transparent, Hides data marshalling/unmarshalling, and, Supports distributed computing. Applicable to soft real-time implementations: Responsive, Predictable, Yet tolerates response sloppiness, Without major failures.
Operational Environment and Requirements Outdoor terrain: Semi to unstructured, Gravel roads, Dirt paths, Trails, and, Areas with vegetation. Defence R&D Canada R & D pour la défense Canada
Operational Environment and Requirements Outdoor terrain: Semi to unstructured, Gravel roads, Dirt paths, Trails, and, Areas with vegetation. Unmanned Ground Vehicles: 4 Wheels, Medium sized, Larger payload, 5-60 Km/hr. Defence R&D Canada R & D pour la défense Canada
Operational Environment and Requirements Sensing Limitations: Reliant upon laser rangefinders, 20 to 25 m maximum sensing range. mplications: Max. Sensing Distance Speed Time (m) (m/s) (s) 20 1 20 20 4 5 20 10 2
Stopping Distances Worst case scenario: Obstact detected, Panic stop must be initiated. dealized Vehicle: v0 mg cos θ mg sin θ mg Fb +θ +x
Stopping Distances Worst case scenario: Obstact detected, Panic stop must be initiated. dealized Vehicle: v0 mg cos θ mg sin θ mg Fb +θ +x Force Balance: Fx = mg sin θ F b = ma x a x = {sin θ F b mg }g
Stopping Distances Stopping Time: v(t) = v 0 + t 0 ẍ(τ)dτ = v 0 + a x t t s = v(t s) v 0 a x = v 0 a x v(t s ) = 0. Stopping Distance x(t) = t 0 ẋ(τ)dτ = t 0 v 0 +a x τdτ = v 0 t+1/2a x t 2 x s = v 0 t s + 1/2a x t 2 s = 1/2 v 2 0 a x.
Normalized braking force, F b /mg θ F b /mg v 0 a x t s x s (deg) (m/s) (m/s 2 ) (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
Available Processing Time Assume a 1 degree slope, Obstacle detection at 20 m, and, 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 10 21.92-1.92 Collision
Architecture for Autonomy Component Based Software Engineering approach building upon: ACE TAO implementation of CORBA Miro
Architecture for Autonomy Component Based Software Engineering approach building upon: ACE TAO implementation of CORBA Miro Hybrid mplementation: Real-time O.S. used where required
Architecture for Autonomy Flow Chart of DRDC s Hybrid Architecture LASER DRDC Hard Real time STEREO NS Other Real time TERRAN MAP MODEL SERVER TRAVERSE. MAP WAYPONT ARBTER VEHCLE NTEL. OBSTACLE DETECT. OBSTACLE AVOD. D*Lite PURE PURSUT ARC ARBTER DRDC Soft Real time VEHCLE DRDC Hard Real time
Architecture for Autonomy Notification Services for Soft Real-time Applications Component Consume Event Resolve Naming Service Notification Services Publish Event Register Component
Notification Services Soft Real-time Applications: mprecise, fuzzy deadlines. Numerous components that implement capabilities, Notification services facilitate data delivery, Though the publication of events.
Notification Services Soft Real-time Applications: mprecise, fuzzy deadlines. Numerous components that implement capabilities, Notification services facilitate data delivery, Though the publication of events. Time Window Aquire Sensor Data Publish Process Terrain Map Publish Process Traversibility Map Publish Process Obstacle Avoidance Publish Process Arbitration Publish Receive and Execute Commands Time
Event Publication Performance? Common UGV Data Structures Laser rangefinder and stereo data, Raw camera images, Terrain and Traversibility maps, 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. mage Sequence Short 320x240x3 460,800 Raw mage Sequence Short 1024x768x3 4,718,952 Terrain Map Sequence Double 150x150x3 540,000 Traverse Map Sequence Double 40x40x2 25,600
Performance nvestigations Setup 3.2 GHZ ntel Pentium 4, Hyperthreading 1 GB RAM, 100 Mbit ethernet, Fedora Core 5, and, ACE 5.4.10 and TAO 1.4.10.
Performance nvestigations Setup 3.2 GHZ ntel Pentium 4, Hyperthreading 1 GB RAM, 100 Mbit ethernet, Fedora Core 5, and, ACE 5.4.10 and TAO 1.4.10. CORBA Publication Protocols OP: nternet nter-orb Protocol, UOP: Unix nter-orb Protocol, and, SHMOP: Shared Memory nter-orb Protocol.
Small Data Structures SCK Laser rangefinder data, Sequence structure, Publish 5,776 bytes by reference, 3600 samples. Transport Protocol Time us Std. us Local OP 487 37 Ethernet OP 1317 34 Local UOP 477 15 Local SHMOP 540 18
Medium Data Structures Terrain map, Sequence structure, Publish 540,000 bytes by reference, 1700 samples. Transport Protocol Time ms Std. ms Local OP 7.25 0.54 Ethernet OP 7.03 0.35 Local UOP 7.02 0.32 Local SHMOP 7.03 0.46
Large Data Structures Stereo Range data, Sequence structure, Publish 1,228,800 bytes by either reference or pointer, 1000 samples. Transport Protocol Time ms Std. ms Publish By Local OP 26.3 0.45 Reference Ethernet OP 28.0 1.6 Reference Local UOP 24.7 0.55 Reference Local SHMOP 24.7 0.48 Reference Local OP 13.6 0.09 Pointer Ethernet OP 13.1 0.22 Pointer
Large Data Structures Stereo Range data, Static array, Publish 2,457,600 bytes by either reference or pointer, 1000 samples. Transport Protocol Time ms Std. ms Publish By Local OP 10.2 0.27 Reference Ethernet OP 206 37 Reference Local UOP 10.2 0.94 Reference Local SHMOP 10.4 0.98 Reference Local OP 2.7 0.04 Pointer Ethernet OP 188 31 Pointer
Very Large Data Structures Stereo Range data, rectified image and raw image Sequence Structure, Publish 6,408,552 bytes by reference, 1000 samples. Transport Protocol Time ms Std. ms Local OP 299 5.9 Ethernet OP 295 12.5 Local UOP 295 4.7 Local SHMOP 292 4.4
Linux Shared Memory Large Data set: Stereo Range data, Static array, OP and Linux shared memory, 1000 samples. Storage Protocol Time us Std. us Static Shared Memory 35 4
Conclusions Hybrid architectures are applicable to UGVs: Hard real-time where required using RTEMS, Soft real-time for implementing automous capabilities under Miro/CORBA. CBSE approach to promote software resuse. Flexible, portable, modular and extensible. Publish/subscribe implementation: Performance is data structure size, storage type and invocation, Publication times: 100 s us 100 s ms. Time window avialable is in seconds. Generally, does not adversely affect performance. Static structures and Linux shared memory is faster.