ToB企服应用市场:ToB评测及商务社交产业平台

标题: 如安在OrangePi AIpro智能小车上实现安全强化学习算法 [打印本页]

作者: 来自云龙湖轮廓分明的月亮    时间: 2024-6-11 08:59
标题: 如安在OrangePi AIpro智能小车上实现安全强化学习算法
随着人工智能和智能移动机器人的广泛应用,智能机器人的安全性和高效性题目受到了广泛关注。在现实应用中,智能小车需要在复杂的情况中自主导航和决策,这对算法的安全性和可靠性提出了很高的要求。传统的强化学习算法在处理安全束缚时存在一定的局限性,引入安全强化学习算法成为了办理这一题目的有效途径。安全强化学习算法通过在强化学习过程中引入安全束缚,确保在练习和现实应用中系统的行为始终在安全范围内。这对于智能小车在无人监督的情况下自主运行尤为紧张。本文将介绍如安在OrangePi AIpro智能小车上实现安全强化学习算法,具体探讨硬件和软件的设置、算法的设计与实现、实验设置与效果分析等内容,以期为相干研究提供参考和鉴戒。
一、OrangePi AIpro开发板

由于强化学习算法对盘算能力有着极高的要求,一样寻常的开发板难以满足其算力需求。经过对比浩繁开发板的性能,最终选用了OrangePi AIpro作为系统的主控,用于摆设安全强化学习算法。OrangePi AIpro是一款高性能的开发板,专为AI和IoT应用设计。搭载了4核64位处理器和强盛的AI处理器,支持8TOPS的AI算力。具备8GB或16GB LPDDR4X内存和可扩展的32GB至256GB eMMC存储。板载多种高速接口,包罗双HDMI 2.0输出、两个USB 3.0端口、一个Type-C 3.0端口以及支持SATA/NVMe SSD的M.2接口,得当进行大容量数据处理和快速读写。别的,它还提供了丰富的毗连选项,如千兆以太网、多种MIPI接口用于摄像头和显示屏,以及预留的电池接口,使其非常得当用于边缘盘算、深度学习、视频分析、天然语言处理等多种AI应用场景。OrangePi AIpro支持Ubuntu和openEuler操纵系统,配备MindStudio全流程开发工具链,实现简化的开发和模子适配,适用于从AI讲授到企业级应用的广泛场景。下图为OrangePi AIpro硬件的具体图。
   
  本文将具体介绍如安在OrangePi AIpro智能小车上摆设强化学习算法,并测试OrangePi AIpro开发板的性能。通过现实应用场景中的实验,评估其在高盘算需求使命中的表现,以及其在处理复杂导航和决策使命时的服从和可靠性。
二、安全强化学习

强化学习(Reinforcement Learning, RL)是一种机器学习方法,通过智能体与情况的交互,学习如安在不怜悯况下接纳举措,以最大化某种累积嘉奖。强化学习广泛应用于机器人运动控制、自动驾驶等范畴。在运动控制使命中,基于强化学习的智能体能够根据情况变化调解计谋,以完成复杂的场景使命,并可以直接从数据中学习计谋降低控制系统的设计成本。然而,由于在计谋练习过程中强化学习算法可能会探索危险动作,对机器人的安全性构成潜伏威胁,并且随着练习周期的增长,反复试验可能会对机器人的运动性能和使用寿命造成损害。因此,为确保运动体在练习计谋和实现目标过程中的安全,安全强化学习算法被提出。
安全强化学习通过结合传统强化学习框架与先辈的安全束缚计谋,致力于增强智能体在复杂情况中的表现与安全性。这些技术主要包罗状态束缚、安全层和规复计谋等,用以确保在执行使命时,智能体不仅能告竣预设目标,同时也能避免对自身及情况造成潜伏的危害。通过引入如状态束缚,可以限定智能体的行为在安全的状态空间内进行;安全层则通过覆盖或修改原有的行为计谋来防止危险行为的发生;规复计谋则在智能体偏离安全路径时提供了必要的干预本事。这些方法的综合应用显著提升了强化学习算法在现实应用中的可靠性和安全性。下图为状态束缚下安全强化学习的算法框架。
   
  三、OrangePi AIpro智能小车的硬件和软件设置

3.1 硬件

OrangePi AIpro智能小车总体硬件图:
   
  全向移动小车的运动控制是整个实验系统的关键技术之一,它能实现全向移动小车的避障、跟踪等功能。为了保证运动体的安全性和跟踪性,需要通过运动控制器控制四个麦克纳姆轮的的转速和转向,可以控制全向移动小车沿恣意方向平移或旋转,从而使小车能够跟踪其安全控制指令。
根据运动控制的硬件设置,选择了嵌入式芯片STM32F407作为运动控制器。为了开发运动控制相干的程序,使用了keil开发情况,并编写了uart串口通讯协议来接收安全控制量。由于数据传输过程中可能会出现误码或数据丢失的情况,为了保证数据传输的可靠性和正确性,接纳了首尾查验的方法来确保数据的完整性和正确性。接收到安全控制量(Vx,Vy,Yaw)后,不能直接用于电机的控制,需要根据全向移动小车的逆运动学模子,将安全控制量解算为四个轮子的转速。在运动控制器内部,我们使用了PI控制算法对轮子的转速进行闭环控制。同时,为了方便调治PI控制器的参数,使用了Matlab/Simulink系统工具箱。起首,采集全向移动小车的输入和输出数据,并通过系统辨识方法得到了以状态空间表达式出现的动力学模子。其次,针对该全向移动小车的动力学模子,并根据系统的调治时间和鲁棒性的性能指标,设计了PI控制器的相干参数,实现了全向移动小车能够精确跟踪安全控制量。
3.2 软件情况设置

