A robot is a mechanical system that controls several degrees of freedom of the end-effector (e.g.,the hand of the robot) (Tsai, 1999). The links, all of which are rigid, are connected to each other through revolute joints for rotation and prismatic joints for linear displacements.
Robots are classified into two main categories, according to the configurations of their kinematic chains: serial robots and parallel robots.
Serial robots are made up of links that are attached in succession to each other by a one degree of freedom joint (Tsai, 1999). This configuration makes an open kinematic chain.
Serial robots typically experience problems regarding the mass and inertia of new links when they are added to the previous links. The actuators, from the end effector to the base, end up becoming larger and heavier. Their additional mass results in augmentation of the position error from the base to the end effector (Joubair, 2012).
Usually, one can reduce the large mass and inertia of serial robot links by distributing the load across several links, which are attached in a parallel configuration from the end effector to the ground. In doing so, one creates a parallel robot .A parallel manipulator is generally defined as a closed-loop kinematic chain mechanism whose end-effector is linked to the base by several independent kinematic chains (Merlet, 2006). Parallel robots are more rigid, due to their closed-loop mechanical structure.
Typically the actuators are attached to the base, enabling good precision since the mass of the moving part is reduced (Joubair, 2012). Unlike with serial robots, however, not all the joints of a parallel robot are actuated. While some of them are active (also known as actuated), others are passive. Because of the geometrical constraints imposed by closed-loop mechanical chains, the singularity problem is more likely to occur with parallel robots than with serial ones.
We will give just a brief overview of virtual prototyping here, because the purpose of this thesis is not to present a new prototyping tool; instead we are validating a prototyping tool developed by other people in our laboratory. Virtual prototyping is a relatively new concept in control engineering. In order to have accurate and robust control over the system, one must have comprehensive knowledge of its dynamics. This knowledge is used to develop an inverse dynamic controller that compensates for the nonlinearity in the system, which is caused by forces such as inertia, centrifugal force, and gravity (Jagannathan, 2001). For example, Yeon et al. developed an inverse dynamic controller by using SimMechanics to design a computed torque for a HyRoHILS robot (Yeon et al., 2005). With this method, Yeon et. al used the geometrical and mechanical properties of the CAD file to generate the dynamic model.
Iterative learning control
One of the primary aims in control engineering is to reduce the error between a reference, which may be a trajectory, and the system output. But when conventional controllers such as PID are combined with computed torque, and the trajectory is repetitive, the tracking error typically does not change in different cycles.
In industry several processes are repetitive, particularly tasks accomplished by robots. The process is repetitive when all the conditions are identically repeated in all cycles. For example, a gripper picks up an object with mass m from point x1 and carries it through a specific trajectory; it delivers the object to point x2 and then returns back to x1 to pick up the next object with the same mass m. This would be one process. In the next cycle the robot undergoes the same process and does the same duty. Under these conditions it is normal to see the same error in each cycle of the process, since all the factors such as friction, dynamic model, input, controller and trajectory are remaining constant.
If we can change the input of the system in a specific way so that the output will more closely approach the desired trajectory, then we are successful in reducing the error. But what is this specific way? This method is called Iterative Learning Control or ILC.
Modeling the robot in CATIA V6
To validate the virtual prototyping we modeled the four-bar mechanism in CATIA V6 with all of the detailed parts. The proper materials were selected for the links and other parts. This allows the software to determine the mechanical properties, such as mass and moment of inertia, for each part. By modeling the parts geometrically, the software is also able to determine the center of gravity and inertia. So far the mechanical properties of the system are known by the software. We need only to impose the mechanical constraints on the system. The robot is made of five subassemblies: Base, housing, link 1, link 2 and link 3. Each subassembly contains different parts. The macro, which was developed by members of our research laboratory (The CORO Lab) and is explained in the next section, considers only the constraints between subassemblies. It does not matter which kind of constraint is used inside the subassemblies between parts, because the macro treats each subassembly (with its distinct parts) as a rigid body. We will model the robot so that the collection of all moving objects that are immobile relative to each other is considered a subassembly.
Table des matières
CHAPTER 1 REVIEW OF LITERATURE
1.1.1 Serial robots
1.1.2 Parallel robots
1.2 Virtual prototyping
1.3 Iterative learning control
1.3.1 Iterative learning control definition
1.3.2 Iterative learning control history
1.3.3 Assumptions used for ILC
CHAPTER 2 ROBOT MODELING
2.2 Kinematic model
2.2.1 Direct kinematic
2.3 Dynamic model
2.5 Command law
2.5.1 Computed torque
2.6 Validation of the model
CHAPTER 3 VIRTUAL PROTOTYPING
3.1 Modeling the robot in CATIA V6
3.2 Develop a macro
3.3 Adding sensors and actuators in SimMechanics
CHAPTER 4 ITERATIVE LEARNING CONTROL
4.1 ILC algorithms
4.1.1 P-type ILC
4.1.2 PD-type ILC
4.2 Combining ILC with computed torque
CHAPTER 5 SIMULATION RESULTS
5.1 Simulation in Simulink
5.1.2 Computed torque results
5.1.3 Results of computed torque with ILC
184.108.40.206 Computed torque with P-type ILC
220.127.116.11 PD-type ILC
CHAPTER 6 EXPERIMENTAL RESULTS
6.1 Real robot
6.3 Experimental results
6.3.1 Computed torque results
6.3.2 P-type ILC
6.3.3 PD-type ILC
6.4 Comparison of two types of ILC