精华内容
下载资源
问答
  • 机器人定位误差标定模型

    千次阅读 2019-05-17 08:18:14
    新型产业环境下,工业机器人的应用范围将越来越广泛、作业任务也将越来越精细复杂,为满足现代制造技术及工艺的发展需求,工业机器人必须具备高精度、高柔性、自我维护和感应识别等特性。然而,现有机器人技术发展...

    概述

    以工业机器人为基础,构建柔性制造单元或柔性生产线,实现产品自动化、柔性化、智能化生产必将成为现代制造发展的重点。
    新型产业环境下,工业机器人的应用范围将越来越广泛、作业任务也将越来越精细复杂,为满足现代制造技术及工艺的发展需求,工业机器人必须具备高精度、高柔性、自我维护和感应识别等特性。然而,现有机器人技术发展水平与现实的应用之间尚存在较大的差距:绝对定位精度低,(在重复性应用中,采用示教的方法,较高的重复定位精度可以胜任。对于重复定位精度±0.05mm的机器人系统,其绝对定位精度一般只到2-3mm。)缺乏感知识别能力。
    高精度机器人的应用领域:汽车制造领域,航空航天制造领域,电子电器行业,军工制造领域。
    工业机器人误差补偿技术可以分为在线补偿和离线补偿两种方式。在线补偿是指借助激光跟踪仪、立体视觉测量系统、空间测量定位系统 w MPS(workspace Measuring and Positioning System)、力或加速度计等实时测量设备对机器人末端位姿进行高精度测量,得到末端位姿误差,并通过误差补偿算法直接对末端执行器的位姿进行修正。离线补偿也称为误差标定技术,是通过预先测量机器人多个关节构形下的末端位姿误差,辨识机器人运动学参数的准确值,或建立机器人空间定位误差库、温度误差库等,并将补偿数据预置在控制算法中,从而提高机器人实际作业时的位姿精度。
    在线补偿使用外部高精度测量设备来引导机器人提高运动精度。
    离线补偿通过建立离线的位姿误差模型,并将补偿数据预置到控制算法中。

    机器人运动学模型

    完备的运动学模型应具备三点特征:完整性(模型具备充足的参数来表达所有误差因素)、连续性(模型为几何参数的连续函数)、极小性(模型无冗余参数存在)。
    DH模型,在相邻两关节轴线平行时DH模型存在奇异性48,
    在相邻连杆坐标系中引入附加旋转参数的MDH模型。在相邻轴线垂直时出现奇异状态。49,50
    S模型51,利用6个参数直接描述相邻连杆坐标系之间的位姿关系,但失去了连续性。
    CPC模型,引入了冗余参数因子52,53。
    POE模型,基于旋量理论的指数积表达式,利用机器人零位下各转轴方向对其运动学进行描述,该模型满足 Roth 提出的完美模型的3 点特征,但是在实际应用中实现比较复杂。
    末端位姿测量:球杆仪,经纬仪,全站仪,三坐标测量机,摄影测量系统,激光跟踪仪等。

    机器人运动学模型标定:

    建立了kuka机器人的DH模型。设置不同的机械臂固有参数,由关节转角得到仿真末端位姿(模拟高精度测量实验数据)。由关节转角和末端位姿使用优化的方法(线性最小二乘,非线性最小二乘,扩展卡尔曼滤波法80)得到机械臂运动学模型参数。辨识到运动学模型参数的实际值后,通过修改机器人运动学模型参数的理论值可以直接计算出某关节构型对应的准确末端位姿。在实现机器人定位误差补偿时,需要根据辨识到的参数使用机器人逆运动学计算关节角度。机器人运动学模型标定的商业应用:商业化产品dynacal,caliware,motocal,rocal等标定软件。可以实现包括机器人本体标定,机器人温度补偿,工具校准,夹具对其等功能。

    机器人非模型标定:

    基于曲线拟合,空间网格,神经网络。对局部空间内位姿误差进行估计与补偿。84
    曲线拟合,需要使用优化的方法计算曲线中各个参数。
    多项式拟合步骤:选择多项式类型,决定函数大小,使用实验数据估计系数。生成改进的关节空间或者在标定空间的误差修正。

    空间网格:

    基于空间插值的定位误差标定是通过一定步长将机器人作业空间划分为一系列的立方体网格,然后测量各个网格节点处的位姿误差。对于工作空间中的任意目标点,可以用这个点周围的8个点通过加权平均的方式求出。基本步骤为:网格划分,误差测量,空间插值。

    神经网络:

    首先以关节旋转角及其对应的位姿误差分别作为输入输出来训练神经网络,利用训练好的神经网络计算机器人在不同关节构型处对应的末端定位误差,最终通过补偿机器人关节转角的方法来提高机器人绝对定位精度。或者以某一关节旋转角下的理想位姿及理想位姿和实际位姿的误差分别作为输入输出来训练神经网络。我认为最实用的是输入实际位姿,输出偏差,以便能根据实际要到的位置调整指令位置。
    基于神经网络的误差标定方法避免了复杂的建模过程,克服了参数辨识的不足。

    模型自标定:

    基于固定约束的模型自标定,不同于几何误差标定模型,操作流程可以实现自动化,可以实现在线标定。
    使用机器人视觉测量系统,从不同的位姿测量工作环境中某一个固定点,基于固定点约束建立几何误差自标定模型,辨识几何参数。

    手眼标定:

    Visp实现手眼标定的步骤:
    获取多组基座和末端执行器的位姿关系和对应的图片
    从图像计算目标相对于相机的位姿。
    由多对基-末和相-目标关系计算出相机相对于机械臂末端的位姿。

    后面会陆续给出这些模型的具体实现代码。

    展开全文
  • 位置误差与姿态误差 Δp=∑i=16(∂pn∂θiΔθi+∂pn∂iΔdi)+∑i=05(∂pn∂αiΔαi+∂pn∂iΔai)+∂pn∂β2Δβ2+∂pn∂x2Δx2+∂pn∂y2Δy2+∂pn∂z2Δz2 \Delta p=\sum_{i=1}^{6}(\frac{\partial p^{n}}{\...

    位置误差与姿态误差

    Δp=i=16(pnθiΔθi+pndiΔdi)+i=05(pnαiΔαi+pnaiΔai)+pnβ2Δβ2+pnx2Δx2+pny2Δy2+pnz2Δz2 \Delta p=\sum_{i=1}^{6}(\frac{\partial p^{n}}{\partial \theta_i}\Delta\theta_{i}+\frac{\partial p^{n}}{\partial d_i}\Delta d_{i})+\sum_{i=0}^{5}(\frac{\partial p^{n}}{\partial \alpha_i}\Delta\alpha_{i}+\frac{\partial p^{n}}{\partial a_i}\Delta a_{i})+\frac{\partial p^n}{\partial \beta_2}\Delta\beta_2+\frac{\partial p^n}{\partial x_2}\Delta x_2+\frac{\partial p^n}{\partial y_2}\Delta y_2+\frac{\partial p^n}{\partial z_2}\Delta z_2 ΔR=i=16(RnθiΔθi+RndiΔdi)+i=05(RnαiΔαi+RnaiΔai)+Rnβ2Δβ2 \Delta R=\sum_{i=1}^{6}(\frac{\partial R^{n}}{\partial \theta_i}\Delta\theta_{i}+\frac{\partial R^{n}}{\partial d_i}\Delta d_{i})+\sum_{i=0}^{5}(\frac{\partial R^{n}}{\partial \alpha_i}\Delta\alpha_{i}+\frac{\partial R^{n}}{\partial a_i}\Delta a_{i})+\frac{\partial R^n}{\partial \beta_2}\Delta\beta_2 ΔP=JpΔp=pcpn \Delta P = J_{\partial p}\Delta\partial p = p^c-p^n ΔR=JRΔR=RcRn \Delta R = J_{\partial R}\Delta\partial R = R^c-R^n Δp=[Δθ1Δθ6,Δα0Δα5,Δa0Δa0,Δd1Δd6,Δβ2,Δxt,Δyt,Δzt]T \Delta \partial p = [\Delta \theta_1\cdots\Delta \theta_6,\Delta\alpha_0\cdots\Delta \alpha_5,\Delta a_0\cdots\Delta a_0,\Delta d_1\cdots\Delta d_6,\Delta \beta_2,\Delta x_t,\Delta y_t,\Delta z_t]^T ΔR=[Δθ1Δθ6,Δα0Δα5,Δa0Δa0,Δd1Δd6,Δβ2]T \Delta \partial R = [\Delta \theta_1\cdots\Delta \theta_6,\Delta\alpha_0\cdots\Delta \alpha_5,\Delta a_0\cdots\Delta a_0,\Delta d_1\cdots\Delta d_6,\Delta \beta_2]^T Jp=[Pxθ1Pxθ61Pxθ1Pxθ62] J_{\partial p}=\begin{bmatrix} \frac{\partial P_x}{\partial \theta_1}\cdots \frac{\partial P_x}{\partial \theta_6} & 1 \\\frac{\partial P_x}{\partial \theta_1}\cdots \frac{\partial P_x}{\partial \theta_6} & 2 \end{bmatrix}\quad
    其中:

    1. pc,Rcp^c,R^c为实际测试值;
    2. pn,Rnp^n,R^n为理论名义值;
    3. xt,yt,ztx_t,y_t,z_t为工具坐标系的偏移

    注意

    1. 靶球的姿态同基坐标系,故不引入姿态误差中
    展开全文
  • 基于闭环矢量法建立Stewart 并联机器人位姿误差模型,通过6 个驱动杆的长度误差和铰链误差得到并联机器人的位姿误差。在位姿误差模型的基础上,利用基于网格划分策略的连续蚁群算法,通过信息素更新指导蚂蚁反复搜索...
  • 基于误差模型机器人运动学参数标定方法与实验
  • 通过任意两坐标系间的向后微分关系,利用运动学方程以及并联机构的环路特性,建立了微机器人的广义几何误差模型。利用此模型,可以对微机器人进行精度评估和误差修正。该方法可推广应用到一般并联机器人的误差建模和...
  • 为了研究各种误差对并联机器人输出产生的影响,以三自由度平面并联机器人为例,利用并联机器人的环路特性,采用机器人微分理论,建立了误差正向模型.通过Matlab编程和计算机仿真,得出输出误差机器人结构尺寸变化、位置...
  • 针对大初始偏差问题提出一种新的误差模型,设计了2个基于人工驾驶思想的模糊控制器。。角速度控制器用距离误差和角度误差作为控制量。加速度控制器用距离误差作为控制量,同时对角速度和加速度进行控制以实现移动...
  • 引入状态空间,建立机器人“视觉空间-运动空间”雅可比非线性映射的状态方程和观测方程,提出神经网络联合卡尔曼滤波雅可比预测算法,网络在线动态补偿系统近似误差与参数估计误差,实现最小均方差条件下的雅可比预测;...
  • 工业机器人误差的存在导致了其实际运动与预期的指令运动存在偏差,针对这一问题,从修正的MD-H模型入手,综合考虑了外在测量设备构造的机器人坐标系与机器人本身基坐标系不完全重合的问题,通过微分变换推导出了机器人...
  • 提出一种基于非完整移动机器人动态模型的鲁棒跟踪控制算法。在系统存在模型不确定性但 满足“ 匹配条件” 的情况下,设计了一种滑动控制器。仿真结果表明,当系统的质量、 转动惯量、 结构参数 等存在较大...
  • 由于所有的传感器都是带有噪声的,将机器人感知模型也就是测量模型同样用条件概率分布p(zt∣xt,m)p(z_t|x_t,m)p(zt​∣xt​,m)进行表示已经成为约定俗成或者说水到渠成的事情了。其中xtx_txt​代表了机器人的位姿,...

    1.前言

    由于所有的传感器都是带有噪声的,将机器人感知模型也就是测量模型同样用条件概率分布p(ztxt,m)p(z_t|x_t,m)进行表示已经成为约定俗成或者说水到渠成的事情了。其中xtx_t代表了机器人的位姿,ztz_t代表传感器的测量值,mm代表环境地图。

    2.光束模型(Beam Models)

    (1)四种测量模型分布

    测量噪声phitp_{hit}
    在这里插入图片描述测量噪声被认为是一个高斯分布,由下面公式给出:phit(ztkxt,m)={ηN(ztk;ztk,σhit2),0ztkzmax0,p_{hit}(z_t^k|x_t,m)=\begin{cases}\eta N(z_t^k;z_t^{k*},\sigma_{hit}^2),0\leq z_t^{k*}\leq z_{max}\\ 0,其他\end{cases}其中,ztkz_t^{k*}是传感器测量的均值,代表“真实”的距离。N(ztk;ztk,σhit2)N(z_t^k;z_t^{k*},\sigma_{hit}^2)是以ztkz_t^{k*}为均值,σhit2\sigma_{hit}^2为方差的高斯分布,归一化因子η=(0maxN(ztk;ztk,σhit2)dztk)1\eta=(\int_0^{max}N(z_t^k;z_t^{k*},\sigma_{hit}^2)dz_t^k)^{-1}
    意外障碍物
    意外障碍物的出现使得传感器对环境的测量失真,将意外障碍物作为传感器从误差是一种比较好的处理方式,当有障碍物时,传感器对目标的检测的可能性随着距离的增加而减小,换句话说,当传感器距离环境目标越近的时候,被障碍物阻挡的概率越低,检测成功的可能性就越大,因此用指数分布来描述这个误差。
    在这里插入图片描述pshort(ztkxt,m)={ηλshorteλshortztk0ztkztk0,p_{short}(z_t^k|x_t,m)=\begin{cases}\eta \lambda_{short}e^{-\lambda_{short}z_t^k} \,0\leq z_t^k\leq z_t^{k*}\\0,其他\end{cases}其中,λshort\lambda_{short}是测量模型的固有参数,归一化因子η=11eλshortztk\eta=\frac{1}{1-e^{-\lambda_{short}z_t^{k*}}}
    测量失败
    传感器由于发生镜面反射或者超过最大测量距离导致检测失败,结果就是返回的测量值为最大测量距离。将pmaxp_{max}用一个很窄的以zmaxz_{max}为中心的均匀分布来模拟概率密度函数。
    在这里插入图片描述
    pmax(ztkxt,m)={1,z=zmax0,p_{max}(z_t^k|x_t,m)=\begin{cases}1,z=z_{max}\\0,其他\end{cases}
    随机测量
    用一个均匀分布来描述传感器的随机测量,即在传感器的测量范围内,任何一个点都是有可能被测量到的,而且概率是一样的,用来解释无法解释的传感器测量值。
    在这里插入图片描述
    prand(ztkxt,m)={1zmax,0ztkzmax0,p_{rand}(z_t^k|x_t,m)=\begin{cases}\frac{1}{z_{max}},0\leq z_t^k\leq z_{max}\\0,其他\end{cases}

    (2)混合分布

    通过四个加权参数zhit,zshort,zmax,zrandz_{hit},z_{short},z_{max},z_{rand}将上述四个误差模型进行加权:p(ztkxt,m)=[zhitzshortzmaxzrand][phit(ztkxt,m)pshort(ztkxt,m)pmax(ztkxt,m)prand(ztkxt,m)]p(z_t^k|x_t,m)=\begin{bmatrix}z_{hit}\\z_{short}\\z_{max}\\z_{rand}\end{bmatrix}·\begin{bmatrix}p_{hit}(z_t^k|x_t,m)\\p_{short}(z_t^k|x_t,m)\\p_{max}(z_t^k|x_t,m)\\p_{rand}(z_t^k|x_t,m)\end{bmatrix}
    在这里插入图片描述

    (3)程序流程

    在这里插入图片描述
    由于光束模型缺乏光滑的过渡,在复杂的环境中的效果不是很好,因此这里仅仅当做了解,不再做深入的推导和补充,后续用到的话再回来补上。

    3.似然场模型

    似然场模型类似于对环境进行高斯平滑,从而避免光束模型的缺点。其他类似于光束模型。

    (1)测量模型分布

    测量噪声
    phit(ztkxt,m)=εσhit(dist)p_{hit}(z_t^k|x_t,m)=\varepsilon_{\sigma_{hit}}(dist)其中,distdist是传感器坐标(xztk,yztk)T(x_{z_t^k},y_{z_t^k})^T与地图上最近点之间的距离。
    在这里插入图片描述
    测量失败随机测量前面已经叙述,这里不再重复。

    (2)混合分布

    似然场模型的混合分布也是上述三种测量模型分布的叠加:p(ztkxt,m)=zhitphit+zrandprand+zmaxpmaxp(z_t^k|x_t,m)=z_{hit}p_{hit}+z_{rand}p_{rand}+z_{max}p_{max}
    在这里插入图片描述

    (3)程序流程

    在这里插入图片描述
    4:如果测量值达到了最大值,舍去
    5,6:将障碍物在传感器中的局部坐标转换到xyx-y全局坐标
    7:计算xyx-y空间中与最近障碍物之间的距离
    8:将三种分布进行混合,其中,prob(dist,σhit)prob(dist,\sigma_{hit})计算以0为中心,标准差为σhit\sigma_{hit}的高斯分布关于distdist的概率。

    展开全文
  • 移动机器人运动模型

    千次阅读 2014-11-16 17:03:17
    模型的具体内容hetuida

           假定移动机器人的位姿X=[x,y,theta]',其中x为机器人相对于世界坐标系的横坐标,y为机器人相对于世界坐标系的纵坐标,theta为机器人前进方向与世界坐标系横轴正方向的夹角,Xt为t时刻的位姿。控制指令U=[v,w],其中v表示机器人相对于机器人坐标系的前进速度,w表示机器人相对于该坐标系的角速度,逆时针为正方向。Ut为t时刻的控制输入。

           已知上一时刻和当前时刻的位姿以及当前时刻的控制输入,motion_model_velocity算法计算由上一时刻位姿和控制输入得到的后验概率。sample_motion_model_velocity算法根据motion_model_velocity算法得到的概率在固定输入ut和位姿xt-1的基础上产生随机样本。

    matlab仿真代码如下:

    clc; clear;
    
    T=200;                                      %length of motion time
    X=zeros(T,3);                               %motion state
    r=25;                                       %assume that our robot moves along a circle which radius^2 equals 25
    U=[ones(T,1)*r*pi/180 ones(T,1)*pi/180];    %expected motion command,including transitional and rotational velocity
    
    Alpha=[6 6 6 6 5 5];                        %motion error parameters used to calculate the posteriors
    AlphaOdom=[0.1 0.1 0.05 0.05]; 
    
    for t=1:T                                   %calculte robot state every time it moves according to our route
        X(t,1)=r*cos(t*pi/180);                 
        X(t,2)=r*sin(t*pi/180);
        X(t,3)=pi-atan2(X(t,1),X(t,2));
    end
    
    
    X1=zeros(T,3);                              %robot state sampled from the velocity motion model
    Prob=zeros(T,1);                            %motion error
    X1(1,:)=X(1,:);
    
    Xodom=zeros(T,3);                           %robot state=[rot1,trans,rot2]
    Xcalc=zeros(T,3);
    ProbOdom=zeros(T,1);
    X2(1,:)=X(1,:);
    
    rng(1);                                     %for reproductivity
    for t=2:T
    
        %algorithm_motion_model_velocity
        mu=((X(t-1,1)-X(t,1))*cos(X(t,3))+(X(t-1,2)-X(t,2))*sin(X(t,3)))/((X(t-1,2)-X(t,2))*cos(X(t,3))-(X(t-1,1)-X(t,1))*sin(X(t,3)))*0.5;
        x=(X(t-1,1)+X(t,1))/2+mu*(X(t-1,2)-X(t,2));
        y=(X(t-1,2)+X(t,2))/2+mu*(X(t,1)-X(t-1,1)); 
        r=sqrt((X(t-1,1)-x)^2+(X(t-1,2)-y)^2);
        dTheta=atan2(X(t,2)-y,X(t,1)-x)-atan2(X(t-1,2)-y,X(t-1,1)-x);
        v=dTheta*r;
        w=dTheta;
        g=(X(t,3)-X(t-1,3))-dTheta;
        Prob(t,1)=ProbNormalDistribution(U(t-1,1)-v,Alpha(1)*abs(v)+Alpha(2)*abs(w))...
            *ProbNormalDistribution(U(t-1,2)-w,Alpha(3)*abs(v)+Alpha(4)*abs(w))...
            *ProbNormalDistribution(g,Alpha(5)*abs(v)+Alpha(6)*abs(w));
    
        %algorithm_sample_motion_model_velocity
        v=U(t,1)+SampleNormalDistribution(Alpha(1)*abs(U(t,1))+Alpha(2)*abs(U(t,2)));
        w=U(t,2)+SampleNormalDistribution(Alpha(3)*abs(U(t,1))+Alpha(4)*abs(U(t,2)));  
        g=Alpha(5)*abs(U(t,1))+Alpha(6)*abs(U(t,2));
        
        X1(t,1)=X(t-1,1)-v/w*sin(X(t-1,3))+v/w*sin(X(t-1,3)+w);
        X1(t,2)=X(t-1,2)+v/w*cos(X(t-1,3))-v/w*cos(X(t-1,3)+w);   
        X1(t,3)=X(t-1,3)+w+g;
        
        %algorithm_motion_model_odometry
        Xodom(t,1)=atan2(X1(t,1)-X1(t-1,1),X1(t,2)-X1(t-1,2))-X1(t-1,3);
        Xodom(t,2)=sqrt((X1(t-1,1)-X1(t,1))^2+(X1(t,2)-X1(t-1,2))^2);
        Xodom(t,3)=X1(t,3)-X1(t-1,3)-Xodom(t,1);
        
        Xcalc(t,1)=atan2(X(t,1)-X(t-1,1),X(t,2)-X(t-1,2))-X(t-1,3);
        Xcalc(t,2)=sqrt((X(t-1,1)-X(t,1))^2+(X(t,2)-X(t-1,2))^2);
        Xcalc(t,3)=X(t,3)-X(t-1,3)-Xcalc(t,1);
        
        ProbOdom(t,1)=ProbNormalDistribution(Xodom(t,1)-Xcalc(t,1),abs(AlphaOdom(1)*Xcalc(t,1)+AlphaOdom(2)*Xcalc(t,2)))...
                     *ProbNormalDistribution(Xodom(t,2)-Xcalc(t,2),abs(AlphaOdom(3)*Xcalc(t,2)+AlphaOdom(4)*(Xcalc(t,1)+Xcalc(t,3))))...
                     *ProbNormalDistribution(Xodom(t,3)-Xcalc(t,3),abs(AlphaOdom(1)*Xcalc(t,3)+AlphaOdom(2)*Xcalc(t,2)));
                 
        %algorithm_sample_motion_odometry
        Xodom(t,1)=atan2(X1(t,1)-X1(t-1,1),X1(t,2)-X1(t-1,2))-X1(t-1,3);
        Xodom(t,2)=sqrt((X1(t-1,1)-X1(t,1))^2+(X1(t,2)-X1(t-1,2))^2);
        Xodom(t,3)=X1(t,3)-X1(t-1,3)-Xodom(t,1);
        
        Xcalc(t,1)=Xodom(t,1)-SampleNormalDistribution(abs(AlphaOdom(1)*Xcalc(t,1)+AlphaOdom(2)*Xcalc(t,2)));
        Xcalc(t,2)=Xodom(t,2)-SampleNormalDistribution(abs(AlphaOdom(3)*Xcalc(t,2)+AlphaOdom(4)*(Xcalc(t,1)+Xcalc(t,3))));
        Xcalc(t,3)=Xodom(t,3)-SampleNormalDistribution(abs(AlphaOdom(1)*Xcalc(t,3)+AlphaOdom(2)*Xcalc(t,2))); 
        
        X2(t,1)=X(t,1)+Xcalc(t,2)*cos(X(t,3)+Xcalc(t,1));
        X2(t,2)=X(t,2)+Xcalc(t,2)*sin(X(t,3)+Xcalc(t,1));
        X2(t,3)=X(t,3)+Xcalc(t,1)+Xcalc(t,3);
    end
    
    figure(1);
    set(gcf,'Color','white');
    t=1:T;
    subplot(2,2,1);
    xlabel('x'); ylabel('y');
    plot(X(t,1),X(t,2),'r-',X1(t,1),X1(t,2),'bo-','MarkerSize',4,'MarkerFaceColor','b');
    legend('True Route','Sample Route','Location','Southeast');
    grid on;
    subplot(2,2,2);
    xlabel('t'); ylabel('motion error');
    plot(t,X(t,1)-X1(t,1),t,X(t,2)-X1(t,2));
    legend('x error','y error','Location','Southeast');
    grid on;
    subplot(2,2,3);
    xlabel('x'); ylabel('y');
    plot(X(t,1),X(t,2),'r-',X2(t,1),X2(t,2),'bo-','MarkerSize',4,'MarkerFaceColor','b');
    legend('True Route','Sample Route','Location','Southeast');
    grid on;
    subplot(2,2,4);
    xlabel('t'); ylabel('motion error');
    plot(t,X(t,1)-X2(t,1),t,X(t,2)-X2(t,2));
    legend('x error','y error','Location','Southeast');
    grid on;
    
    sum(X(:,1)-X1(:,1))
    sum(X(:,1)-X2(:,1))

    Alpha(1)和Alpha(2)反映机器人前进方向上的不确定性,Alpha(3)和Alpha(4)反映水平方向上的不确定性,Alpha(5)和Alpha(6)反映预测的重要性。这里假设将随机采样的状态值作为里程计的测量值,AlphaOdom(1)和AlphaOdom(2)反映里程计的平移误差,AlphaOdom(3)和AlphaOdom(4)反映里程计的旋转误差。

    matlab仿真结果如下:

           栅格地图中有些部分会表示障碍,在计算后验概率时需要考虑是否遇到障碍,用p(x|m)表示在已知地图的前提下位姿出现在x处的概率。有障碍的地方将它设置成常数项(比如1),否则设置为0。最后将它乘以未加栅格地图时得到的后验概率,从而得到模型在当前时刻位姿为x的概率。

           注:模型的具体内容和推导参见《Probabilistic Robotics》第5章。

    展开全文
  • 介绍如何使用一元高斯分布、多元高斯分布和高斯混合模型机器人误差进行建模。 介绍求解这些高斯分布的算法。 以小球检测这一实际应用来实践我们的模型和算法。 1. 一元高斯分布 在这一节我们将介绍如...
  • 本节通过机器人运动模型(motion model)实现状态转移概率p(xt∣ut,xt−1)p(x_t|u_t,x_{t-1})p(xt​∣ut​,xt−1​),即执行运动控制utu_tut​后机器人状态的后验分布,其中,xt,xt−1x_t,x_{t-1}xt​,xt−1​代表...
  • 构建用于gazebo的机器人URDF模型文件 构建机器人模型文件URDF 本节例程可以通过网盘下载学习: 链接:https://pan.baidu.com/s/1sin3lI4QbnLL2QfY3qSyyQ 提取码:jmkf Unified Robot Description Format,统一机器人...
  • 通过运动学和动 力学分析、工作空间分析、轨迹规划、误差分析,设计并制作了模型样机本体、驱动与控制模块,开 发了机器人语言,控制模型样机完成指定动作。实验结果表明,这种新型并联机器人是可行的,适 用于轻型机床等...
  • **很多滤波算法(如贝叶斯滤波,卡尔曼滤波)需要根据机器人移动模型和测量值来融合估计机器人当前所在的位置**。**什么是滤波算法**?这里的滤波算法是指从有噪声的机器人位置数据中估计出机器真实位置。据移动模型...
  • 接着将SSMR运动模型抽象简化为两轮差速驱动机器人模型,构建了SSMR的运动学模型,并给出了简易的模型参数计算实验方案;最后从实际应用角度对比分析了SSMR和car-like robot、差速驱动机器人的优缺点及其适用范围。 ...
  • 采用了五参数模型作为机器人的运动学模型,根据相邻构件间的误差传递关系,应用位姿建模矩阵法建立了机器人的位姿误差模型,并编制了基于C++的位姿误差分析软件。利用所编制的误差分析软件,针对一6-DOF空间摄像...
  • 举个例子: 短距离快速运动的点焊运动, 没有基于机器人机械动力学模型的话,这种运动会激励机械振动,只有基于动力学模型的控制才可以克服。另外像精准激光切割, 涂胶和去毛刺等应用场景,精准的contour tracking很...
  • 主要分析了安装误差形成机理,建立了误差模型、研究了误差校准算法及其精度,从而提出了一种机器人惯性测量系统安装误差快速校准方法,并进行了一系列实验验证。实验结果表明:该安装误差的校准方法能够有效提高惯性测量...
  • 由于导师叫我搞基于动力学参数的机器人绝对精度矫正,我看了一些机器人的书,也看了一些别人写的研究生论文,发觉他们都是用激光跟踪仪测量机器人末端轨迹,然后通过微分方程或者雅克比矩阵建立误差模型,然后用最小...
  • 分析了E-CoreRD1100干涉型光纤陀螺的误差产生机理,提出利用RBF神经网络和遗传算法实现光纤陀螺漂移误差模型的辨识。通过实验获得进化神经网络的训练样本,在RBF神经网络的训练中,提出了基于Elitist竞争机制的遗传...
  • 文章目录1.模型误差2.观测误差3.截断误差(或称方法误差)4.舍入误差   用计算机来解决科学计算...  例如,在辨识机器人动力学参数时,机器人关节的摩擦力/力矩模型通常近似为一阶模型:,将动力学方程线性化之后,
  • 为了提高手机摄像头的装配精度,设计开发一款用于精密装配的小型并联机器人,并对机器人进行标定以及机构误差分析,用数值方法推导机器人的正逆运动学模型和误差模型,并探讨机器人运动学模型和误差补偿模型衔接的...
  • 依建立的绳索牵引康复机器人模型,得到绳索拉力的表达式,导出系统正逆运动学和动力学方程。分析了在弹性范围内绳索具有的拉伸刚度,明确其对骨盆运动精度的影响;通过不同位置时绳索变化量的方法证明了绳索过轮半径对...
  • 两轮差速机器人运动学模型

    千次阅读 2021-03-29 13:29:04
    2、扫地机器人; 3、无人仓AGV小车; 4、轮椅; 底盘主要特点: 1、控制简单、里程计计算简单。 2、只能给定X方向速度、Z轴方向角速度。 1.2、底盘运动学分析 1.2.1、底盘模型 图1.2.1 常见的两轮差速底盘模型 ...
  • 基于机器人的DH运动学模型,建立了机器人各坐标系间的齐次变换误差模型.为避免因轴线的微小偏差引起连杆距离的较大变动,利用修正的DH运动学模型,建立了平行关节的齐次变换误差模型;用空间两点间的距离误差衡量机器人...
  • 工业机器人有哪些误差

    千次阅读 2018-05-28 22:08:05
    工业机器人有哪些误差,需要做哪些校准? - 阿里巴巴专栏https://club.1688.com/article/62765278.htm
  • 机器人的运动中,经常会涉及到航向推演。...在学习机器人运动模型推导的时候,有看到 网上别人的推导过程,链接如下: https://blog.csdn.net/qq_16149777/article/details/73224070 http://...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,318
精华内容 4,527
关键字:

机器人误差模型