Integration Project Systems and Control 2013 Group 2: Difference between revisions
(→Week 1) |
|||
(71 intermediate revisions by 2 users not shown) | |||
Line 42: | Line 42: | ||
| - Define specifications of the control system | | - 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''' | | '''Week 2''' | ||
|- | |- | ||
| - FRF measurement | | - 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. | |||
|- | |- | ||
| [[File:planning1.jpg|thumb]] | | [[File:planning1.jpg|thumb]] | ||
Line 63: | 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. | ||
<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 ==== | ==== 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. | |||
{| 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 | 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. |
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.