3.2.1 毗连OrangePi AIpro

开机显示页面如下,毗连wifi
   
  3.2.2 ssh毗连

为了方便设置情况及进行文件传输,使用ssh毗连OrangePi AIpro进行情况设置



  毗连乐成
   
  3.2.3 设置运行情况

创建情况
  1. conda create -n srl python=3.8
复制代码
安装依靠情况
  1. pip install torch==1.10.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
  2. pip install pybullet==3.2.6 -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. pip install gym==0.25.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
  4. pip install cvxopt==1.3.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
  5. pip install qpth -i https://pypi.tuna.tsinghua.edu.cn/simple
  6. pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
安装cvxopt报错
   
  在尝试构建 cvxopt 时,链接器无法找到 llapack 库。
安装 lapack 和 blas 库
  1. sudo apt-get install liblapack-dev libblas-dev
复制代码
  
  表明在编译 cvxopt 时,找不到 umfpack.h 头文件。umfpack.h 是 SuiteSparse 库的一部分,需要安装该库才能办理这个题目
安装 SuiteSparse 库
  1. sudo apt-get install libsuitesparse-dev
  2. export SUITESPARSE_INCLUDE_DIR=/usr/include/suitesparse
  3. export SUITESPARSE_LIBRARY_DIR=/usr/lib
  4. pip install --no-cache-dir --no-binary :all: cvxopt
复制代码
四、安全强化学习算法的设计与实现

强化学习 (RL) 的重点是寻找一个的最优得计谋, 以获得最大化的恒久回报。它通过反 复观察智能体的状态、接纳举措, 并获得嘉奖来反复优化计谋以获得最佳计谋。该方法已 乐成应用于一连控制使命, 其中多次计谋迭代得计谋已学会稳固复杂机器人。然而, 由于RL专注于最大化恒久嘉奖, 它很可能在学习过程中探索不安全的行为。这个特性是有题目 的尤其对于将摆设在硬件上的 RL 算法, 因为不安全的学习计谋可能会破坏硬件或给人类 带来伤害。本文是将现有的无模子 RL 算法(DDPG)与控制停滞函数 (CBF) 集成, 在希罕 嘉奖下完成运动体的安全控制, 提高学习过程中的探索服从。
由于控制停滞函数具有强束缚性的特点, 将强化学习计谋探索过程中的动作输出作为标称控制器的输出, 即控制停滞函数的输入, 以保证探索过程中的及时安全, 其与情况交互的原理如图:
   
  运动体执行的动作为:
$$
u_{k}(s)=u_{\theta_{k}}^{R L}(s)+u_{k}^{C B F}\left(s, u_{\theta_{k}}^{R L}\right)
$$
在无模子强化学习的计谋探索中, $u_{\theta_{k}}^{R L}(s)$ 给出了一个动作, 试图优化恒久嘉奖, 但可能是不安全的。CBF控制器 $u_{k}^{C B F}\left(s, u_{\theta_{k}}^{R L}\right)$ 过滤掉强化学习动作中不安全的行为, 并提供最小的控制干预, 以确保总体控制器 $u_{k}(s)$安全, 同时使系统状态保持在安全集内。
CBF控制器的输出 $u_{k}^{C B F}\left(s, u_{\theta_{k}}^{R L}\right)$ 由以下公式在每个时间步上进行一次规划求解得出:
$$
\begin{aligned}
& u_{k}^{C B F}=\underset{v^s, \epsilon}{\arg \min } \frac{1}{2}\left|v^s-u_{\theta_{k}}^{R L}(s)\right|^2+k_\epsilon \epsilon^2 \
& \text { s.t. } \frac{\partial h_i}{\partial p} v^s \geq-\alpha\left(h_i(p)\right)-\epsilon, \quad \forall i \in \mathcal{N}_s
\end{aligned}
$$
其中 $a_{\mathrm{low}}^{i} \leq a_{t}^{i}+u_{\theta_{k}}^{R L(i)}\left(s_{t}\right) \leq a_{\mathrm{high}}^{i}$ 对输出的限幅, 在现实控制对象中, 执行器的动作空间有限, 将动作边界做为二次规划的束缚条件, 其输出效果就是在边界内的安全动作, 保证运动体的安全。
五、实验和效果

仿真实验

为了验证安全强化控制算法, 在如下的情况中进行安全控制实验, 运动体 (四轮小车) 需要绕过紫色停滞, 安全到达绿色地区即可获得相应嘉奖。
   
  OrangePi AIpro开发板仿真实验运行效果:
   
  动态运行效果:
   
  Pybullet动态效果:
   
  物理实验

本节以全向移动机器人在复杂情况中的路径跟踪为背景设计实验系统,实验系统的总体框图如图所示
   
  该实验系统由运动捕获系统、地面站和搭载OrangePi AIpro开发板的全向移动小车构成。运动捕获系统能够获取全向移动小车的及时位姿, 并将其作为反馈信息通报给地面站。地面站讲定位数据解算完成,讲小车的控制指令与位置信息发送给小车, 小车OrangePi AIpro运行安全强化学习计谋,给出小车的速度控制指令,产生安全控制,控制全向移动小车安全地到达目标点。
物理实验效果:
   
  六、总结

本文乐成在OrangePi AIpro智能小车上实现安全强化学习算法的摆设,并进行了仿真及物理实验测试,均取得了精良的测试效果,显示了该开发板在AI应用中的潜力和实用性。以下是对OrangePi AIpro的综合评价,包罗其长处和一些改进建议:
长处:
改进建议:
七、参考资料



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4