1,概述
专门用来适配ROS2的机器人机械手或机械臂的运动规划软件框架,
功能包括:运动规划(生成可顺利通过杂乱环境的高自由度轨迹);机械臂操纵(通过抓取生成对机器人环境进行分析,并与环境进行交互),逆运动学(求解给定位姿的关节位置),控制,3D感知,碰撞检测
2,规划组设置
设置机械臂的运动规划群组,将我们连续的关节作为一个规划群组,后续根据这里设置的群组进行运动规划。
3,IK求解器设置
根据机械臂末端希望到达的位置和姿态,反推出各个关节应该旋转到什么角度,有以下求解器:
KDL:基于数值迭代的IK求解器,通过不断调整各个关节角度,是末端逐步逼近目标位姿。通用性强,使用广泛,但对初始姿态和复杂目标敏感
TRAC-IK:在传统迭代IK基础上增加多种搜索和优化策略,可以尝试不同关节组合寻找可行解。求解成功率高,对关节限位、复杂姿态和接近极限位置的适应性好。
IKFast:根据特定机器人机械结构生成解析式IK求解代码,可以直接计算满足目标位姿的关节角。求解速度非常快,结果稳定,但需要针对具体机器人结构提前生成求解器
4,运动规划器设置
在已经知道机械臂起点和终点的情况下,计算一条不碰撞障碍物的运动路径。一般有如下规划器:
RRTConnect:从起点和终点同时建立两棵随机搜索树,并不断向对方扩展,直到两棵树连接起来形成路径。搜索速度快,容易找到路径,是机械臂避障规划中非常常用的算法。
RRT*:在RRT搜索基础上不断重新连接已有节点,并能安全连接的节点组成一张“路线图”,之后从路线图里寻找起点到终点的路径。适合结构固定、需要反复进行多次路径规划的环境,前期建图成本高,但后续查询效率高
PRM:现在可运动空间生成大量的点,并将可以安全连接的节点组成路线图,之后从路线图寻找起点到终点的路径,适合结构固定、需要反复多次路径规划的环境。前期建图成本高,后续查询效率高
5,参数的介绍
5.1 视觉避障相关参数
决定障碍物长什么样
eg:点云
八叉树地图分辨率:xm-------把空间切成 100xcm 的小方块存起来,精度的地基;
最大感知距离:xm---------超过xm的东西默认不存在;
安全距离:在障碍物外面留出的缓冲带距离;
更新频率上限:每秒最多重建几次地图;
点云下采样步长:每几个点取一次,点越稀疏,计算越快,轮廓越粗;
膨胀倍率:把障碍物在原本的基础上放大n倍
分辨率X下采样步长------都管地图精细度,分辨率是格子多小,步长是点多密,一个格子里面被塞得精细,但步长调大,格子里面的信息就空了,精细度就会被下采样稀疏掉;
膨胀倍率X安全距离------都管把障碍物撑大,两个都在加大安全余量,但过于大会让两物体之间的窄道被堵死
5.2 规划器组
决定路怎么搜、走多快
eg:RRT_Connect
采样步长:每次往外长多少的树枝,越大搜的越猛,但容易漏掉窄通道;
规划时间上限:最多多少时间,超过这些时间,失败;
速度缩放:只跑额定速度的多少;
加速度缩放:同理
速度缩放X加速度缩放------管快慢,同向动作,通常要一起调,只减速度不减加速度,机械臂照样猛起,抖得厉害。