移动机器人

机器人AGV的5种定位技术

岁酱吖の 提交于 2020-03-13 11:32:23
70年代末,随着计算机的应用和传感技术的发展,移动机器人研究又出现了新的高潮。特别是在80年代中期,设计和制造机器人的浪潮席卷全世界。一大批世界著名的公司开始研制移动机器人平台,这些移动机器人主要作为大学实验室及研究机构的移动机器人实验平台,从而促进了移动机器人学多种研究方向的出现。 移动机器人目前已经遍布军事、工业、民用等各大领域,并还在不断的发展中,目前移动机器人技术已获得了可喜的进展,研究成果令人鼓舞,但对于实际中的应用需求还需要长时间的发展,相信随着传感技术、智能技术和计算技术等的不断提高,智能移动机器人一定能够在生产和生活中扮演人的角色。那么移动机器人定位技术主要涉及到哪些呢?经总结目前移动机器人主要有这5大定位技术。 一、移动机器人超声波导航定位技术 超声波导航定位的工作原理也与激光和红外类似,通常是由超声波传感器的发射探头发射出超声波,超声波在介质中遇到障碍物而返回到接收装置。 通过接收自身发射的超声波反射信号,根据超声波发出及回波接收时间差及传播速度,计算出传播距离S,就能得到障碍物到机器人的距离,即有公式:S=Tv/2式中,T—超声波发射和接收的时间差;v—超声波在介质中传播的波速。 当然,也有不少移动机器人导航定位技术中用到的是分开的发射和接收装置,在环境地图中布置多个接收装置,而在移动机器人上安装发射探头。 在移动机器人的导航定位中,因为超声波传感器自身的缺陷

剑指offer 46.机器人的运动范围

