Design Philosophy for Rigatoni’s Automated Steering Subsystem

From RoboJackets Wiki
Revision as of 23:14, 25 November 2019 by Kcarter47 (talk | contribs) (added purpose and stepper motor sections)
Jump to navigation Jump to search


This Wiki article is designed to give RoboRacing members insight into the design of the electrical steering subsystem for RoboRacing’s autonomous go kart Rigatoni. Rigatoni is a full-size Top Kart electric go cart that RoboRacing is modifying to become autonomous, and it will compete in the 2020 evGrandPrix competition. This article will provide readers with an overview of the main parts driving the automated steering system: the stepper motor that will physically turn the steering shaft, the encoder that will tell the central processor the current steering angle and the design of the PCB running the steering subsystem. It will also provide brief reasoning for why each part was picked.

Stepper Motor

Decision Process

In order to have an automated go kart, the go kart must be able to steer on its own, and to do that it must be able to move the steering column on its own. To achieve this, a secondary motor dedicated to driving the steering system must be installed. This motor must be able to rotate to precise angular positions and have enough torque to be able to turn the steering column, so a stepper motor was chosen instead of a servo. Although servos have built in potentiometers and are accurate, many do not have the torque required to maintain a steady position. A stepper motor does have the necessary torque but requires a driver to take the angular input and turn the motor to the correct position. Stepper motors are made up of a DC motor with multiple coils to drive it. These coils are powered in a specific sequence allowing the motor to turn in steps. They have much more torque than a regular DC motor at low speed and are good for precision at low RPM. Because they move in predictable steps, rotational speed control is easily achieved. Unfortunately, stepper motors do not have internal feedback for their position like servos do, so an external solution is required, such as an absolute rotary encoder.

Nema 23 Closed-loop Geared Stepper Motor

Shortly after deciding to use a stepper motor, the RoboRacing team leads spec’d and chose the Nema 23 Closed-loop Geared Stepper Motor. It features 1.25 N•m holding torque motor attached to a planetary gearbox with a 15.3 gear ratio with 30 N•m maximum permissible torque and 50 N•m of moment permissible torque. To run it, RoboRacing chose the Stepperonline CL57T Closed-loop Stepper Drive. Communication with the stepper motor is done via a 15 pin ethernet connector, and the drive communicates using jumper wires plugged into screw sockets. This stepper motor and drive in tandem with an appropriate absolute encoder will be able to accurately choose and hold a steering angle during a race.


RoboRacing has decided to keep the seat and steering wheel for the go kart so that it can still be driven manually. Although convenient, this decision requires a work around. The Nema 23 has very low gear ratios and thus a lot of torque, so a driver (person, not the stepper driver) cannot turn the steering wheel if the stepper motor is always mounted to the steering system. A clutch system is being planned to put in place to detach the stepper motor from the steering system when the kart is being driven manually.