100 likes | 107 Vues
CajunBot: Hardware and Software Architecture. Hardware Topology. CajunBot Control Loop. Laser. Drivers. Steering Module. Obstacle Detection. Path Planning. Robot Controller. Drivers. PosMV. Drivers. 3-D terrain of obstacles. Path to follow. Commands controlling device.
E N D
Laser Drivers Steering Module Obstacle Detection Path Planning Robot Controller Drivers PosMV Drivers 3-D terrain of obstacles Path to follow Commands controlling device Raw sensor data Formatted sensor data Data Flow Architecture
Code Code Code Private Data Private Data Private Data Shared Data Shared Data Shared Data Interprocess Communication • POSIX Shared Memory
Resolving Concurrency Conflicts • Queues in shared memory • Circular • Pre-allocated • No dynamic allocation • Single writer per queue • Multiple readers
Scaling Computation • Shared memory • Tied to a single computer • May have multiple processors • Replace motherboard with better processor, more memory • Limited growth • Alternative • Distribute Shared Memory
Code Code Code Code Code Code Private Data Private Data Private Data Private Data Private Data Private Data Shared Data Shared Data Shared Data Shared Data Shared Data Shared Data Distributing Shared Memory Queues • NDDS – Publish/Subscribe middleware NDDS Middleware
Architectural Issues • Tuning the size of the queues? • Managing the priority of processes? • Optimizing shared memory use? • Using real-time OS