Integration Project Systems and Control 2013 Group 2: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
 
(41 intermediate revisions by 2 users not shown)
Line 87: Line 87:
|-
|-
| ( ''A good error signal with obvious indication of acceleration force, viscous friction and Coulomb friction is crucial for the feedforward controller design. Trials and errors will still be needed to obtain more desirable error signals.'' )
| ( ''A good error signal with obvious indication of acceleration force, viscous friction and Coulomb friction is crucial for the feedforward controller design. Trials and errors will still be needed to obtain more desirable error signals.'' )
|-
| - Experiment to find out the maximum possible accelerations for 4 axis
|-
| ( ''The limit acceleration will be used to push the limit of the final trajectory.'' )
|-
| '''Week 7'''
|-
| - Continue feedforward controller tuning (a relatively good error file for the axis 3 and 4 were achieved last week)
|-
| - Improve trajectory in 4 axis to achieve fast speed while meeting the preset requirements
|-
| '''Week 8'''
|-
| - Final optimization of the trajectory file.
|-
| - Presentation preparation.
|-
|-
| [[File:planning1.jpg|thumb]]
| [[File:planning1.jpg|thumb]]
Line 94: Line 110:


==== Week 1 ====
==== Week 1 ====
1) Literature collecting and background knowledge review.
1) Literature collected and background knowledge reviewed.


2) Control system requirement design:
2) Control system requirement designed:


  <1>  All pizzas have to be moved from left to right under 15 seconds.
  <1>  All pizzas have to be moved from left to right under 15 seconds.
  <2>  Reference profile has to optimal in the sense of output [V]. (frank what do u mean by this???)
  <2>  Reference profile has to be optimal in the sense of output [V].  
  <3>  During transport the pizza should remain on the robot.  
  <3>  During transport the pizza should remain on the robot.  
  <4>  Controllers design: '''stability and performance requirement'''.
  <4>  Controllers design: '''stability and performance requirement'''.
Line 105: Line 121:
           - Bandwidth for complementary sensitivity of individual axis ''aim for relatively large bandwidth''.
           - Bandwidth for complementary sensitivity of individual axis ''aim for relatively large bandwidth''.
           - Big cut-off rate the slop of magnitude plot at high frequency of individual axis.
           - Big cut-off rate the slop of magnitude plot at high frequency of individual axis.
          - Resonance peak between 1dB to 1.5dB for individual axis.
           - For open loop, generally we require low frequency high gain and high frequency low gain.
           - For open loop, generally we require low frequency high gain and high frequency low gain.
           - For sensitivity, we require low frequency low gain.
           - For sensitivity, we require low frequency low gain.
Line 111: Line 126:
     <*>  Time domain
     <*>  Time domain
           - Step or impulse response performance (open loop response), i.e. rise time, overshoot, settling time, steady state error bound.
           - Step or impulse response performance (open loop response), i.e. rise time, overshoot, settling time, steady state error bound.
           - Required tracking error individual controller. (Vertical fork x = mm; Horizontal fork y = ..mm; Rotation θ = ..mm; Table translation z = ..mm.)
           - Required tracking error individual controller. (Vertical fork x = 5mm; Horizontal fork y = 5mm; Rotation θ = 0.01rad; Table translation z = 5mm.)
  <5>  The complete trajectory has to be splitted in sub trajectories, which have to be executed in the required times. (frank maybe u modify this later.)
  <5>  The complete trajectory has to be splitted in sub trajectories, which have to be executed in the required times. (3rd-order trajectory based)
  <6>  Boundary conditions for actuators.  
  <6>  Boundary conditions for actuators.  


3) Familiarization of the robot.
3) Familiarization with the robot.
  <1> Initialization of the 4 axis  
  <1> Initialization of the 4 axis  
     - Vertical displacement of the fork -0.1m;  
     - Vertical displacement of the fork -0.1m;  
Line 128: Line 143:
     - Motor 4 -10 ~ 10V;
     - Motor 4 -10 ~ 10V;
  <4> Bounds on reference trajectory of the 4 axis
  <4> Bounds on reference trajectory of the 4 axis
     - Motor 1 -0.2418 ~ -0.0268m;  
     - Axis 1 -0.2418 ~ -0.0268m;  
     - Motor 2 0.0231 ~ 0.5301m;
     - Axis 2 0.0231 ~ 0.5301m;
     - Motor 3 0.0108 ~ 5.5708rad;
     - Axis 3 0.0108 ~ 5.5708rad;
     - Motor 4 0.0694 ~ 0.4494m;
     - Axis 4 0.0694 ~ 0.4494m;


