What accuracy to expect for trajectory tracking using position control
Posted: Thu Jun 27, 2019 9:05 pm
Hi all, I am using pybullet to simulate ur5 robot. I have a trajectory (time stamped joint configuration and velocity) that I want to track. What my code does is basically
where target_p and target_v are calculated from evaluating a function which does interpolation.
This code sort of works but has unsatisfactory trajectory tracking error (maximum of 0.01 for some joint). I calculate this error by comparing the logged joint angles and target_p. It is like (the subplot below)
I found that:
1. increase positionGain does not improve tracking accuracy once it reaches a value like 1.
My question is:
1. How on earth is position control implemented?
2. Is there anyway to improve this tracking accuracy since this is quite essential to my application?
Code: Select all
for i in range(self.eeId - 1):
p.setJointMotorControl2(self.robotId, i + 1, p.POSITION_CONTROL,
target_p[i], target_v[i], positionGain=1, velocityGain=0.5)
This code sort of works but has unsatisfactory trajectory tracking error (maximum of 0.01 for some joint). I calculate this error by comparing the logged joint angles and target_p. It is like (the subplot below)
I found that:
1. increase positionGain does not improve tracking accuracy once it reaches a value like 1.
My question is:
1. How on earth is position control implemented?
2. Is there anyway to improve this tracking accuracy since this is quite essential to my application?