Two PID control on a robot

asked 2018-08-10 12:14:56 -0500

jwchang gravatar image

I use PID method referenced from PID.cc for rrbot's position control, and I write the control code in .cc plugin file, which is like

private: common::PID jointPID;
this->jointPID.Init(10, 0, 0, 10, -10);
cmd = this->jointPID.Update(this->joint->GetAngle(0).Radian() - pos, stepTime);
this->joint->SetForce(0, cmd1);

I use "roslaunch rrbot_gazebo rrbot_world.launch" to open Gazebo. Then I want to tune the pid parameter dynamically, so I use rqt, and the control file is like this rrbot_control.yaml

So now there are two PID on my robot, and I don't know which PID dominate. I do some experiments but it seems no conclusion. Does anyone have any ideas?

edit retag flag offensive close merge delete