Distributed Control Scheme for Motor Networks

with Communication-Constrained Channels

Kyunghwan Kim and Nicola J. Ferrier

Department of Mechanical Engineering, University of Wisconsin - Madison
1513 University Avenue, Madison, WI 53706-1572, USA




In biological systems a central pattern generator is thought to generate motion patterns for muscular movement that exhibits strong non-linearity. After learning process, motion is then executed with minimal interaction of the cerebellum, hence freeing up communication channels. Inspired by the biological pattern generator, this paper proposes a scheme to control motor networks with slow communication channels. In the proposed control scheme, motion patterns consist of simple torque pulses. Each joint autonomously generates input torque patterns and the patterns are refined through a searching process. After the searching process, motors can be controlled in an open loop fashion, with minimal management by a central processor. The feasibility of the proposed scheme is demonstrated by a robotic finger system with communication-constrained channels.


  2. In motion control of robots, one does not usually consider communication constraints. It is often presumed that a host computer can send torque commands to motors within a short control period (e.g. several milliseconds). Assuming this condition, many effective feedback controllers have been proposed. However, there are situations where communication between the host and the motors is limited. For example, when motors are configured using a daisy-chain communication bus, the communication speed decreases as the number of motors increases. (Here we emphasize the communication limitations, however a similar situation happens when a host is busy with other processing and can not dedicate its computational resources to the control of motors). Daisy chain communication protocols are often employed in modular systems such as robotic toys [13] which users can build up by from micro-controllers, motors and sensors. Typically due to cost constraints such devices are not equipped with fast processors for motor control and the used communication protocol is a slow daisy-chain connection. We envision similar situations in future robots because future robots will use many motors to enable subtle motions, heavy user interface demands by a host computer, and easily-extended (but slow) communi-cation protocols [7, 16]. For slow communication speed, one cannot apply any traditional feedback control techniques to the control of motors (see chapter 2). Thus one must consider how to control communication-constrained systems.

    Biological research shows that animals control certain motions in a distributive manner. Higher animals can control repetitive movements using local control (such as in the spinal cord) without active intervention of the cerebellum and brain stem [4, 6]. In biological motion control systems various tasks, once learned, can be performed without intervention of high cortical processing or advanced sensory feedback [11, 12, 15, 17, 18]. Feedback could be used to assess the entire task rather than control each movement of the task. Because these movements are processed distributively, the communication speed between the brain and limbs is not always important. This kind of control architecture is quite different from the current robot motion control that depends on fast calculation and fast communication.

    Our goal is to design a control system that demonstrates superior performance over classic control formulations in the presence of communication limitations. Inspired by the aforementioned biological systems [8], we have designed a controller with a hierarchical structure, analogous to animals' motor control. The hierarchy includes a central processor, and independent processors (controllers) connected to the host via a daisy chain communication bus. The local motor controllers each control a joint of a robotic finger. The central processor calculates inverse kinematics and sends trajectory signals to motors. Each local motor controller can control and sense the position of a single joint. In addition, each controller possesses a limited amount of memory and the ability to communicate with the central controller. To reduce the communication during the execution of a task, each joint must be controlled pre-dominantly with local feedback and, due to storage restrictions in the local controller, the stored commands must be in a compact form. Continuous trajectories for each link could be computed, transferred to each joint and stored, however the large storage demands of this method makes it impractical. In the work presented here, the motion is represented as a sequence of torque pulses. The generation of a pattern of torque pulses for each joint enables the execution of a specific motion. When compared to storing the discrete sampling of a continuous trajectory, this encoding of motion permits fewer parameters to be stored for a specific motion. It is difficult, however, to analytically determine the torque pulses required for a specific task. Hence we employ a searching process. The amplitude and the duration of the pulse are refined during the searching process. The resulting motion is then encoded in compact form and can be readily transmitted to the motors via the limited communication channel.

    When one considers the traditional control metrics (such as tracking accuracy), the conventional feedback controllers give superior performance. However, tracking accuracy is not the sole aim of our research (and possibly not the best metric for system performance). For situations where traditional control methods cannot be used effectively due to communication delay, or when distributed performance is desired, other metrics must be developed. For repetitive tasks, learning a pattern reduces the computation and communication requirements during the execution of the task (such as central pattern generators (CPGs) [9] in biological systems). Many biological systems use CPGs for locomotion such as walking, swimming [4].

    In section 2, a daisy-chain motor network is modeled. We describe the effect of communication constraints in the network. The simulation results show that the conventional feedback controller cannot be used in the network. In section 3, we briefly present our idea about distributed control system. In the proposed method, each motor module generates torque pulses without intervention of a central processor. The torque pulses are refined through a searching process to learn the correct parameter (amplitude or width) for execution of a motion. Simulation and experimental results are given to demonstrate the success of the distributed control scheme in determining an appropriate torque primitive for a given motion.



