Integration Project Systems and Control 2013 Group 2: Difference between revisions
(35 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 | 1) Literature collected and background knowledge reviewed. | ||
2) Control system requirement | 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]. | <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. | ||
- 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 = | - 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. ( | <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 | 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 134: | Line 149: | ||
==== Week 2 ==== | ==== Week 2 ==== | ||
1) | 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 | * 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. | 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) | 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) | 2) Obtained FRF measurements on the right robot. | ||
3) Analysis of FRF measurements. | 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 ==== | ||
1) | 1) PID controller designed using Shapeit. | ||
* We designed four controllers for each axis with a bandwidth of approx. 10Hz. | |||
2) | 2) Designed a low frequency PID controller | ||
* We designed four simple controllers without an I-action for the feedforward tuning. | |||
3) | 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 ==== | ==== Week 5 ==== | ||
1) | 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 12: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
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.
![]() |
![]() |
![]() |
![]() |
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.
![]() |
![]() |
![]() |
![]() |
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.