==== Week 2 ====
==== Week 2 ====
* Rens and Jeroen conducted an FRF measurement on the left pizza robot. They did a closed loop measurement on each axis by applying a sin-wave + white noise to the plant. The sine wave is added to overcome the massive friction. The controller used in the closed loop measurement is tuned very low. During the FRF measurement the following data is collected:  the input signal (u), the white noise signal (w), and the output voltages (v). With this data we calculated the process sensitivity and the sensitivity and to obtain the plant we divided them (similar as we did during the Motion Control course). We are uncertain if the left and right pizza robots have a similar plant so perhaps we should repeat the FRF measurement on the right robot because that one has the pizza racks on it.
1) Obtained FRF measurement on the left pizza robot.
* A closed loop measurement on each axis by applying a sin-wave + white noise to the plant. The sine wave is added to overcome the massive friction. The controller used in the closed loop measurement is tuned very conservative. During the FRF measurement the following data is collected:  the input signal (u), the white noise signal (w), and the output voltages (v). With this data we calculated the process sensitivity and the sensitivity and to obtain the plant we divided them (similar as we did during the Motion Control course). We are uncertain if the left and right pizza robots have a similar plant so perhaps we should repeat the FRF measurement on the right robot because that one has the pizza racks on it.
 
2) Analysis of FRF measurement.
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse;"
|-
| [[File:group2.frf_axis1_LR.png|300px]]
| [[File:group2.frf_axis2_LR.png|300px]]
|-
| [[File:group2.frf_axis3_LR.png|300px]]
| [[File:group2.frf_axis4_LR.png|300px]]
|}


==== Week 3 ====
==== Week 3 ====
1) Controller chosen.
* We decided to use PID controller to control the pizza robot because we all have the most experience with them.  This week we evaluated the FRF measurement data and loaded this in the programme ShapeIt. Because the right pizza robot broke we were not able to do more because we scheduled testing time on that robot.
* We decided to use PID controller to control the pizza robot because we all have the most experience with them.  This week we evaluated the FRF measurement data and loaded this in the programme ShapeIt. Because the right pizza robot broke we were not able to do more because we scheduled testing time on that robot.
2) Obtained FRF measurements on the right robot.
3) Analysis of FRF measurements.
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse;"
|-
| [[File:group2.frf_axis1_RR.png|300px]]
| [[File:group2.frf_axis2_RR.png|300px]]
|-
| [[File:group2.frf_axis3_RR.png|300px]]
| [[File:group2.frf_axis4_RR.png|300px]]
|}


==== Week 4 ====
==== Week 4 ====
* We designed four controllers for each axis with a bandwidth of approx. 10Hz. We also obtaind all the positions to pickup the pizzas. With these positions we start to constuct the optimal trajectory.
1) PID controller designed using Shapeit.
* We designed four controllers for each axis with a bandwidth of approx. 10Hz.
 
2) Designed a low frequency PID controller
* We designed four simple controllers without an I-action for the feedforward tuning.
 
3) Third order "challenging" trajectory designed
* Several trajectories (both 2nd order and 3rd order trajectories) are designed for each axis to do the feedforward tuning.
 
4) Feedforward controller designed
* In this week we were not able to do the feedforward tuning because of some delay in the design of the "challenging" third order trajectories.
 
==== Week 5 ====
1) Obtained locations of pizza shelves
 
2) Trajectory obtained and controller tested
 
We also obtained all the positions to pickup the pizzas. With these positions we start to construct the optimal trajectory.
 
==== Week 6 ====
1) Adjust the final trajectory especially the positions from the left shelf to the right one.
* Trivial modifications of the positions on the trajectory. As there aren't so much space for tuning between shelf hands, and the controller designed might have overshoot, this tuning process will need to be re-performed after the controller is fixed.
 
2) Improved trajectory programming.
* Combinations of rotation, vertical and horizontal movement of the fork are made which decreased the overall time for the whole pizza moving process.
 
3) Feedforward controller tuning.
* We encountered several problems with the feedforward tuning. For all the axis, except the rotation, we were not able to obtain a nice error profile which we were expecting based on the Motion Control course, i.e force to accelerate, viscous friction and coulomb friction parts are not obvious.  Therefore we could not apply the techniques we used to compensate for the stick-slip, friction, acceleration. A solution still needs to be found.
 
4) Obtained maximum accelerations for 4 axis.
* This is done by pushing the acceleration of a 2nd order trajectory to the limit, in the sense that the motors are just about to saturate.
 
5) New trajectories obtained based on the maximum accelerations and velocities.
 
==== Week 7 ====
1) Continue unfinished work from last week.
 
2) Tuning of feedforward controller for axis 3 and 4 with a higher frequency feedback controller.
 
