System Design

System Requirements

Functional Requirements – Mandatory

F.M.1Localize itself
F.M.2Map environment
F.M.3Plan path
F.M.4Actuate the wheel
F.M.5Detect static obstacles
F.M.6Adjust path dynamically
F.M.7Afford payload
F.M.8Identify safe zones
F.M.9Ensure emergency stop
F.M.10Reach Destination

Functional Requirements – Desirable

F.M.11Climb slope
F.M.12Interact with user
F.M.13Detect and avoid dynamic obstacles

Performance Requirement

Functional RequirementPerformance Requirement
F.M.10 Reach DestinationM.P.10.1 Reach goal within drift <= 5m
M.P.10.2 Number of teleop intervention <= 1, teleop distance <= 5m
F.M.6 Preplan safe path to goM.P.6.1 Complete 0.5km traversable route <=10min
F.M.9 Ensure emergency stopM.P.9.1 Number of E-stop safety intervention <= 2
F.M.11 Climb slopeD.P.11.1 Traverse sidewalk ≤ 15 degrees
F.M.13 Detect and avoid dynamic obstaclesD.P.13.1 Replan trajectories <= 50 msec, consider moving pedestrian >=2
F.M.12 Receive commands from the userD.P.12.1 success rate >=70%

Non-Functional Requirement

M.N.1Size & WeightCompact and lightweight for easy navigation
M.N.2ReliabilityConsistent, smooth operation with payload
M.N.3Safety Maximum Speed: between 3 to 5 mph
Range:10 miles on a single charge
M.N.4ModularityModular design for easy maintenance
M.N.5AffordabilityCost-efficient, priced at 150-200% of standard non-autonomous wheelchairs
M.N.6User InterfaceGenerate wheelchair traversable path

Functional Architecture

Cyberphysical Architecture

System design description

The full cyber-physical architecture is illustrated in Figure 6.1. This architecture is derived from the functional design and is segmented into various blocks, each representing distinct functionalities. The lines connecting these blocks indicate their interconnections, with red lines denoting mechanical connections, blue lines for electrical connections, and black lines for data transmission. The entire system is organized into seven primary blocks:

  • User interface: This block facilitates user interaction with the system. Users can input their desired destination or voice commands through devices like an iPhone or a console. The system employs the Google Maps API to determine the global path from point A to B. Additionally, it utilizes the iPhone’s computational capabilities for speech processing, thereby enhancing user perception.
  • Sensing: This block utilizes RGB-D cameras, an IMU, and GPS to gather environmental data. The collected data undergoes sensor fusion before being forwarded to the localization and mapping block. Moreover, this block includes a component for detecting abnormal system behavior, which can trigger the STOP component in the control block if necessary.
  • Localization and mapping: The processed data from the sensing block is directed to two components. The mapping component performs real-time environmental mapping to generate a cost map, while the obstacle detection component identifies obstacles and updates the cost map accordingly.
  • Navigation and planning: Utilizing the cost map from the previous block, the local planner integrates the cost map with global waypoints from the Google Maps API. This allows the wheelchair to adhere to the planned global path while managing local obstacles.
  • Control: In this block, the Model Predictive Control (MPC) component uses the local waypoints generated by the navigation and planning block to produce motor control commands. A separate STOP component can override the MPC to issue an immediate stop command when activated.
  • Powertrain management: This block comprises the battery, motor, and motor controller, enabling the motor to propel the system. Emergency stops are linked to the safety circuit; if an E-STOP is pressed by the user, the safety circuit opens, activating the STOP component in the control block to halt the wheelchair immediately.
  • Mechanical: This block features a robust wheelchair platform that includes stable mounts for sensors, a user chair, and durable wheels for mobility.