Dynamic Control
The robot’s control is entirely performed in software. Our control software is separated into four levels, each operating at different rates and providing different types of control.
Level 1
The core controller provides Proportional-Derivative position control. At a rate of 2 KHz, the software reads the encoder counter IC’s, updates the internal position variables, buffers/filters velocity, computes new torque commands, and sends the results to the digital-to-analog converters. The basic control equations include a velocity-based friction compensation term.
Level 2
At a rate of 500 Hz, a trajectory generator sends new positions to the Level 1 controller. Given start and end positions, the robot computes a trapezoidal velocity profile.
Level 3
The motion of the robot is coordinated by code which sends velocities and positions to the Level 2 controller. By synchronizing the motion of the four translation actuators, the Level 3 controller ensures that the body of the robot moves at a constant velocity with respect to the ground.
Level 4
The highest level controller provides general navigation of the robot. Even if the underlying control does not provide repeatable results, the dead-reckoning system maintains reasonably accurate coordinates, which are used to correct the robot’s position during subsequent movements.
|