# PID control related to lagrange equation

I'm a beginner in robotics and so far followed the lecture series by Prof. Oussama Khatib and some blogs and papers. currently I'm following this studywolf blog. in the end I plan on building a simple robot arm capable of moving a weight. since all questions I have are regarding the lagrange equation, I'll ask all here.

1. blog says that we can ignore the Coriolis and centrifugal part of the equation and instead use a PD controller. is it OK?
2. "we’re actually going to have a PD controller for each joint." does that mean different $kp$, $kv$ values to each joint in a matrix form? or separate equations for each joint?
3. the control signal here is the torque. does that mean I need to have a current feedback(torque feedback) or is it just feedback from encoder (speed and position required for PD controller) and current feed-only?
4. when practically implementing this, do I need a current-mode pwm to apply the torque or is a voltage pwm is enough?

Welcome to Robotics, kingKong. Your question title makes it seem as though you're going to ask about Lagrange equations, but the content all appears to be about PID controls. I'm not sure if you had meant to include some other content or not.

1) blog says that we can ignore the Coriolis and centrifugal part of the equation and instead use a PD controller. is it ok?

As with any other term (friction, mass, etc.), it's okay to ignore it if it's negligible. If leaving those terms off has a big impact on your control performance then obviously you need to include them.

2) "we’re actually going to have a PD controller for each joint." does that mean different kp, kv values to each joint in a matrix form? or seperate equations for each joint?

It depends on how you're doing the controls. You could, for example, try to implement a feed-forward controller and use the PID controller to correct for any error in your feed-forward estimate of the required control torque (friction, etc.). In that case, if the point of the PID controller is to make minor corrections to a pre-existing controller's output, then you could probably use the same controller for each joint.

If you're looking to do the complete controller with just a PID controller, then (1) I'm not sure why you're looking at Lagrange equations at all, and (2) you would need a different controller for each joint. A shoulder joint would typically see the mass of the load/end effector acting across a longer effective distance than the wrist joint would. This means the shoulder joint has a higher moment of inertia (parallel axis theorem states the moment of inertia increases by distance squared). Higher inertias at the joint means you'll need higher gains to get higher torques to move said inertia.

3) the control signal here is the torque. does that mean I need to have a current feedback(torque feedback) or is it just feedback from encoder (speed and position required for PD controller) and current feed-only?

The reference/feedback signal doesn't need to be the same units or physical signal as the control signal. Cruise control in a car uses desired speed and actual speed, and it sends a control signal of throttle position to the engine. The engine (plant) "converts" throttle position to torque and that generates the acceleration to change the speed.

Same deal for you - you could have joint position as feedback and a desired position as reference, the PID controller acts on position error and generates a current reference as an output.

4) when practically implementing this, do i need a current-mode pwm to apply the torque or is a voltage pwm is enough?

I don't think it matters.

• Thank you very much for the answer. looks like i need to study more about the control theory before starting anymore things. as for the title, i think i didn't know what i am looking for, an explanation regarding Lagrange or PID. i modified it. Sep 6 '18 at 5:23