自古美人都是妖i 提交于 2020-01-29 00:27:55
题目:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子? 思路: 从起始点开始走,通过DFS走到所有能走的地方 走过的地方要标记为1,不能走的标记为0 启发或者坑: dfs之后是否要返回到初始状态,这个题目是不用的*-* 代码: class Solution { public: int rowsV; int colsV; vector<vector<int>> mark; int k; int nums; int movingCount(int threshold, int rows, int cols) { rowsV = rows; colsV = cols; for (int i = 0; i < rows; i++) { vector<int> onerow; for (int j = 0; j < cols; j++) { onerow.push_back(-1); } mark.push_back(onerow); } k = threshold; nums = 0; dfs(0

自主移动机器人同时定位与地图创建(SLAM)方法概述

孤街醉人 提交于 2020-01-23 16:29:24
1.引言: 机器人的研究越来越多的得到关注和投入,随着计算机技术和人工智能的发展,智能自主移动机器人成为机器人领域的一个重要研究方向和研究热点。移动机器人的定位和地图创建是自主移动机器人领域的热点研究问题。对于已知环境中的机器人自主定位和已知机器人位置的地图创建已经有了一些实用的解决方法。然而在很多环境中机器人不能利用全局定位系统进行定位,而且事先获取机器人工作环境的地图很困难,甚至是不可能的。这时机器人需要在自身位置不确定的条件下,在完全未知环境中创建地图,同时利用地图进行自主定位和导航。这就是移动机器人的同时定位与地图创建(SLAM) 问题,最先是由SmithSelf 和Cheeseman在1988年提出来的,被认为是实现真正全自主移动机器人的关键。 SLAM问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图。 在SLAM中,机器人利用自身携带的传感器识别未知环境中的特征标志,然后根据机器人与特征标志之间的相对位置和里程计的读数估计机器人和特征标志的全局坐标。这种在线的定位与地图创建需要保持机器人与特征标志之间的详细信息。近几年来,SLAM的研究取得了很大的进展,并已应用于各种不同的环境,如:室内环境、水下、室外环境。 2.SLAM的关键性问题 2.1地图的表示方式 目前各国研究者已经提出了多种表示法

LeetCode 62.不同路径(动态规划)

牧云@^-^@ 提交于 2019-12-22 03:54:12
题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不超过 100。 思路 机器人只能向下或者向右移动一步,那么对于任意的i, j机器人只能从左侧或上方移动过来,特别的对于上边界或左边界,机器人只有一种移动方式。那么就有下面公式: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191221184946168.png 代码 class Solution : def uniquePaths ( self , m : int , n : int ) - > int : dp = [ [ 0 ] * ( n + 1 ) for i in range ( m + 1 ) ] dp [ 1 ] [ 0 ] = 1 for i in range ( 1 , m + 1 ) : for j in range ( 1 , n + 1 ) : dp [ i ] [ j ] = dp [ i - 1 ] [ j ] + dp [ i ] [ j - 1 ] return dp [ m ] [ n ] test =

LeetCode 657. 判断路线成圈

匿名 (未验证) 提交于 2019-12-03 00:27:02
初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到 原来的位置 。 移动顺序由一个字符串表示。每一个动作都是由一个字符来表示的。机器人有效的动作有 R (右), L (左), U (上)和 D (下)。输出应为 true 或 false,表示机器人移动路线是否成圈。 示例 1: 输入: "UD" 输出: true 示例 2: 输入: "LL" 输出: false 第一种方法,计数法,分别给UD和RL计数,计数器分别为x,y,遇到U或R,x++或y++;遇到R或L,x--或y--;如果最后x和y为0,则返回true,否则返回false; public static boolean judgeCircle ( String moves ) { char a []= moves . toCharArray (); int x = 0 , y = 0 ; for ( char c : a ) { if ( c == 'L' ) x ++; if ( c == 'R' ) x --; if ( c == 'U' ) y ++; if ( c == 'D' ) y --; } return x == 0 && y == 0 ; } 第二种方法,用HashMap计数,然后再分别判断R和L或U和D数量是否相等(没通过

移动说:搞了这么多年,原来腾讯才是我们最大的对手

匿名 (未验证) 提交于 2019-12-02 23:38:02
微信等语音应用对传统通信业务已构成实质威胁,工信部即将发放虚拟运营商牌照的消息更是雪上加霜。通讯一哥移动也不得不深思,搞了这么多年,没想到最大的竞争对手竟然是腾讯。基于通讯网络我们可以共享云端生活,为人类生活提升品质。就商业竞争而言,跨行跨界已经成为主流,如今是商业模式不仅要和同行竞争还要警惕跨行产业。 早在2003年10月,支付宝诞生,绝不会有人想象到它会对银行构成威胁。10年后的2013年6月,支付宝的“兄弟”余额宝以其高收益和便捷性,迅速蚕食全国银行市场……然而,银行业面临的跨业竞争不仅仅在第三方支付,还有电子商务公司,甚至通讯企业。 商场竞争变化之快,在职场也有所体现,商业快速发展,对职场人员的要求也在加大,马云、刘强东等行业巨头都纷纷要求员工996工作制,日后的职场人压力越来越大,也更加表名提升能力,让自己成为创造性人才才是未来不被淘汰的唯一法门。 即主持机器人、旅游机器人、医疗机器人、人工智能又添新人――电话机器人。电话机器人好不好用?它们都具有人工不能比拟的优势,工作积极,便于管理。而且电话机器人仅一套软件系统就能参与工作,智能语音机器人价格更是在以往机器人成本上再次减轻企业成本。而这一转变恰好是现在企业所需要的模式,最好一套系统就能代替人工。职场不如工厂不需要大型的机械臂来协作工作,只要智能化的模拟人工作业,达到脑力创造性工作。

移动机器人路径规划方法概览

二次信任 提交于 2019-11-29 02:01:37
路径规划方法综述 概述 主要方法 基于图搜索的规划方法 D* LPA* D* Lite 和Field D* 基于采样的规划方法 Probabilistic Roadmap Method (PRM) Rapidly-Exploring Random Tree (RRT) RRT connected/Bi-RRT RRT\* Interpolating Curve Planners 插值曲线规划 直线和圆 回旋曲线 多项式曲线 Bezier(贝塞尔)曲线 总结 参考文献: 概述 在路径规划中,几个名词的含义为: 完备性:是指如果在起始点和目标点间有路径解存在,那么一定可以得到解,如果得不到解那么一定说明没有解存在; 概率完备性:是指如果在起始点和目标点间有路径解存在,只要规划或搜索的时间足够长,就一定能确保找到一条路径解; 最优性:是指规划得到的路径在某个评价指标上是最优的(评价指标一般为路径的长度); 渐进最优性:是指经过有限次规划迭代后得到的路径是接近最优的次优路径,且每次迭代后都与最优路径更加接近,是一个逐渐收敛的过程; 路径规划的过程大致如下图所示,主要包括信息获取-感知-通信-决策-控制-执行,一般狭义的路径规划指的是决策部分。 主要方法 基于图搜索的规划方法 基于图搜索的方法是最常见的路径规划方法,不仅在机器人,甚至在网络中(如路由的寻路转发中)也有广泛的应用。

初始ROS之学习汇总

丶灬走出姿态 提交于 2019-11-28 08:15:06
准研一,暑假在北京一家公司实习,初步学习ROS,在公司里测试了许多机器人,在这里汇总分享一下,实习了俩月虽然学到了满多东西,但觉得自己也不算完全入门,只是对ROS有了初步的了解,实习到现在我掌握的最重要的一个技能应该就是自主学习能力了,Github ros.wiki等网站的学习以及资料查询能力;认识到自己最严重的不足是编程能力,ROS中大多使用c++和python,在初步入门之后尝试开发以及创新时编程能力成了我最大的障碍。 下面是一些自己接触的机器人,大都只是测试了其功能,基础中的基础… KINOVA 在公司里使用的是KINOVA JACO2系列的机械手臂,JACO系列总共有三种类型:按自由度分为4DOF, 6DOF, 7DOF三种;夹抓分为2指和3指;手腕有类型有球型和非球型等等。在功能包中的表示方式为:例j2n7s300表示JACO二代腕部非球型的7自由度3指机械臂。 KINOVA控制方式: 手柄控制 , GUI界面控制(与手柄相似) ROS功能包控制,MoveIt!(功能包地址 https://github.com/Kinovarobotics/kinova-ros)功能包内容较多,需要更加深入研究 机械臂通用:moveit_setup_assistant配置机械臂,控制真实机械臂时需要ros_control功能包(参考http://www.guyuehome.com/890

移动机器人agv

一个人想着一个人 提交于 2019-11-27 05:41:21
今天我们来聊聊移动机器人领域的现有一些车型的应用,以及幻想一下未来有趣的一些应用场景吧,仅仅是个人一些狭隘的见解。agv(Automatic Guided Vehicle),又称自动导引小车,依靠动力系统自动的完成行走,转弯,举升,牵引等动作,而不要人为操作,从而达到减少人力的作用。agv现在运用较为广泛的场景有:电商、工厂、仓库、救援等。agv的应用可以提高工作效率、降低人工成本、节省存储空间、减小误差率、提高自动化与标准化、减少人工危险性工作。 移动机器人跟大家想象中的那种可以蹦蹦跳跳的,进行灵活关节运动的人工智能机器人不一样,移动机器人主要是满足自动搬运和移动的需求。机械手主要是进行精准的目标物的抓取,和移动机器人分属于不同的领域,就像脚和手的区别。现在在很多应用场景中,为了实现更高程度的自动化,通常会将移动机器人和机械手结合起来使用。 简单说一下我了解或者接触到的几种不同类型的移动机器人,也是目前市场上的几款比较主流的移动机器人,最早的应该是从磁导航机器人说起,第一种是磁导航agv,顾名思义,就是需要铺设磁条作为运行轨道,以及利用磁钉进行定位,此款agv的优势是负载较大,定位精准,但是需要对磁条进行维护,后期场景的变更或扩充会比较麻烦。激光导航,利用激光和反射板进行定位,此款agv的价格会比较高,而且对环境的要求也比较高。自然轮廓导航,根据扫描的特征点匹配进行定位