3) Obtained feedforward controllers for axis 2, 3 and 4.
 
4) Obtained faster trajectory file while meeting predefined control requirements.
 
==== Week 8 ====
1) Increase of velocity and acceleration of trajectory file while maintaining acceptable performance (e.g. pizza stay on track, small error and overshoot, etc.).
 
2) Prepared for the presentation of the project.

Latest revision as of 11:59, 31 May 2013

Group Members

Name: Student id: Email:
Rens Samplonius 0785119 r.j.samplonius@student.tue.nl
Frank Evers 0789890 f.evers@student.tue.nl
Juan Guo 0825223 j.guo@student.tue.nl
Jeroen Lamers 0771264 j.w.lamers@student.tue.nl

Planning

Week 1
- Project planning
- Familiarization with the robot
- Literature searching
- Define specifications of the control system
( This will be the guide for the control system design. As a complete list of requirements can help insure the overall performance and stability of the system. This can avoid the redesign of the controller, when certain important specifications are found to be not satisfied afterwards.One problem of having a complete list of requirements is the trade-off among them, which has to be evaluated based on the importance of the requirement.)
Week 2
- FRF measurement and analysis
( Modeling of the system is the first step to its control algorithm design. Two main modeling method we know: physical modeling and data based modeling. Physical modeling is based on conservation law. The system we face is pretty complex and certain phisical phenomina which can have a big influence on the dynamics of the system such as friction is hard to model in this way; also parameters like mass and inertia are not provided directly. Thus we choose data based modeling. Both frequency response measurements (linear system) and system identification method will be used.)
- Decide the type of controllers to be applied
Week 3
- Design PID controller design and its discretization
(PID controller for sure will control the system to a degree. Start from this simply but powerful controller we can have some idea of control effort required to achieve a good performance of the system. Later modification and alternative control algorithms will be considered if the performance is not satisfying. Controller discretization will be considered if the discrete model in Simulink works poorly.)
Week 4
- Design a low frequency PID controller
- Third order "challenging" trajectory design and feedforward controller design
( To achieve a good trajectory tracking only the PID controller is not enough, as it only react to existing error signal. Adding feedforward controller to correct error beforehand will improve trajectory tracking. )
Week 5
- Obtain locations of pizza shelves
- Trajectory planning and controller testing
( The controller designed help tracking the reference signal in a possibly fast and accurate way. Once a good enough controller is designed, the performance of the system depends on the trajectory it is going to follow. The velocity and acceleration of the trajectory will influence the speed of the robot which is out control goal. The velocity, acceleration and even higher order smoothness might also influence the performance. )
- Modeling by parametric system identification
( If the designed controller is not good enough, parametric system identification might need to be used to get another representation of the model. Then repeat the controller design and testing procedures. )
Week 6
- Improve final trajectory and smart trajectory generating program
( As a good trajectory directly influence the performance of the system especially the final time it takes to move all the pizzas, trials and errors will be made in order to find a most suitable trajectory in the sense of maximum acceleration, velocity and preferably with higher order smoothness. A smart trajectory generating program is handy for easy testing and modification )
- Feedforward controller tuning
( A good error signal with obvious indication of acceleration force, viscous friction and Coulomb friction is crucial for the feedforward controller design. Trials and errors will still be needed to obtain more desirable error signals. )
- Experiment to find out the maximum possible accelerations for 4 axis
( The limit acceleration will be used to push the limit of the final trajectory. )
Week 7
- Continue feedforward controller tuning (a relatively good error file for the axis 3 and 4 were achieved last week)
- Improve trajectory in 4 axis to achieve fast speed while meeting the preset requirements
Week 8
- Final optimization of the trajectory file.
- Presentation preparation.
Planning1.jpg

Progress

Week 1

1) Literature collected and background knowledge reviewed.

2) Control system requirement designed:

<1>  All pizzas have to be moved from left to right under 15 seconds.
<2>  Reference profile has to be optimal in the sense of output [V]. 
<3>  During transport the pizza should remain on the robot. 
<4>  Controllers design: stability and performance requirement.
   <*>  Frequency domain
         - Bandwidth for complementary sensitivity of individual axis aim for relatively large bandwidth.
         - Big cut-off rate the slop of magnitude plot at high frequency of individual axis.
         - For open loop, generally we require low frequency high gain and high frequency low gain.
         - For sensitivity, we require low frequency low gain.
         - Relatively big gain margin and phase margin.
   <*>  Time domain
         - Step or impulse response performance (open loop response), i.e. rise time, overshoot, settling time, steady state error bound.
         - Required tracking error individual controller. (Vertical fork x = 5mm; Horizontal fork y = 5mm; Rotation θ = 0.01rad; Table translation z = 5mm.)
