Figure 5: Spindle drive configuration (adapted from [6])
3.5 Controlling the unit
The control system plays a vital role in integrating all the aspects of the unit so that it functions successfully. It also acts as the link between the user and the machine, allowing the user to interact with the module and produce the desired results.
The accurate modelling of a system is a significant step in ensuring accurate control. It is also important to try to model the system as efficiently as possible, to avoid excessive computation.
There are several approaches that can be taken when attempting to model a robotic system. The focus of the model is to be able to identify the position of the end effecter.
One of the approaches is to view the position of the end effecter as a cumulative output of the positions of the various degrees of freedom (inputs) of the system. In order to model the system, a mathematical function containing all of the inputs is used to calculate the output. This approach may lead to a complex mathematical function, requiring significant computing power. Although that may be seen as a disadvantage, there are applications where it is beneficial. This option only requires a single control loop, and the end effecter error is seen as a mean error distributed through the entire system. This is advantageous in situations where there are excessive degrees of freedom, or where several different combinations of the inputs give rise to the same output. It is also a useful approach when working with degrees of freedom containing similar hardware with similar tolerances.
An alternative approach – and the one that was used for the tool changer – differs from the previous concept in that each degree of freedom is considered as its own system with its own errors. This model separately examines the error generated by each degree of freedom, and reduces the errors inpidually. The model works well in a system where the degrees of freedom are not directly linked together in affecting the output position. An example of such a system is one with three orthogonal axes or fewer. The mathematical calculations are, as a result, significantly reduced; but the system requires a separate control loop for each degree of freedom.
This type of model was a good solution for the tool changer, as each degree of freedom is independent of the others in its effect on the desired output. To have each error calculated separately was useful in this application, since the unit consisted of degrees of freedom of varying tolerances. The high accuracies of the Festo drives could be taken advantage of,and would not be affected by the other less accurate parts of the unit.
3.5.2 General control system description
A requirement of the tool-changing unit’s control system was that it be efficiently integrated into a broader manufacturing system. The control architecture used commercially-available software and hardware in its development.
User interaction with the unit was achieved through the use of a graphical user interface (GUI) programmed to run on a Windows XP PC. The PC then used serial (RS232) and USB connections to communicate with two Atmel AVR Atmega 32 microcontrollers. The microcontrollers were used to control the two 12V DC wiper motors that drove the carousel and the worm gear that generated the rotation of the horizontal axis. The switch that powered the gripper solenoid for locking the grippers was also controlled by the microcontrollers. One of the microcontrollers was used for the pulse counting of the encoders and the angular velocity data generation routines. The other was used for the pulse width modulation (PWM) and the PID controller routines. Incremental encoders were used to provide the required feedback from the motors.
The Festo drives were coupled with proprietary controllers that initially had to be set up through the Festo configuration tool (FCT). The FCT could be used to generate a position table as well as velocity profiles. Once this data was stored on the controllers, digital I/O was used for the PC to communicate which point the drives should move to. The two Festo controllers were also linked to the PC via RS232.