In this section, we analyze the effects of communication delay on motor control in daisy chain and bus architectures. The analysis implies that the conventional control strategies are not feasible as the number of controlled motors increases and the communication speed decreases.

Instead of doing motion control exclusively in a central processor, we delegate some parts of motion control to distributed motor modules. The modules include a micro-controller for position / velocity / torque control and a memory block to store motion commands [1]. In this architecture, control states of a motor such as position, velocity and torque, are not controlled by the central processor but by the module itself. The simulation results show that this approach is more effective than the traditional centralized methods in a daisy chain connec-tion. According to the simulation, however, distributed control is not advantageous on a communication channel whose baud rate is slower than 10,000.

To reduce data transmitted through the channel and stored in the module, we transmit motion control parameters instead of discretely sampled motion trajectory set points. In our approach, a torque pulse is identified as a pair of parameters. The proposed system can overcome the communication limitations and establish distributed control of a motor network.

In this section, a daisy chain network is analyzed from the viewpoint of computation and communication. Suppose a daisy chain network in which M-motor modules are connected sequentially. Every module has a processor and a motor. The parameters used in the analysis are summarized as followings.

The time for host, to process all the task without load distribution is T1=W1Tc. Considering a distributed control strategy using n processors (modules), the finishing time for each processor, Tn, is derived as followings.

In the daisy chain with communication subprocessors, the module can process computation and communication at the same time. The finishing time is expressed as



where and . The n represnts the n-th module and is counted from the host (n=1). M is the number of motors in the network.

In the daisy chain without communication subprocessors, the module cannot process computation and communica-tion together so the computation starts after sending data to the adjacent link. In this case,


where and .

, (n=M) (4)

In broadcast bus architecture, communication can be processed more efficiently in the first module.



where and .

In the above cases, the finishing time T for entire task can be defined as

T = max ( T1, T2, T3, Ö, TM ) (7)

In the daisy-chain network, the first motor module receives a string of data and repeats (echoes) it to the adjacent module. The echoing process continues until the last motor in the chain sends the string back to the host computer. As a rule of thumb, it takes 10 bits to transmit a character through a serial channel so the time required to send all the data can be calculated by ZnTd = (10 x byte) / baud [sec]. The byte is the number of bytes transmitted through the channel and the baud is the baud rate used in the daisy-chain communication. Suppose that all the processors in the modules have identical ability in calculating a portion of control routine within 1 msec. In this case, the time for processing the whole servo routine with a processor, WnTc , is proportional to the number of modules. The finishing time for a part of servo routine is the shortest in the first motor module and the longest in the last one.

Fig. 1 shows the tradeoff relationship between distributed computation and delayed communication. The simulation calculates the finishing time T of the entire task according to the number of modules (or processors) used in the network. The constants Wn and Zn are set to 1 so the system performance is evaluated by Tc and Td.

In the figure, the maximum in Y-axis, 6 msec, is the total computation time taken to calculate the whole servo routine for six motors only with a central processor. From the figure, the distributed control scheme has more advantage than the centralized scheme in the following communication speed. The finishing time T is denoted in parenthesis.

We can see that daisy chain connection is more affected by communication speed. To be noted, the motors can start to rotate before the finishing time T so the distributed control scheme is more advantageous in most cases.



Fig. 1. Tradeoff relationship between distributed computation and delayed communication, varying baud rate. (a) daisy chain connection. (b) bus connection.



