To save time, multiple engineering groups at Segway worked on various parts of the Segway HT simultaneously. MathWorks tools provided a common platform for sharing models and testing results across the teams.
“MathWorks tools shortened development time and increased our confidence in the design,” says Morrell. “Everyone here uses MATLAB and loves it.”
The Dynamics Development team used MATLAB, Simulink, the Control System Toolbox, and Simulink Fixed Point (formerly the Fixed-Point Blockset) to model the inertial sensing system and design state-estimation algorithms for the primary control loops.
They simulated the system in floating point and fixed point and then ran system data into the simulations and compared the real system results to the simulated results. Using Simulink, the Signal Processing Toolbox, the DSP System Toolbox™, and Simulink Fixed Point, the engineers modeled filters and tested them to ensure that they could handle sensor failures. They then used the models to run the algorithms to handle noise and failure modes.
The Motor Drive Development team used MATLAB to model the motor and electronic drive components. The thermal characteristics of the system and high-speed motor drive dynamics were modeled, verified, and reduced to simpler models for implementation in the system. Using MATLAB scripts, engineers distilled data derived from real system tests. The test results helped them modify the motor drive control algorithm, reducing current ripple and increasing capacitor life.
“The MATLAB script was very fast, did not use huge amounts of disk space, and provided excellent quality and visualization in the graphs,” says J.D. Heinzmann, who led the Motor Drive Development team. “No other tools could enable us to accomplish this.”
To ensure that the mathematics would work correctly when implemented on the Segway HT microprocessor, the motor drive engineers used MATLAB and Simulink to analyze polynomial approximations to fixed-point trigonometric functions.
Simulink helped the motor drive engineers model the effects of drag torque caused by simulated shorting and motor failure.
Dynamics engineer David Robinson visualized and tested motor and battery design configurations with MATLAB. Once the motors and batteries were selected, Robinson used MATLAB to design estimation algorithms for real-time execution in the production processor. After developing the algorithms in floating point, he tested them in fixed point and confirmed that they would run correctly on the final Segway HT processor.
“The advanced visualization capabilities of MATLAB let us view all the data at once,” says Robinson. “This helped us reach conclusions quickly and determine the best approach to model the system and transfer learning of our findings throughout Segway.”