- #1
adillhoff
- 21
- 0
Homework Statement
Here you are supposed to perform system identification to determine the parameters required later to perform model compensation in your PD control loop. The dynamic model of this single joint manipulator has the form τ = Ia + Bv + G(x), where a is angular acceleration (unknown), v is angular velocity (given), and x is the current angle (given). These are caused by the inertia of the arm (I), the viscous friction in the joint (B) and by gravity (G).
To determine these elements of the dynamics you have to perform experiments with the simulated robot. Your interface here is given in the function PD control() which receives all relevant information from the robot system and is called at a rate of 500Hz.
This function receives the current joint angle (theta), the corresponding rotational velocity (theta dot), the desired reference angle (theta ref) set using the slider, and the reference velocity (theta dot ref). The output of this function should be the amount of torque you want to apply to the joint.
(HINT: To perform system identification you want to collect this data and analyze it in order to determine the system parameters).
G is a function that I assume returns a rotational force based on gravity and the input angle.
B, the friction coefficient, is meant to be simulated and can be tuned by the user.
I is the inertia of the arm which is unkown
Homework Equations
f = Kp (Xd - X) + Kd(Vd - V), where
Kp = spring constant (user can tune this to preference)
Xd = Desired angle
X = Current angle
Kd = spring constant (user can tune this to preference)
Vd = Desired angular velocity (always 0 for the purposes of this assignment)
V = Current angular velocity
The Attempt at a Solution
Using the supplied simulator, I played around with the output, torque, to approximate how much torque is needed to keep the arm stable at degree 0. This looks like the arm is sticking straight out. I can then calculate the required amount of torque needed to counteract the effects of gravity by using the sine function.
That is as much information as I can come up with at the moment. I am not given the mass of the robot arm nor the length.
The only thing that is left to find is inertia and angular acceleration. Any help or advice would be greatly appreciated.