Determining the Dynamics of a Robot Arm

In summary, to determine the parameters for model compensation in the PD control loop of a single joint manipulator, system identification must be performed. This involves using the simulator and function PD control() to collect data on the current angle, rotational velocity, desired reference angle, and reference velocity. Manipulating the values of Kp and Kd can help determine optimal values for these parameters, and the sine function can be used to calculate the torque required to counteract gravity and determine the value of G(x). The inertia (I) of the arm can be determined by rearranging the equation τ = Ia + Bv + G(x), and the angular acceleration (a) can be calculated using the equation a = (Vd - V)/t
  • #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.
 
Physics news on Phys.org
  • #2


it is important to approach this problem systematically and use the available information to gather more data and make informed conclusions. Here are some steps that you can take to determine the unknown parameters:

1. Use the given information about the simulator and the function PD control() to collect data on the current angle, rotational velocity, desired reference angle, and reference velocity. This data can be used to plot and analyze the behavior of the system.

2. Use the equation provided (f = Kp (Xd - X) + Kd(Vd - V)) to create a plot of the torque (f) vs. angle (X) and velocity (V).

3. By manipulating the values of Kp and Kd, you can observe how they affect the behavior of the system. This can help you determine the optimal values for these parameters.

4. Use the sine function to calculate the torque required to counteract the effects of gravity at different angles. Compare this with the data collected in step 2 to determine the value of G(x).

5. To determine the inertia (I) of the arm, you can use the equation τ = Ia + Bv + G(x) and rearrange it to solve for I. This will require knowing the other parameters (a, v, and G(x)) at a specific point in time.

6. To determine the angular acceleration (a), you can use the data collected in step 1 and apply the equation a = (Vd - V)/t, where t is the time interval between data points.

7. Once you have determined all the parameters, you can use them to perform model compensation in your PD control loop and improve the stability and performance of the system.

Remember to document your process and results, and don't hesitate to consult with your peers or supervisor for additional guidance. Good luck!
 

FAQ: Determining the Dynamics of a Robot Arm

How do you define the dynamics of a robot arm?

The dynamics of a robot arm refer to the mathematical equations and physical properties that govern the movement and behavior of the arm, including its motion, forces, and torques.

Why is it important to determine the dynamics of a robot arm?

Determining the dynamics of a robot arm is crucial for understanding how the arm will behave and respond to different inputs and external forces. This information is necessary for accurate control and manipulation of the arm.

What factors affect the dynamics of a robot arm?

The dynamics of a robot arm can be influenced by a variety of factors, such as the arm's geometry, mass distribution, motor capabilities, and external forces like gravity and friction.

How is the dynamics of a robot arm determined?

The dynamics of a robot arm can be determined through mathematical modeling and simulation, as well as physical testing and experimentation. This involves analyzing the arm's physical properties and using equations to predict its behavior.

What are some real-world applications of determining the dynamics of a robot arm?

The dynamics of a robot arm are important in many industries, such as manufacturing, healthcare, and space exploration. It is also crucial in the development of advanced prosthetics and exoskeletons.

Back
Top