How do you build a system that enables someone with severely limited mobility to drive a car? Arrow Electronics answered that with its Semi-Autonomous Motorcar (SAM) project. Relying predominantly on off-the-shelf (OTS) products, and building the few things they needed that weren’t commercially available, engineers on the SAM team integrated a system that would take sensor inputs and feed them into a drive-by-wire system.
Ordinarily the purpose of a teardown is to crack open a system to discover what the manufacturer had sealed away for any number of reasons (e.g., product safety, product integrity, to protect intellectual property – or IP), but Arrow was always willing to say what went into the SAM car, so this won’t be a typical teardown. What we have is a fairly complete list of all the elements of the system, including the bill of materials (BOM) for the human-machine interface (HMI) controller that Arrow designed.
Briefly, a SAM car is driven using two key sensor systems. A set of four motion-tracking cameras captures the driver’s head movements for steering. There is also a sip/puff sensor that measures pressure; the driver inhales (sips) through a tube to brake, and exhales (puffs) to accelerate. There is also a GPS-based navigation system that can be engaged to help keep the car from radically veering off course. Sensor data is processed and fed into a drive-by-wire system provided by a subcontractor. Additional details are in the accompanying story on EETimes: How to build a car for someone who can’t drive .
Much of the critical work was done in software. That included fine-tuning the navigation systems, and how sensor data was used to ultimately control the vehicle.
Most of the physical subsystems not used directly for driving (which would include the input sensors, the drive-by-wire actuators, and the co-driver failsafe apparatus) are installed behind the driver; in the case of the Chevy Corvette that was used as the first SAM car, that was in the trunk. Those subsystems are listed in the following photograph.
The project team for Arrow Electronics’ SAM project used the trunk of the Chevrolet Corvette Stingray to store most of the subsystems necessary to help a quadriplegic driver operate the vehicle. Source: Arrow Electronics.
The sip/puff controller not only measures pressure to control acceleration and braking, it also can be used to deliver feedback (visual, audio, and/or haptic) on those levels to the driver. The key components on this board are:
- a K64 microcontroller from NXP (originally Freescale). It combines a 120 MHz Cortex MCU with 1MB of Flash and 256KB of SRAM.
- MPXV7025GP pressure sensor (NXP)
- SGTL5000 stereo audio codec (NXP)
- PCA9626B 24 LED driver (NXP)
- Power over Ethernet (PoE) support devices – various (Analog Devices)
- Ethernet PHY (Microchip)
The BOM for the board also includes some EEPROM; a variety of resistors, capacitors, and switches from multiple sources; and other components.
The MPXV7025GP pressure sensor from NXP Source: Arrow Electronics
SAM engineer Josh Willis said the guidance computer “aggregates steering and gas/brake values, then acts as a set of hand controls to interface with the drive-by-wire system over the CAN bus.” It is called out in the photo above as the Nitrogen 6X Guidance PC, a blue box toward the lower-right corner in the car trunk. The Nitrogen 6X single board computer (SBC) is an off-the-shelf product. Based on NXP's i.MX 6 ARM-Cortex A9 processor, the board also comes standard with 1GB of DDR3, and gigabit Ethernet. Arrow asked Boundary Devices for a single modification – the ability to support PoE.
The SAM car team relied mostly on off-the-shelf subsystems. When a modification was required, it was often to add support for PoE. Source: Arrow Electronics