Distributed control has received a great deal of attention in computer science, especially, parallel processing [2, 14]. A job to be processed is divided into pieces and transmitted to other agents. After the job is processed in several agents, the computation results are collected to a central processor in order to compute a global solution. In contrast, most robotic applications are connected with a central processor (mainly a PC) through a dedicated network and they are controlled in a centralized manner. The processor must send control inputs to the motors within a short sampling period. As mentioned in section 2, centralized control would not be effective if the communication between the central processor and the motors is limited. In such situations, one cannot apply any conventional feedback control scheme to motion control successfully. If one envisions the ability for each motor to have local control (processing, memory, etc such as the Smart Motorä [1]) then control could be distributed in a robotic system.

Here, we propose a distributed control scheme to control motor networks with communication-constrained channels. Our idea was inspired by a central pattern generator that can be found in animalsí muscular movement. The biological pattern generator can produce torque patterns locally without much intervention of central processor such as a brain. Similarly, the control scheme we propose in this paper enables all the motors to move without much interference of a central processor. The goal of motion control is to move motors to a certain joint position. Once the central processor sends data for desired joint position to the motor modules, the modules start to find an appropriate torque pulse to generate the desired joint position autonomously. Two searching methods are considered; pulse width modulation (PWM) and pulse amplitude modulation (PAM).

If we already know the nominal inertia moment of controlled motors, navigation time to converge to a desired position can be greatly saved. Of course, we cannot estimate the exact nonlinear effect such as friction, coupled inertia between links so searching process is still needed. We can start searching from the estimated torque pattern calculated by the nominal inertia moment. After the searching process is finished, we can get parameters for a suitable torque pattern. The parameters are stored into the memory in the motor module for open-loop control. In open-loop control, we donít need searching process so the motors reach to the desired position at once.


  2. We can predict how a motor moves when a torque pulse is applied to it. The torque pulse can be expressed as


    where 1(t) is a unit step function. The H and W represent height and width of the torque pulse.

    The Laplace transform of the torque pattern can be written as in (9).

    (9) (4)

    We can model a motor with inertia moment J and viscosity coefficient B. Y(s) is the transfer function from torque input to position output.


    Time response can be calculated by inverse Laplace transform of Y(s).


    where a ratio of inertia moment to viscosity coefficient, K=J/B.

    (a) changing amplitude of the input torque. H=1,2,3,4,5 in magnitude order, W=1, K=1, B=1.

    (b) Changing width of the input torque. H=1, W=1,2,3,4,5 in magnitude order, K=1, B=1.

    Fig. 2. Time responses of the torque controller.

    Fig. 2 shows time response of the torque controller based on PAM and PWM. From the figures, we can see that a motor can reach a desired position by changing either the amplitude H or the width W of a torque pulse. The searching process discovers suitable H and W in the experiments.



Fig. 3. shows WISC-fingers used in our experiments. A 133 MHz-Pentium PC was used as a host computer. Six motor modules are connected sequentially in a daisy chain network. Communication-constrained channel such as daisy chain bus prevents conventional feedback controller from controlling motor networks. In the experiments, 9600 bps serial communication was used to transmit data from the host to the modules. The robotic fingers are belt-driven by brushless DC motors [1].

Fig. 4 and 5 show the tracking performance of a finger when the proposed torque controller is used. Three joints in the finger are commanded to reach 30 and 60 degrees respectively. The searching process is done by the PAM method. In the experiments, three joints reached the desired joint positions after some reasonable searching trials. Because 9600 baud-serial communication is used, the data collected from the motor modules are sparse, as shown in the figures. In actuality, the torque controller generates continuously-curved position trajectories. As shown in the figures, the searching speed is fast because the nominal inertia moment is known and the searching starts from the estimated torque pattern. The estimated torque cannot move a motor to a desired position at once because nonlinear effect such as friction cannot be estimated. Once suitable amplitude H and width W are searched, they are stored in the memory for open-loop control. In open-loop control, the motors can reach the desired position without intervention of the host computer. The data in the memory can be reusable as long as the desired setpoint does not change.