<5>  The complete trajectory has to be splitted in sub trajectories, which have to be executed in the required times. (3rd-order trajectory based)
<6>  Boundary conditions for actuators. 

3) Familiarization with the robot.

<1> Initialization of the 4 axis 
   - Vertical displacement of the fork -0.1m; 
   - Horizontal displacement of the fork 0.1m;
   - Rotation 2.4rad;
   - Translation 0.2m;
<2> Sampling frequency 500Hz
<3> Bounds on input range of each motor
   - Motor 1 -0.625 ~ 6.25V; 
   - Motor 2 -0.625 ~ 6.25V;
   - Motor 3 -10 ~ 10V;
   - Motor 4 -10 ~ 10V;
<4> Bounds on reference trajectory of the 4 axis
   - Axis 1 -0.2418 ~ -0.0268m; 
   - Axis 2 0.0231 ~ 0.5301m;
   - Axis 3 0.0108 ~ 5.5708rad;
   - Axis 4 0.0694 ~ 0.4494m;

Week 2

1) Obtained FRF measurement on the left pizza robot.

  • A closed loop measurement on each axis by applying a sin-wave + white noise to the plant. The sine wave is added to overcome the massive friction. The controller used in the closed loop measurement is tuned very conservative. During the FRF measurement the following data is collected: the input signal (u), the white noise signal (w), and the output voltages (v). With this data we calculated the process sensitivity and the sensitivity and to obtain the plant we divided them (similar as we did during the Motion Control course). We are uncertain if the left and right pizza robots have a similar plant so perhaps we should repeat the FRF measurement on the right robot because that one has the pizza racks on it.

2) Analysis of FRF measurement.

Group2.frf axis1 LR.png Group2.frf axis2 LR.png
Group2.frf axis3 LR.png Group2.frf axis4 LR.png

Week 3

1) Controller chosen.

  • We decided to use PID controller to control the pizza robot because we all have the most experience with them. This week we evaluated the FRF measurement data and loaded this in the programme ShapeIt. Because the right pizza robot broke we were not able to do more because we scheduled testing time on that robot.

2) Obtained FRF measurements on the right robot.

3) Analysis of FRF measurements.

Group2.frf axis1 RR.png Group2.frf axis2 RR.png
Group2.frf axis3 RR.png Group2.frf axis4 RR.png

Week 4

1) PID controller designed using Shapeit.

  • We designed four controllers for each axis with a bandwidth of approx. 10Hz.

2) Designed a low frequency PID controller

  • We designed four simple controllers without an I-action for the feedforward tuning.

3) Third order "challenging" trajectory designed

  • Several trajectories (both 2nd order and 3rd order trajectories) are designed for each axis to do the feedforward tuning.

4) Feedforward controller designed

  • In this week we were not able to do the feedforward tuning because of some delay in the design of the "challenging" third order trajectories.

Week 5

1) Obtained locations of pizza shelves

2) Trajectory obtained and controller tested

  • We also obtained all the positions to pickup the pizzas. With these positions we start to construct the optimal trajectory.

Week 6

1) Adjust the final trajectory especially the positions from the left shelf to the right one.

  • Trivial modifications of the positions on the trajectory. As there aren't so much space for tuning between shelf hands, and the controller designed might have overshoot, this tuning process will need to be re-performed after the controller is fixed.

2) Improved trajectory programming.

  • Combinations of rotation, vertical and horizontal movement of the fork are made which decreased the overall time for the whole pizza moving process.

3) Feedforward controller tuning.

  • We encountered several problems with the feedforward tuning. For all the axis, except the rotation, we were not able to obtain a nice error profile which we were expecting based on the Motion Control course, i.e force to accelerate, viscous friction and coulomb friction parts are not obvious. Therefore we could not apply the techniques we used to compensate for the stick-slip, friction, acceleration. A solution still needs to be found.

4) Obtained maximum accelerations for 4 axis.

  • This is done by pushing the acceleration of a 2nd order trajectory to the limit, in the sense that the motors are just about to saturate.

5) New trajectories obtained based on the maximum accelerations and velocities.

Week 7

1) Continue unfinished work from last week.

2) Tuning of feedforward controller for axis 3 and 4 with a higher frequency feedback controller.

3) Obtained feedforward controllers for axis 2, 3 and 4.

4) Obtained faster trajectory file while meeting predefined control requirements.

Week 8

1) Increase of velocity and acceleration of trajectory file while maintaining acceptable performance (e.g. pizza stay on track, small error and overshoot, etc.).

2) Prepared for the presentation of the project.