应用PID控制器进行轨迹规划算法
Applying PID Controller for trajectory planning algorithm
我正在为赛格威机器人开发路径规划算法。在 运行 之后,以 (x, y, theta)
坐标的形式获得目标的算法路径。硬件和传感器噪音在遵循路径时造成很多麻烦,并且错误正在累积。我想到了应用 PID 控制。我需要通过计算交叉轨迹误差来将转向角设置为运动方向。
1)如何计算原始坐标(x1, y1, theta1)
和当前位置(x1', y1', theta1')
的CTE?
2) 如何 select Kp、K 的值i 和 Kd 对于这种情况?
补充信息:开发环境为Androidstudio.
你可以找到 Kp, Ki, Kd 值可以通过实验或使用像 Ziegler-Nichols Method 这样的方法来获得,后者会更准确。
实验上,你可以试试:
- 将所有增益设置为 0。
- 增加Kd直到系统震荡
- 将 Kd 减少 2-4 倍。
- 将Kp设置为Kd的大约1% .
- 增加Kp直到振荡开始。
- 将 Kp 减少 2-4 倍。
- 将Ki设置为Kp的大约1% .
- 增加Ki直到振荡开始。
- 将 Ki 减少 2-4 倍。
我正在为赛格威机器人开发路径规划算法。在 运行 之后,以 (x, y, theta)
坐标的形式获得目标的算法路径。硬件和传感器噪音在遵循路径时造成很多麻烦,并且错误正在累积。我想到了应用 PID 控制。我需要通过计算交叉轨迹误差来将转向角设置为运动方向。
1)如何计算原始坐标(x1, y1, theta1)
和当前位置(x1', y1', theta1')
的CTE?
2) 如何 select Kp、K 的值i 和 Kd 对于这种情况?
补充信息:开发环境为Androidstudio.
你可以找到 Kp, Ki, Kd 值可以通过实验或使用像 Ziegler-Nichols Method 这样的方法来获得,后者会更准确。
实验上,你可以试试:
- 将所有增益设置为 0。
- 增加Kd直到系统震荡
- 将 Kd 减少 2-4 倍。
- 将Kp设置为Kd的大约1% .
- 增加Kp直到振荡开始。
- 将 Kp 减少 2-4 倍。
- 将Ki设置为Kp的大约1% .
- 增加Ki直到振荡开始。
- 将 Ki 减少 2-4 倍。