Fig. 3. WISC-fingers used in our experiments : Two fingers with three degrees of freedom.

  1. Joint 1: 100msec duration, PAM changes 7.0% to 7.8% (9 trials)
  2. Joint 2: 100msec duration, PAM changes 7.0% to 7.4% (5 trials)
  3. Joint 3: 100msec duration, PAM changes 7.0% to 7.1% (2 trials)

Fig. 4. Moving three fingers to 30 degrees.



Fig. 5. Moving three fingers to 60 degrees : Joint 3. 100msec duration, PAM changes 7.8% to 8.4% (7 trials)



In this paper, a new distributed control scheme for motor networks with time delay has been investigated. The purpose of motion control is to reduce the effects of communication constraints and to enable stable motor control. The proposed method is to use slow communica-tion channels minimally by delegating low-level motion control to distributed motor modules and generating simple trajectories consisting of torque pulses. The torque pulses are refined through a searching process to minimize tracking errors. The searched patterns are stored in the memory for open-loop control. One of the most significant features in the proposed control scheme is to divide a computational load into several pieces.

In the future study, the searching process will be optimized using advanced schemes such as learning control, adaptive control and so on.


This research was supported by NSF IRI-9703352.



  1. Animatics SmartMotor User's Manual, NEMA23 & NEMA 24, Animatics, 1997.
  2. S. Bataineh and T. G. Robertazzi, "Performance Limits for Processor Networks with Divisible Jobs," IEEE Transaction on Aerospace and Electronic Systems, Vol. 33, No. 4, October 1997.
  3. Roger W. Brockett, "On the computer control of movement," Proceedings of the IEEE Robotics and Automation Conference, Philadelphia, 1988.
  4. A. H. Cohen, editor, Neural Control of Rhythmic Movements in Vertebrates, Wiley and Sons, 1988.
  5. L. S. Crawford and S. S. Sastry, "Biological Motor Approaches for a Planar Diver," 34th IEEE Conference on Decision and Control, pp. 3881-3886, December 1995.
  6. S. Grillner and P. Zangger, "On the Initiation of Swing Phase of Locomotion in Chronic Spinal Cat," Brain Res., vol. 146, pp. 269-277, 1979.
  7. G. J. Hamlin and A. C. Sanderson, "Tetrobot: A Modular Approach to Parallel Robotics", IEEE Robotics and Automation Magazine, Vol. 4. No. 1, March 1997.
  8. S. Hirose, Biologically Inspired Robots, Oxford University Press, 1993.
  9. J. C. Houk, "Model of the Cerebellum as an Array of Adjustable Pattern Generators," In M. Glickstein, C. Yeo, and J. Stein, eds., Cerebellum and Neuronal Plasticity, pp. 249-260, New York, Plenum Press.
  10. M. Kawato and H. Gomi, "A Computational Model of Four Regions of the Cerebellum Based on Feedback-Error-Learning," Biological Cybernetics, vol. 68, pp. 95-103, 1992.
  11. S.W. Keele, "Learning and control of coordinated motor patterns: the programming perspective," In J.A.S. Kelso, editor, Human Motor Behavior. Lawrence Erlbaum Associates, 1982.
  12. R.M. Klein, "Attention and movement," In G.E. Stelmach, editor, Motor Control: Issues and Trends. Academic Press, 1976.
  13. LEGO robots: http://www.lego.com.
  14. R. Mirchandaney, D. Towsley, and J. A. Stankovic, "Analysis of the Effects of Delays on the Load Sharing ," IEEE Transactions on Computers, Vol. 38, pp. 1513-1525, November 1989.
  15. K.M. Newell, "Coordination, control and skill," In D. Goodman, R. B. Wilberg, and I. M. Franks, editors, Differing perspectives in motor learning, memory, and control. North Holland Press, 1985.
  16. M. Nilsson, "Snake Robot: Free Climbing," IEEE Control Systems Magazine, pp. 21-26, February 1998.
  17. R.W. Pew and S. Baron, "The components of an information processing theory of skilled performance based on an optimal control perspective," In G.E. Stelmach, editor, Information processing in motor control and learning. Academic Press, 1978.
  18. R.A. Schmidt, "More on motor programs," In J.A.S. Kelso, editor, Human Motor Behavior. Lawrence Erlbaum Associates, 1982.