Exploring
human-robot interaction requires constructing
increasingly versatile and sophisticated robots.
Commercial motor-driver and motion-controller
packages are designed with a completely different
application in mind (specifically industrial robots
with relatively small numbers of relatively
powerful motors) and do not adapt well to complex
interactive robots with a very large number of
small motors controlling things like facial
features. Leonardo, for instance, includes
sixty-some motors in an extremely small volume. An
enormous rack of industrial motion controllers
would not be a practical means of controlling the
robot; an embedded solution designed for this sort
of application is required.
We have developed a motor control system to address the specific needs of many-axis interactive robots. It is based on a modular colletion of motor control hardware which is capable of driving a very large number of motors in a very small volume. Both 8-axis and 16-axis control packages have been developed.
These controllers support simultaneous absolute position and velocity feedback, allowing good dynamic performance without the need for lenghty calibration phase at power-up. Example firmware has been developed which supports accurate position estimation and PD control to a continuously-updated target position. The control system is highly flexible, allowing alternative control algorithms to be developed with ease.
A generic software library has also been developed to provide a clean interface betwen high-level control code and low-level motor hardware, as has a generic network protocol, known as the Intral-Robot Communications Protocol, which provides a simple and extensible framework for inter-module communication within a complex robot control system.
For instance, 4 of the 16-axis motor controller packages are used to control Leonardo. A single 8-axis package is used to control RoCo.
The motor drivers are standard FET H-bridges; recent advances in FET process technology permit surprisingly low RDS on losses, and switching at relatively low (1-10kHz) frequencies reduces switching losses. Hence, the power silicon (and thus the package as a whole) can be reduced in size. The audible hum and interference due to the low switching frequency (which is completely unacceptable for an organic looking robot) is eliminated by using a variable-mean spread-spectrum control signal, rather than traditional PWM. The sixteen channels each support current feedback, encoder feedback, and analog feedback, and the system is controlled by a custom SoC motion controller with an embedded soft processor core implemented in a Xilinx Virtex FPGA.
We have developed a motor control system to address the specific needs of many-axis interactive robots. It is based on a modular colletion of motor control hardware which is capable of driving a very large number of motors in a very small volume. Both 8-axis and 16-axis control packages have been developed.
These controllers support simultaneous absolute position and velocity feedback, allowing good dynamic performance without the need for lenghty calibration phase at power-up. Example firmware has been developed which supports accurate position estimation and PD control to a continuously-updated target position. The control system is highly flexible, allowing alternative control algorithms to be developed with ease.
A generic software library has also been developed to provide a clean interface betwen high-level control code and low-level motor hardware, as has a generic network protocol, known as the Intral-Robot Communications Protocol, which provides a simple and extensible framework for inter-module communication within a complex robot control system.
For instance, 4 of the 16-axis motor controller packages are used to control Leonardo. A single 8-axis package is used to control RoCo.
The motor drivers are standard FET H-bridges; recent advances in FET process technology permit surprisingly low RDS on losses, and switching at relatively low (1-10kHz) frequencies reduces switching losses. Hence, the power silicon (and thus the package as a whole) can be reduced in size. The audible hum and interference due to the low switching frequency (which is completely unacceptable for an organic looking robot) is eliminated by using a variable-mean spread-spectrum control signal, rather than traditional PWM. The sixteen channels each support current feedback, encoder feedback, and analog feedback, and the system is controlled by a custom SoC motion controller with an embedded soft processor core implemented in a Xilinx Virtex FPGA.
Papers
M. Hancher (2003), A Motor Control Framework for Many-Axis Interactive Robots. Master of Engineering thesis, Department of Electrical Engineering and Computer Science, MIT.
M. Hancher (2003), A Motor Control Framework for Many-Axis Interactive Robots. Master of Engineering thesis, Department of Electrical Engineering and Computer Science, MIT.