一、移动机器人介绍
区别于AGV(AutomaticGuided Vehicle,自动导引车,指装备有电磁或光学等自动引导设备,能按规定路径行走的自动运输车)等自动化运输车,移动机器人是集环境感知(slam)、动态决策与规划(navigation)于一体的多功能综合系统,是集中了传感器技术、信息处理、电子工程、计算机工程、自动化技术于一体的人工智能学科(AI),是目前科学技术发展最活跃的领域之一。
(图源网络)
二、历史与发展
20世纪60年代,斯坦福大学研究所研究出了自主移动机器人Shakey,它可以在复杂的环境下进行对象识别、自主推理、路径规划及控制等功能。70年代,随着计算机技术与传感器技术的发展与应用,移动人机器人的研究出现了新高潮。进入90年代后,随着技术的迅猛发展,移动机器人向实用化、系列化、智能化进军。
同世界主要机器人大国相比,尽管我国在移动机器人的研究起步比较晚,但是发展却是很迅速。20世纪80年底,随着人口红利消退,劳动力成本增高,移动机器人开始进入结构化工厂。
近年来,随着智能领域的快速发展,仅适用于单一环境的移动机器人已经不能满足人类对生产生活的需求。智能移动机器人以其灵活柔性的导航及路径规划方式进入了日常生活。同时,国内多个大学也开设了人工智能学科,智能移动机器人的研究得到了飞速发展。
三、组成及特点
移动机器人具有像人一样的感知能力,可以识别、推理和判断。可以根据外界条件的变化,在一定范围内自行修改程序。由以下几个主要部分组成:
1.中央控制器:类似于人类的大脑,有计算决策能力,可以进行路径规划,动态避障,目前主流的路径规划算法有A*、Dijkstra,通过对地图的网格像素点进行计算,动态寻找最短路径。
2.传感器:类似于人的五官,包括激光雷达、声呐、红外、触碰等。近年来, SLAM(SimultaneousLocalization And Mapping,即时定位与地图构建)技术从理论研究到实际应用,发展十分迅速,这种在确定自身位置的同时构造环境模型的方法,可用来解决机器人定位导航问题。其中,激光SLAM技术利用激光雷达作为传感器,获取地图数据,使机器人实现同步定位与地图构建,这是目前最稳定、最可靠、高性能的SLAM导航方式。
3.驱动底盘:类似于人的四肢。通过双轮差速或多轮全向,响应中央主控器发送的速度消息,实时调节移动速度与运行方向,灵活转向以精确到达目标点。
(图源网络)
四、机器人操作系统
随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operatingsystem),在机器人研究领域很快掀起了学习和使用的热潮,也是未来机器人应用系统的发展趋势。
ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公司Willow Garage的个人机器人项目(Personal RobotsProgram)之间的合作,2008年之后就由Willow Garage来进行推动。
ROS是开源的,是用于机器人的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获娶建立、编写和运行多机整合的程序。
(图源网络)
主要特点:
1.点对点设计,一个使用ROS的系统,程序可以存在于多个不同的主机并且在运行过程中通过端对端的拓扑结构进行联系。
2.多语言支持,ROS现在支持许多种不同的语言,例如C++、Python、Octave和LISP,也包含其他语言的多种接口实现。
3.精简于集成,ROS建立的系统具有模块化的特点,各模块中的代码可以单独编译,而且编译使用的CMake工具使它很容易的就实现精简的理念。
4.工具包丰富, 为了管理复杂的ROS软件框架,我们利用了大量的小工具去编译和运行多种多样的ROS组建,从而设计成了内核,而不是构建一个庞大的开发和运行环境。
5.免费开源, ROS以分布式的关系遵循这BSD许可,也就是说允许各种商业和非商业的工程进行开发。
来源:Allians联汇智造 本文作者:CSDN博主