control_system
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
control_system [2019/12/01 07:48] – [Inputs] graf | control_system [2023/05/11 17:12] – [Motor Model] ursgraf | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Control System ====== | ====== Control System ====== | ||
+ | |||
+ | The coordinate system is as follows | ||
+ | [{{ : | ||
+ | In z direction, positive values move the TCP upwards. | ||
+ | \\ | ||
+ | |||
The figure below shows the complete control system for our delta roboter. | The figure below shows the complete control system for our delta roboter. | ||
- | {{: | + | {{: |
Line 14: | Line 20: | ||
using AxisVector = eeros:: | using AxisVector = eeros:: | ||
</ | </ | ||
+ | The mouse delivers a signal with four dimensions. As we do not use the fourth dimension (additional wheel would be necessary) we have to reduce the mouse signal to three dimensions with a special block. At the same time this block swaps x and y axis in order to adapt to the axis setup of the robot. | ||
Line 26: | Line 33: | ||
* The '' | * The '' | ||
- | ==== Headline | + | You have to make sure, that the path planner delivers a path with a acceleration and velocity which can in fact be achieved by the robot. If not, the arm might move in unpredictable ways. That is, moving from e.g. 0/5 to 5/5 must be made in a straight line. |
+ | |||
+ | ==== Controller | ||
+ | |||
+ | The position of the TCP is controlled by taking in the setpoint (see above) and adding planned velocities and accelerations. The resulting total acceleration is then fed into the block ' | ||
+ | |||
+ | ==== Motor Model==== | ||
+ | As our board cannot only control voltages fed to each motor, we must use a motor model to calculate these voltages. The block 'Motor Model' gets the actual speed and the calculated torque as input, and outputs the desired voltage for each motor. We must also take the gear into account. The speed is reduced by the gear ratio while the torque must be multiplied with the same ratio. The following equation holds | ||
+ | |||
+ | U = kM * w + I * RA + dI/dt * L | ||
+ | |||
+ | with I = M / kM and dI/dt * L beeing very small with our motors and accounting for the gear i we get | ||
+ | |||
+ | U = kM * w * i + M * RA / (kM * i) | ||
- | The "Motor Model" gets the actual speed and the calculated torque as input, and outputs the desired voltage for each motor.\\ | ||
- | The " | ||
==== Outputs ==== | ==== Outputs ==== | ||
The drive signals to the motor are of type '' | The drive signals to the motor are of type '' | ||
Line 35: | Line 53: | ||
eeros:: | eeros:: | ||
</ | </ | ||
+ | |||
+ | The block ' |
control_system.txt · Last modified: 2023/05/11 17:13 by ursgraf