type
status
date
slug
summary
tags
category
icon
password
这是移动机器人安全控制与强化学习学习博客的第一章,是针对古月居的安全控制与强化学习的课程,结合我的一些思考与相关的学术论文的总结博客。
安全机器人的行为案例
移动机器人
工业机器人
传统工业机器人中会设置安全区,在机械臂的工作空间内一般是禁止人员进入的。
但是如果工业机器人可以有一个良好的安全控制,那么工业机器人就可以实现人机协同、以及服务机器人的相关工业实现。
课程相关环境
Robot_Safe_Navigation
hychen-naza • Updated Dec 29, 2023
课程的相关代码在上面的github链接中
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1eacf998-8b9c-4594-b455-82194dcd349a%2FUntitled.png?table=block&id=577bfea3-3e58-481b-8b14-42b63601e7d4&t=577bfea3-3e58-481b-8b14-42b63601e7d4)
红色为机器人,灰色为避障环境。
代码主要依赖两个库cvxopt与tensorflow,其中cvxopt是一个凸优化求解包,一般在轨迹规划问题中,将当前环境障碍物信息与机器人的状态等信息建模为凸优化问题,使用这个包可以求解出机器人的最佳路径。
PS:一点题外话,这个包同样可以用在关节机器人的运动控制问题、整合传感器信息的自身姿态估计问题等。
第二个包就是tensorflow包,这个就不多说了。
安全控制
代码中的main.py与ssa.py两个代码是安全控制的主要部分
安全集(safe set)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc2cc9da2-931a-4368-88b0-febaa84f82b4%2FUntitled.png?table=block&id=d771c440-0bd3-4727-ab1c-ae8a8051696e&t=d771c440-0bd3-4727-ab1c-ae8a8051696e)
一种定义安全集的方法,即当前机器人机械臂上所有点都和人上的所有点大于一个距离γ.
由安全集指定安全策略
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F7d0d1c76-2e98-41f5-b507-c8e41db6f395%2FUntitled.png?table=block&id=9ba10e51-d41b-4518-88fb-91e2a3c1b350&t=9ba10e51-d41b-4518-88fb-91e2a3c1b350)
潜在域方法
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F52f8aebd-e286-4912-933d-e4e159c54499%2FUntitled.png?table=block&id=861f5656-012c-4414-9d3d-5b2da4530042&t=861f5656-012c-4414-9d3d-5b2da4530042)
峰值代表障碍物,机器人通过对峰值之间力进行合成,得到一个最终的安全行进路线.
感觉是人工势场法
朴素策略的一些问题
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2a0733c0-6ce2-412d-ae0e-b80d8248ba0f%2FUntitled.png?table=block&id=2a3d98a4-a249-4976-97ab-b4107757414b&t=2a3d98a4-a249-4976-97ab-b4107757414b)
存在这种控制存在一定延迟的情况下,或者环境相对较为复杂.如果仅仅的增加安全距离,整个系统的策略会过于保守.丢失一部分最优解.
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F9881dd71-f2d5-4d12-a532-2a8b68809489%2FUntitled.png?table=block&id=17e957ad-1e53-490c-80b8-349efc635002&t=17e957ad-1e53-490c-80b8-349efc635002)
结论
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1977420f-6b17-4134-8ce2-43ae659ce690%2FUntitled.png?table=block&id=a585a25b-4fe4-41b5-8a85-779a1f9bbbb6&t=a585a25b-4fe4-41b5-8a85-779a1f9bbbb6)
安全评价指标
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F164f681d-5950-4aa7-88c1-1a3764fbe3c0%2FUntitled.png?table=block&id=2a0ecf60-dd78-4bc1-9d4a-64805f098fb4&t=2a0ecf60-dd78-4bc1-9d4a-64805f098fb4)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fad35afcc-b254-4885-9077-79d2e426c0c3%2FUntitled.png?table=block&id=5e636ab2-a630-43be-a82a-3ad0380c4968&t=5e636ab2-a630-43be-a82a-3ad0380c4968)
安全指数的设计方法
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F12ad3484-f530-4ddf-873d-d4d61b8e3896%2FUntitled.png?table=block&id=a3800489-f067-4b27-a549-f60821b73826&t=a3800489-f067-4b27-a549-f60821b73826)
安全指数的响应策略
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2648f671-5f70-48b8-9a59-97629489b85d%2FUntitled.png?table=block&id=40b8c305-54bf-429c-8efa-4102d08bd6ac&t=40b8c305-54bf-429c-8efa-4102d08bd6ac)
似乎是构建起了一个李雅普诺夫函数,通过李氏函数的收敛性条件来保证函数的安全性.
安全指数到安全策略的转换
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F423c8e29-4ecc-4e93-8977-aa6adefa019f%2FUntitled.png?table=block&id=aed1b9fd-8eb6-4ac5-9dbf-da4cb8dba30d&t=aed1b9fd-8eb6-4ac5-9dbf-da4cb8dba30d)
对于二维平面移动问题而言,机器人的状态为p_x,p_y.构建一个李氏控制系统.
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc7ae4414-ab54-4883-bf41-f65a56e5204c%2FUntitled.png?table=block&id=c0ea9e10-400a-4cb6-9e62-bc25c5342c2a&t=c0ea9e10-400a-4cb6-9e62-bc25c5342c2a)
上述的推导可见
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe1de29d1-5d89-4c44-b28d-1a243a76f33d%2FUntitled.jpeg?table=block&id=491c91fd-f484-48a2-aa40-c77d38b71d41&t=491c91fd-f484-48a2-aa40-c77d38b71d41)
对于控制信号U,希望得到U的最小方向.那么对于U就是求两个李代数的模值.
循环控制中的安全策略
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa12e2d7c-f0c3-4dec-b8c2-3a63c44919bf%2FUntitled.png?table=block&id=ff7c7ec4-ff71-4dbd-9d5e-9cc17c6e2d80&t=ff7c7ec4-ff71-4dbd-9d5e-9cc17c6e2d80)
黑色的是最安全的控制信号
红色的是初始的控制信号
初始的控制信号有可能是不安全的,要在上一个控制信号和最安全的控制信号中生成一个相对最安全的控制信号.就是
转换到安全控制集
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1a77e7bb-7f11-44e8-b270-5e172ef9d4e9%2FUntitled.png?table=block&id=8927c3be-9414-4237-bf6f-f80c2748597c&t=8927c3be-9414-4237-bf6f-f80c2748597c)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc54b145e-4ce8-48c1-8a81-827f5290b22c%2FUntitled.png?table=block&id=a9cd6b0f-70c7-4989-8998-9a7bd0c66a70&t=a9cd6b0f-70c7-4989-8998-9a7bd0c66a70)
- 作者:獭兔不是懒兔
- 链接:https://zachou.top/article/461adf05-9748-4aeb-8627-d8ce1e01f563
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。