精华内容
下载资源
问答
  • 移动机器人

    2018-03-20 20:58:04
    移动机器人全场定位运动进行模型建立,并根据建立的运动模型,分析移动机器人全场定位算法场定位算法。根据定位算法进行软件顶层设计,把程序设计成工作模式和调试模式。定位装置短时间内效果良好。
  • 车式移动机器人运动学模型 问题 车式移动机器人更具有普遍意义。 参数 vvv:机器人自身线速度 ω\omegaω:前轮转向角速度 u\textbf{u}u:输入,包括vvv,ω\omegaω q˙\dot{\textbf{q}}q˙​:机器人在环境中的...

    车式移动机器人运动学模型

    问题

    车式移动机器人更具有普遍意义。
    在这里插入图片描述

    参数

    • vv:机器人自身线速度
    • ω\omega:前轮转向角速度
    • u\textbf{u}:输入,包括vvω\omega
    • q˙\dot{\textbf{q}}:机器人在环境中的位姿描述
    • θ\theta:机器人纵向轴与x轴之间的夹脚
    • ϕ\phi:前轮转角
    • LL:车身长度

    推导1

    当知道机器人自身前进速度前轮转角角速度时,求机器人在环境中的位姿。

    q˙\dot{\textbf{q}}= f(u)f(\textbf{u})

    定义机器人在环境中位姿:
    q=[xyθϕ] \textbf{q}=\left [ \begin{aligned} x \\ y \\ \theta \\ \phi \end{aligned} \right]
    机器人输入,包括自身线速度和前轮转角角速度:
    u=[vω] \textbf{u}=\left [ \begin{aligned} v \\ \omega \\ \end{aligned} \right]

    x˙=cos(θ)vy˙=sin(θ)vϕ˙=ω \begin{aligned} \dot{x} &= \cos(\theta) v \\ \dot{y} &= \sin(\theta) v\\ \dot{\phi} &= \omega \end{aligned}
    对与计算角速度可以参照下图(其他地方扣过来的,注意符号使用不太一样)
    在这里插入图片描述
    就有了θ˙=tanϕLv \dot{\theta} = \frac{\tan\phi}{L} v
    那么,
    q˙=[cos(θ)0sin(θ)0tanϕL001]u \dot{\textbf{q}}= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ \frac{\tan\phi}{L} & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \textbf{u}
    更详细的,即:
    [x˙y˙θ˙ϕ˙]=[cos(θ)0sin(θ)0tanϕL001][vω] \left [ \begin{aligned} \dot{x} \\ \dot{y} \\ \dot{\theta} \\ \dot{\phi} \end{aligned} \right]= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ \frac{\tan\phi}{L} & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \left [ \begin{aligned} v \\ \omega \\ \end{aligned} \right]

    推导2

    另一种情况是,知道机器人的前轮转角角度(即方向盘角度)和加速度(即油门),想要求机器人的状态。

    • vv:机器人自身线速度(前进速度)
    • θ\theta:机器人纵向轴与x轴之间的夹脚
    • u\textbf{u}:输入,包括vvθ\theta
    • q˙\dot{\textbf{q}}:机器人在环境中的位姿描述
    • ϕ\phi:前轮转角
    • LL:车身长度
      机器人的状态
      q=[xyθv]T \textbf{q}=\left [ \begin{aligned} x \\ y \\ \theta \\ v \end{aligned} \right]^T
      机器人输入,包括(油门)加速度和(方向盘)前轮转角:
      u=[aϕ] \textbf{u}=\left [ \begin{aligned} a \\ \phi \\ \end{aligned} \right]
      那么,
      x˙=vcos(θ)y˙=vsin(θ)θ˙=vtan(ϕ)/Lv˙=a \begin{aligned} \dot{x} &= v * \cos (\theta)\\ \dot{y} &= v * \sin (\theta)\\ \dot{\theta} &= v * \tan(\phi) / L \\ \dot{v} &= a \end{aligned}
      更进一步单步更新可以表示为:
      xt+1=xt+vcos(θ)dtyt+1=yt+vsin(θ)dtθt+1=θt+vtan(ϕ)/Ldtvt+1=vt+adt \begin{aligned} x_{t+1} &= x_{t} + v * \cos (\theta) * dt\\ y_{t+1} &= y_{t} + v * \sin (\theta)* dt\\ \theta_{t+1} &= \theta_{t} + v * \tan(\phi) / L*dt\\ v_{t+1} &= v_{t} + a * dt \end{aligned}

    Reference

    展开全文
  • 移动机器人
  • 移动机器人应用和分类地面自主移动机器人服务机器人陪伴运动机器人清洁和草坪护理机器人社交机器人野外机器人监测监控和勘探机器人 地面自主移动机器人 地面自主移动机器人(AGV)设计在室内或者室外,进行物料搬运...

    地面自主移动机器人

    地面自主移动机器人(AGV)设计在室内或者室外,进行物料搬运,例如现代物流的很多仓库

    服务机器人

    一般在医院或者商场导购中常见,结合语音识别,人脸识别等技术,实现人机交互;

    陪伴运动机器人

    例如电子科大的羽毛球机器人,日本研发的乒乓球机器人等,有幸与电子科大初代研发羽毛球机器人团队交流过,并且了解整机工作流程

    清洁和草坪护理机器人

    此类机器人在市场上常见于扫地机器人,国外有研发的草坪清洁机器人

    社交机器人

    此类机器人与如机器狗,部分服务机器人也具有社交性质,

    野外机器人

    谷歌的机器人,机器狗等已经可以执行军方任务

    监测监控和勘探机器人

    电线检查机器人,无人机巡航等都属于这一范畴

    展开全文
  • 差速传动移动机器人运动学模型 问题 如何根据差速传动机器人左右两边轮子的速度,计算出机器人当前的状态。或者想要以一定速度到达某处,需要给出差速两边轮子的速度指令。 当然大多数时候,购买的机器人底盘能够...

    差速传动移动机器人运动学模型

    问题

    如何根据差速传动机器人左右两边轮子的速度,计算出机器人当前的状态。或者想要以一定速度到达某处,需要给出差速两边轮子的速度指令。

    当然大多数时候,购买的机器人底盘能够直接帮助我们执行发送给机器人差速电机的速度指令,则无需计算从差速度轮子到机器人自身速度的部分。

    参数

    • vcv_c:机器人自身线速度
    • ωc\omega_c:机器人自身角速度
    • LL:轮子之间间距
    • vlv_l:左轮线速度,ωl\omega_l:左轮角速度
    • vrv_r:右轮线速度,ωr\omega_r:右轮角速度
    • RR:轮子半径
    • q˙\dot{\textbf{q}}:机器人在环境中的位姿描述
    • v\textbf{v}:机器人自身速度,包括vcv_cωc\omega_c
    • u\textbf{u}:左右轮速度,包括vlv_lvrv_r

    推导

    1. q˙\dot{\textbf{q}}= f(v)f(\textbf{v})

    三个变量定义机器人在环境中位姿:
    q=[xyθ] \textbf{q}=\left [ \begin{aligned} x \\ y \\ \theta \\ \end{aligned} \right]
    机器人自身的速度为:
    v=[vcωc] \textbf{v}=\left [ \begin{aligned} v_c \\ \omega_c \\ \end{aligned} \right]

    x˙=cos(θ)vcy˙=sin(θ)vcθ˙=ωc \begin{aligned} \dot{x} &= \cos(\theta) v_c \\ \dot{y} &= \sin(\theta) v_c\\ \dot{\theta} &= \omega_c \end{aligned}
    那么,
    q˙=[cos(θ)0sin(θ)001]v \dot{\textbf{q}}= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \textbf{v}
    更详细的,即:
    [x˙y˙θ˙]=[cos(θ)0sin(θ)001][vcωc] \left [ \begin{aligned} \dot{x} \\ \dot{y} \\ \dot{\theta} \\ \end{aligned} \right]= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \left [ \begin{aligned} v_c \\ \omega_c \\ \end{aligned} \right]

    2. v\textbf{v}= f(u)f(\textbf{u})

    更进一步的,得到机器人运动速度与驱动速度之间的关系,
    ωr=vrR=2vc+ωcL21Rωl=vlR=2vcωcL21R \begin{aligned} \omega_r &= \frac{v_r}{R} = \frac{2v_c+\omega_cL}{2} \frac{1}{R}\\ \omega_l &= \frac{v_l}{R} = \frac{2v_c-\omega_cL}{2} \frac{1}{R}\\ \end{aligned}

    vc=vr+vl2ωc=vrvlL \begin{aligned} v_c &= \frac{v_r + v_l}{2}\\ \omega_c &= \frac{v_r - v_l}{L} \end{aligned}
    而输入为:
    u=[vlvr] \textbf{u}=\left [ \begin{aligned} v_l \\ v_r \\ \end{aligned} \right]
    那么:
    v=[12121L1L]u \textbf{v}= \begin{aligned} \begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{L} & -\frac{1}{L} \end{bmatrix} \end{aligned} \textbf{u}
    更详细的,即:
    [vcωc]=[12121L1L][vlvr] \left [ \begin{aligned} v_c \\ \omega_c \\ \end{aligned} \right]=\begin{aligned} \begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{L} & -\frac{1}{L} \end{bmatrix} \end{aligned} \left [ \begin{aligned} v_l \\ v_r \\ \end{aligned} \right]

    3. q˙\dot{\textbf{q}}= f(u)f(\textbf{u})

    最后,从差分驱动速度获得机器人在环境中的位姿可以描述为:
    q˙=[cos(θ)0sin(θ)001][12121L1L]u \dot{\textbf{q}}= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \begin{aligned} \begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{L} & -\frac{1}{L} \end{bmatrix} \end{aligned} \textbf{u}
    更详细的,即:
    [x˙y˙θ˙]=[cos(θ)0sin(θ)001][12121L1L][vlvr] \left [ \begin{aligned} \dot{x} \\ \dot{y} \\ \dot{\theta} \\ \end{aligned} \right]= \begin{aligned} \begin{bmatrix} \cos(\theta) & 0 \\ \sin(\theta) & 0 \\ 0 & 1 \end{bmatrix} \end{aligned} \begin{aligned} \begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{L} & -\frac{1}{L} \end{bmatrix} \end{aligned} \left [ \begin{aligned} v_l \\ v_r \\ \end{aligned} \right]

    Reference

    展开全文
  • 移动机器人导航

    2018-06-11 16:06:51
    移动机器人导航讲义及内容分析,有关2D激光slam的导航技术
  • 移动机器人软件框架构思移动机器人软件框架构思移动机器人软件框架构思
  • Adept 移动机器人.pdf

    2019-10-24 14:38:30
    adept移动机器人说明书 adept移动机器人应用最为广泛,
  • 自主移动机器人导论

    2019-07-23 05:26:22
    资源名称:自主移动机器人导论内容简介: 任何成功的机器人的设计涉及到运动学、信号分析、信息论、人工智能和概率论等多个不同学科的综合。为此,本书提出了在一系列交互模块中,使移动性成为可能的技术和制作工艺...
  • 移动机器人系统.pdf

    2019-09-05 20:57:39
    移动机器人系统
  • 设计了一种移动机器人无线局域网控制系统,采用OpenWrt系统的无线路由器建立无线局域网,与FPGA进行数据转换,设计了系统的人机交互界面。通过WiFi,操作人员可以对移动机器人进行遥操作控制。通过整体设计使得系统...
  • 移动机器人调研报告

    2018-05-26 02:41:11
    移动机器人调研报告.doc
  • 基于遗传算法的移动机器人路径规划

    万次阅读 多人点赞 2019-02-10 18:09:40
    之前在网上找基于遗传算法的移动机器人路径规划资料的时候,没有找到理想的开源代码。最后参照论文,用matlab写了代码。平时学习的时候,会看很多人写的一些博客和公众号文章,觉得很有帮助,所以也想分享一点自己学...

      之前在网上找基于遗传算法的移动机器人路径规划资料的时候,没有找到理想的开源代码。最后参照论文,用matlab写了代码。最近开了公众号——Joe学习笔记,会不定期更新一些文章,主要是自己平时学到的知识,内容包括自动驾驶、计算机视觉、人工智能和机器人技术。我会第一时间把文章更新在公众号上,感兴趣的可以扫描下面的二维码关注并分享哦!
    在这里插入图片描述
      最近新出了一个关于机器人路径规划和轨迹优化的视频课程,介绍常用的路径规划算法和轨迹优化算法,感兴趣的可以点击b站链接观看。更新中。。。 https://www.bilibili.com/video/BV1yT4y1T7Eb
      遗传算法视频讲解地址:https://www.bilibili.com/video/BV1Sf4y1475E/

    下面具体来讲讲基于遗传算法的移动机器人路径规划,文章是从公众号上搬过来的。
    1.地图的建立和种群编码
      机器人进行路径规划之前首先要建立地图,本文采用栅格法建立移动机器人的行走空间模型。栅格面积越小,空间中各种环境信息表示越精确,但同时占用的存储空间就会加大,算法所使用的搜索时间就会加大。若栅格面积越大,则空间中各种环境信息不能准确表示出来,容易出现碰撞问题。所以在建立环境模型时,需要先做以下规定:
    (1)不考虑障碍物高度问题,机器人行走空间为二维平面空间;
    (2)障碍物的大小、位置已知,并且不存在动态障碍物;
    (3)在规划时可以把机器人看做质点处理。
      为了方便设置栅格面积,我们通常用正方形表示机器人的行走空间。如果障碍物面积小于正方形面积,可以将障碍物扩大为正方形;如果障碍物面积大于正方形面积,可以用两个正方形表示障碍物面积;如果障碍物面积更大,则可以用多个正方形表示。建模后机器人行走空间如图1所示,图中白色部分为自由栅格,黑色部分为障碍物栅格。
    在这里插入图片描述
      在构建栅格地图时,首先以地图左下角第一个栅格为坐标原点建立直角坐标系。因此每一个栅格可以用(x,y)的坐标形式表示,比如左下角第一个栅格可以表示为(1,1)。并且从左下角开始每一个栅格进行编号N,编号从0开始。编号和坐标的转换公式为:
    在这里插入图片描述
      Gsize为每一行栅格数,int为取整操作。已为每一个栅格编好号码,因此可以用此编号来表示一条路径,比如起点为0终点为24的路径可以表示为(0,6,7,8,13,19,24),在遗传算法中即为十进制编码。
    2.代码整体框架
      遗传算法是一种智能优化算法,主要用来解决优化问题,其主要步骤为种群初始化、适应度函数计算、选择、交叉和变异。应用于移动机器人路径规划时其主要步骤相同,流程图如图2所示。具体每步的方法将在以下小节做详细介绍。
    在这里插入图片描述
    3.初始化种群
      机器人的起始位置为栅格0,目标位置为栅格99。初始化种群要求随机产生多条可行路径,可行路径表示不与障碍物栅格相碰撞的路径。可行路径的产生分为两个主要步骤。第一步首先产生一条间断路径。机器人每次行走一个栅格,因此每一行至少有一个栅格在可行路径中。所以初始化时先按顺序在每一行随机取出一个无障碍栅格,形成一条间断的路径,其中为了减短路径长度路径的第一个和最后一个栅格分别为机器人的起始位置和目标位置。
      第二步是将间断的路径连接为连续路径。在这一步中首先从第一个栅格开始判断相邻的两个栅格是否为连续栅格,栅格是否连续的判断方法为:在这里插入图片描述
      若D等于1则说明两个相邻栅格连续,反之不连续。对于不连续的栅格取两个栅格的中点栅格,中点栅格的坐标计算为:
    在这里插入图片描述
      若新栅格为障碍物栅格则以上下左右顺序取新栅格的相邻栅格,并判断此栅格是否已经在路径中(防止陷入死循环),如果此栅格为无障碍栅格且不在路径中则插入路径中,如果遍历上下左右四个栅格后没有满足条件的栅格则删除这条路径;若新栅格为无障碍物栅格,则插入两个不连续栅格中间。继续判断新插入的栅格和新插入的栅格的前一个栅格是否连续,若不连续则循环以上步骤,直到两个栅格连续。当两个栅格连续后取下一个栅格,循环以上步骤,直到整条路径连续。初始化一条路径的流程图如图3所示。很久没画框图了把框图的开始和结束画成了长方形,懒得改了将就看下吧。
    在这里插入图片描述
    4.适应度函数计算
      适应度函数分成两部分,分别用来判断路径的长短和平滑程度。路径长度的计算相对简单,公式如下:
    在这里插入图片描述
      要求的是机器人的路径最短,而选择方式采用的是轮盘赌的方式,所以适应度函数的第一部分为:
    在这里插入图片描述
      机器人由于运动学和动力学的约束,行进时拐弯不宜过大,并且相对平滑的路径有利于机器人的行驶,因此产生的路径有平滑度的要求。路径越平滑,相邻三点形成的角度越大,角度越大相邻三点之间的距离越大,因此计算路径中所有相邻三点的距离作为适应度函数的第二部分,计算公式如下:
    在这里插入图片描述
      d3的值可对应路径中连续三点的夹角的四种情况分别为180度、钝角、直角和锐角,其中180度的三点成一直线,平滑度最好,钝角、直角次之。由于机器人动力学的约束,锐角是不允许的。所以分别对除直线外的3种情况给予惩罚,分别为5、30和无穷大,可以根据实际情况改动惩罚的大小。惩罚之和的倒数即为适应度函数的第二部分。
    适应度函数的两部分需要取一个权重,权重公式如下:
    在这里插入图片描述
      根据路径长度和平滑度之间的权重选择参数a和b。
    5.选择方法
      选择方法采用简单的基于概率的轮盘赌方法。首先计算出所有个体的适应度函数的和,再计算每一个个体所占的比率,计算公式如下:
    在这里插入图片描述
      然后根据每个个体的概率,以轮盘赌的方式选择出下一代个体。轮盘赌的方式保证了部分非最优的个体,可以有效的防止算法陷入局部最优解。
    6.交叉方式
      首先需要确定一个交叉概率pc,产生0-1之间的一个随机数,并和交叉概率pc比较,若小于pc则进行交叉操作。交叉方式采用的是单点交叉的方式,具体的交叉操作是找出两条路径中所有相同的点,然后随机选择其中的一个点,将之后的路径进行交叉操作。具体的流程图如图4(a)所示,其中n为路径数(即种群数量)。
    7.变异方式
      首先需要确定一个变异概率pm,产生0-1之间的一个随机数,并和变异概率pm比较,若小于pm则进行变异操作。变异方法是随机选取路径中除起点和终点以外的两个栅格,去除这两个栅格之间的路径,然后以这两个栅格为相邻点,使用初始化路径中的第二步将这两个点进行连续操作。此时有可能无法产生连续的路径,则需要重新选择两个栅格执行以上操作,直到完成变异操作。具体的流程图如图3(b)所示,其中n为路径数(即种群数量)。(还是一样把开始和结束框画错了。)
    在这里插入图片描述
    8.仿真结果
      在20*20的栅格地图上进行实验,起点为0栅格,终点为399栅格,其中pc=0.8,pm=0.2,a=1,b=0。当b=0即表示不考虑路径的平滑度,只考虑了路径长度作为适应度函数,栅格地图上的路径如图5(a)所示,最短路径如图5(b)所示。从图5(a)中可以看到算法成功的找到了一条无障碍路径,但路径中有多处直角的转折,不利于机器人行驶,有时甚至出现锐角的情况,这种情况一般的机器人是无法行驶的。从图5(b)中得出,经过10次左右迭代算法已经收敛,最优路径的长度为31.799(相邻栅格间隔为1个单位长度)。当a=5,b=2时,即考虑路径平滑度时的算法结果如图5(c)、(d)所示,由于路径顺滑函数中对出现直角的情况加了较大的惩罚,出现锐角的情况加一个无穷大的惩罚,因此顺滑了路径且避免了锐角的出现。此时最优路径的长度也为31.799。
    在这里插入图片描述
    9.总结
      本文的重点是如何实现基于遗传算法的路径规划算法,首先介绍栅格地图的构建和十进制种群的编码方法。然后给出了整个过程的流程图,在此基础上详细介绍了种群初始化、适应度函数、选择方法、变异方法和交叉方法,并对其中较复杂的种群初始化、变异方法和交叉方法给出了程序流程图。主要的缺点是生成的路径不够平滑,可能是间断路径连续化产生的路径不够平滑,可以在此方面改进,也可以改进适应度函数中的路径平滑的部分,设计更加合理的平滑函数。
      由于自己水平有限,其中的错误在所难免,大家发现错误可以在下面留言,不懂的地方也可以互相讨论。本文部分内容参考了文献:张小兵. 基于遗传算法的移动机器人路径规划[D]. 西安建筑科技大学, 2014.

    展开全文
  • 移动机器人经典教材

    2018-07-28 17:24:29
    自主移动机器人经典教材,包含机器人的运动学和动力学!
  • 基于Matlab和VR技术的移动机器人建模及仿真-基于Matlab和VR技术的移动机器人建模及仿真.pdf 希望对大家有用
  • 自主移动机器人概述

    千次阅读 2019-04-26 10:12:22
    1. 移动机器人入门 移动机器人技术应用: 天上飞的,水里游的,地上跑的,都可以应用移动机器人领域的技术。 比如说,1、工业机器人:搬运机器人(AGV);2、商用机器人:无人车、无人机、送餐机器人、导览机器人;3...
  • 阿尔法小组移动机器人
  • 对于机器人的幻想,人类早在千年前就已经有了,“机器人”是存在于多种语言和文字的新造词,它体现了人类长期以来的一种愿望,即渴望创造出一种像人一样的机器人,代替...“移动”是机器人的重要标志,移动机器人的...
  • 针对当前基于单目视觉的室内移动机器人全局定位算法复杂度大等问题,提出一种室内移动机器人双目视觉全局定位方法。双目视觉下,为保证室内移动机器人在运动过程中能够保持稳定的特征提取,提出基于标定板的全局定位...
  • 智能移动机器人技术

    2018-06-05 13:16:56
    本文综述了智能移动机器人技术的历史!研究现状及未来展望
  • <p><font xss=removed>智能移动机器人路径规划问题一直是机器人研究的核心内容之一. 将移动机器人路径规划方法概括为: 基 于模版匹配路径规划技术、基于人工势场路径规划技术、基于地图构建路径规划技术和基于...
  • 摘要:移动机器人一种由传感器、遥控操作器和自动控制的移动载体组成的机器人系统。图像拼接是将数张有重叠部分的图像(可能是不同时间或不同视角)拼成一幅大型的无缝高分辨率图像。 移动机器人视觉导航和其它的...
  • 移动机器人的超声模糊避障算法.pdf 介绍了关于移动机器人的超声模糊避障算法的详细说明,提供机器人知识的技术资料的下载。
  • 1.移动机器人应用领域 空间探测、矿物探测、物品分拣、危险物品处理、酒店服务、居家医疗、军事侦察。 2.移动机器人的分类 从应用背景上:农业机器人(收割机器人等)、工业机器人(工业机械臂等)、探测机器人...
  • 移动机器人导航学习

    2020-07-06 22:26:43
    ROS学习——移动机器人导航仿真(一) ROS学习——移动机器人导航仿真(二) ROS学习——移动机器人导航仿真(三)
  • 移动机器人编队控制及协作搬运策略
  • 基于ros的开源移动机器人设计基于ros的开源移动机器人设计基于ros的开源移动机器人设计
  • Stage :移动机器人模拟器

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,585
精华内容 5,034
关键字:

移动机器人