接触检测
步态规划器给出的接触序列是严格按照时间进行周期性计算的。而在实际运行当中,由于地形的不平整,又或者存在坡度等情况,腿部会发生提前或者延迟接触等情况,因此只靠步态规划器给出的接触序列来控制机器人往往是不可靠的。
因此这里提出一个基于卡尔曼滤波的概率接触检测。其综合考虑了步态规划其给出的恒定接触序列,足端高度,地形的不平整性,以及通过关节编码器数据所计算出来的关节力矩,来提高接触检测的精度,同时减少了腿部由于电机力矩控制所引起的关节回弹现象
预测模型
卡尔曼滤波器的标准预测方程如下:

该模型有以下函数曲线:

当参数(μ,σ)取不同值时,图像如下所示,可以看出,σ取不同值时,曲线的曲率会有所变化,当曲率比较大时,其预测结果更精确,但是许用误差范围较小,容易造成系统的不稳定;
而当曲率变小时,预测模型的稳定性更强,其许用误差范围较大,但预测结果相对来说没那么精确,实际参数的选取可根据实机结果进行调整:

测试代码如下:
def prediction_model(phi, state, params):
"""
Given the gait schedule and the current phase of a leg,
the gait scheduler provides an expected contact state of
each leg
:param phi: phase
:param state: contact state
:param params: [mu, mu_bar, sigma, sigma_bar]
mu = [mu1, mu2] and so on
:return: the probability of contact
"""
mu0, mu1 = params[0]
mu0_bar, mu1_bar = params[1]
sigma0, sigma1 = params[2]
sigma0_bar, sigma1_bar = params[3]
a = math.erf((phi-mu0)/(sigma0*np.sqrt(2)))
+ math.erf((mu1-phi)/(sigma1*np.sqrt(2)))
b = 2+math.erf((mu0_bar-phi)/(sigma0_bar*np.sqrt(2)))
+ math.erf((phi-mu1_bar)/(sigma1_bar*np.sqrt(2)))
if state == 1:
prob = 0.5 * (state * a)
else:
prob = 0.5 * (state * b)
return prob
因此,对于k个接触点,该预测模型可以作为系统的瞬时输入为:

协方差矩阵如下,该矩阵表示我们对预测精度的信赖程度

由于我们只关注瞬时接触检测(通过融合当前可用的测量),所以状态矩阵和输入矩阵被定义为如下:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
机器人
+关注
关注
213文章
31391浏览量
223547 -
检测
+关注
关注
5文章
4918浏览量
94283 -
模型
+关注
关注
1文章
3810浏览量
52253 -
四足机器人
+关注
关注
1文章
100浏览量
15732
发布评论请先 登录
相关推荐
热点推荐
【OK210申请】四足轮式机器人
申请理由:我正在做这样一个机器人,遇到了很多问题,非常想学习一下这款板子!我相信利用它能帮我解决难题!项目描述:可利用四足机械结构仿生行进,也可利用车轮进行行进,集四
发表于 06-25 19:38
四足机器人的机构设计
机器人结构本体能够有效承受运动冲击、模拟四足动物运动的先决条件;高性能驱动器为机器人运动提供足够动力,行走稳定性控制负责协调多个关节驱动器,实现机器
发表于 09-15 06:54
ANYmal四足机器人的相关资料推荐
去年 1 月份,瑞士公司 ANYbotics 放出来一款灵活的四足机器人——ANYmal,它可以对抗各种恶劣的现实环境,适用于在危险的工业场景中执行任务。在最近的世界机器人大会上,AN
发表于 12-31 06:28
四足机器人遍地开花,四足机器人的市场有多大
幽灵公主的坐骑在现实中被造出来了? 日本川崎重工3月9日首次公开了旗下开发的全新四足机器人,外形类似宫崎骏《幽灵公主》中主角的坐骑——酷似山羊的雅酷儿。这款四
四足机器人接触检测和模型
评论