CN110489182A - 一种带有自主导航模块的机器人云平台设计方法 - Google Patents
一种带有自主导航模块的机器人云平台设计方法 Download PDFInfo
- Publication number
- CN110489182A CN110489182A CN201910787674.3A CN201910787674A CN110489182A CN 110489182 A CN110489182 A CN 110489182A CN 201910787674 A CN201910787674 A CN 201910787674A CN 110489182 A CN110489182 A CN 110489182A
- Authority
- CN
- China
- Prior art keywords
- robot
- lane
- cloud platform
- platform
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013461 design Methods 0.000 title claims abstract description 10
- 238000001514 detection method Methods 0.000 claims abstract description 19
- 230000009471 action Effects 0.000 claims abstract description 11
- 238000012360 testing method Methods 0.000 claims abstract description 9
- 230000004044 response Effects 0.000 claims abstract description 6
- 239000003642 reactive oxygen metabolite Substances 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 33
- 238000011161 development Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000002474 experimental method Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 5
- 238000013095 identification testing Methods 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 238000003384 imaging method Methods 0.000 claims description 3
- 230000001737 promoting effect Effects 0.000 claims description 3
- 240000004050 Pentaglottis sempervirens Species 0.000 claims description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 2
- 230000008447 perception Effects 0.000 claims description 2
- 241001310793 Podium Species 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000002346 layers by function Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 101000612746 Homo sapiens Tetratricopeptide repeat protein 33 Proteins 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 102100040943 Tetratricopeptide repeat protein 33 Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种带有自主导航模块的基于ROS的机器人云平台的设计方法、电子设备及计算机可读介质。该方法根据功能层次将该平台设置为基础层、平台层和服务层三个层次;在机器人云平台原型系统上设置自主导航模块;对模块中的车道检测算法进行替换,采用Advance_LaneFinding算法进行优化;自主导航功能模块在云平台上设置完成后,通过在云平台上对机器人进行远程调配及服务响应实验;启动自主导航命令,登录到TurtleBot3,启动相机,启动action模式下的自主导航程序。因此本发明能够将机器人的密集型任务卸载到云端进行,能明显提升机器人的运行效率。
Description
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种带有自主导航模块的基于ROS的机器人云平台的设计方法、电子设备及计算机可读介质。
背景技术
云计算是一种计算模型,可以随时随地的按需访问共享的、可配置的计算资源。池(如网络,服务器,存储,应用程序和服务),只需最少的管理工作就可以快速配置和分发。云计算将硬件资源虚拟化、动态地扩展,并在Internet上作为服务提供,它还允许提供者为用户提供几乎无限资源的访问。
云机器人技术是机器人借助云计算而发展起来的一种新兴技术。传统机器人的存储和计算能力仅限于机器人本体,而智能化则要求更多的知识存储、检索以及推理计算能力。针对此问题,2010年Carnegie Mellon University的James Kuffner教授首次提出云机器人的概念。云机器人是机器人技术与云计算的结合,把机器人的数据处理、规划、决策、协作等复杂计算功能卸载到云端,机器人本体只要装备基本的传感器联入网络就可以实现复杂的任务,机器人也由此真正实现了物美价廉。机器人云平台可以给每个机器人都提供整个云的计算能力,加强机器人的记忆能力和判断水平;把开发和测试环境、机器人的程序设计部署为一种服务放在云中,革新机器人开发流程;在云中部署服务,让机器人通过更换其在云平台中的配置来转变这个机器人的功能,提高机器人实用性。利用云计算对硬件资源进行调配,将机器人服务部署在云端,机器人通过注册到云端即可建立一个机器人知识共享库,云端也能够很好根据用户的需求对机器人资源进行合理的分配。
现有的机器人云平台架构或多或少的还存在一定的局限性,云平台架构并不统一,造成了很多重复技术性研究。
规范机器人云平台的架构,统一机器人与云平台的接口,将更多类型的异构机器人融入到机器人云服务平台中,使得适应不同类型的机器人的需求成为亟待解决的问题。
现有的导航系统,无法精准的根据环境判断,例如弯道、标识,泊车等。或在控制车辆的过程中出现误判,导致错误。
为了解决上述现有技术中的问题,本发明提供了一种带有自主导航模块的基于ROS的机器人云平台的设计方法、电子设备及计算机可读介质。将云机器人技术与ROS结合,利用现有的机器人开发框架与云平台框架并结合微服务,提出了一种全新的机器人云平台框架模型。
发明内容
本发明旨在解决现有技术中,规范机器人云平台的架构,统一机器人与云平台的接口的问题。本发明提供一种基于ROS的机器人云平台设计方法、电子设备及计算机可读介质。可以让开发人员专注在算法上,有助于提升机器人领域的整体技术水平。本发明能够解决机器人开发者需要重复构建开发环境和机器人软件服务的问题,为机器人应用程序的开发提供方便。
为了解决上述技术问题,本发明第一方面提出一种带有自主导航模块的基于ROS的机器人云平台的设计方法,该方法包括以下步骤:
S1,根据功能层次将该平台设置为基础层、平台层和服务层三个层次。可选地,该基础层是提供基础设施资源的物理硬件层次,包括云平台底层的硬件服务器和网络设备。
该平台层是用于促进用户应用开发、部署的中间件云服务,为机器人软件程序提供开发、测试和运行环境的层次。
该服务层是将资源抽象和虚拟化封装成服务统一部署在云平台上,以提供软件的方式为用户服务。
S2,在机器人云平台原型系统上设置自主导航模块;该基于ROS的机器人云服务平台使用统一的软件开发框架,该基于ROS的机器人云服务平台架构包括多个节点Node,该节点组合成功能包,该功能包组成功能模块,配置一个launch文件并启动多个节点同时运行;该功能包里具有不同的算法封装好的节点,通过roslaunch命令启动launch文件,调用自主导航模块使机器人运行;该自主导航模块通过读取机器人端的传感器信息,在云端将环境感知信息进行信息融合,决策规划层根据目标行为做出规划并将决策指令发送到机器人端,控制车辆的速度和方向完成自动驾驶任务;该自主导航模块主要功能包括:车道线检测、自动泊车、识别交通标志和交通信号灯,使用lanelines detection车道线检测算法和ROS自带的movebase自主导航算法。
S3,对模块中的车道检测算法进行替换,采用Advance_LaneFinding算法进行优化。
该车道线检测系统设置为基于单目成像,首先对摄像头采集输入的原始图像使用opencv中的unsistort函数做失真校正处理,使用颜色变换和渐变阈值等图像处理技术来创建一个阈值化二进制图像,应用鸟瞰视图变换来纠正二值化图像,该Opencv提供了两个函数getPerspectiveTransform和warpPerspective;提取若干车道线的特征,使用多项式拟合车道线像素计算车道曲率及车辆相对于车道的偏离,将检测到的车道边界线绘制回道路的示例图像用绿色色块显示,实时计算车道曲率及车辆位置并输出。
S4,自主导航功能模块在云平台上设置完成后,通过在云平台上对机器人进行远程调配及服务响应实验;进行车道识别测试,将TurtleBot3放置在车道中间,左边为黄色车道线,右边为白色车道线;通过ssh远程登录到机器人,在命令行下启动机器人,检测到云平台与机器人建立连接后,在TurtleBot3上打开action模式下的内标定程序,接着在云主机上打开action模式下的外标定程序,启动calibration模式下的车道识别;打开ROS自带的rqt程序,进行车道线校准,主要调整feature detector/color filter来优化对象识别;调整滤镜参数使rqt显示出正常的车道线。
S5,启动自主导航命令,登录到TurtleBot3,启动相机,启动action模式下的自主导航程序。
可选地,该自主导航模块设置在平台层。
可选地,步骤S4中,该显示出正常的车道路线为左右屏幕将显示黄线和白线的过滤图像,中心屏幕将显示机器人应该去的路径。
为了解决上述技术问题,本发明第二方面提出一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该处理器执行所述程序时,实现上述方法。
为了解决上述技术问题,本发明第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序能够被处理器执行来实现上述方法。
ROS(robot operation system)是在2010年对外发布了源代码的机器人操作系统,目前由OSRF公司维护,从公布之初就受到无数机器人应用程序开发人员的推崇。ROS目前已经成为有史以来使用最多的分布式模块化的开源机器人框架,提供了底层驱动程序到上层的算法,再加上强大的开发工具来帮助软件开发人员创建机器人应用程序。其目的在于提高软件代码的复用性,允许代码共享和重用。ROS给用户提供了期望从操作系统获得的服务,包括硬件配置、底层设备控制、工具和库、进程间的消息传递和包管理。ROS不是类似于Windows、linux、MacOS这样传统的操作系统,而是提供了一种跨平台模块化软件通讯机制和软件开发框架。ROS实现的基于话题(Topic)的通讯机制为机器人提供了通信支持功能,很好的解耦了不同应用程序(节点)之间的逻辑,所以被普遍应用到机器人软件服务的实际开发中。
通过以上方法,可以让开发人员专注在算法上,有助于提升机器人领域的整体技术水平。本发明能够解决机器人开发者需要重复构建开发环境和机器人软件服务的问题,为机器人应用程序的开发提供方便,为开发人员搭建机器人云平台时提供参考意义。将机器人的密集型任务卸载到云端进行,能明显提升机器人的运行效率。带有自主导航模块的基于ROS的机器人云平台的设计方法,可以对具体任务场景支持,机器人可以自动识别驾驶中的各种情况,例如交通标志,弯道,泊车等,实现自主导航,甚至自动驾驶,安全可靠,识别度高。
附图说明
为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明的示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
图1是示出了根据本发明实施例的一种带有自主导航模块的基于ROS的机器人云平台的设计方法的示意图。
图2是示出了根据本发明实施例的一种带有自主导航模块的基于ROS的机器人云平台的总体架构的示意图。
图3是根据本发明实施例的一种电子设备的示例性实施例的结构框图。
图4是根据本发明实施例的一种计算机可读介质的示意图。
图5是根据本发明实施例的自主导航模块组织架构的示意图。
图6是示出了根据本发明实施例的Advance_LaneFinding算法流程图的示意图。
具体实施方式
现在将参考附图来更加全面地描述本发明的示例性实施例,虽然各示例性实施例能够以多种具体的方式实施,但不应理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例是为了使本发明的内容更加完整,更加便于将发明构思全面地传达给本领域的技术人员。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的结构、性能、效果或者其他特征可以以任何合适的方式结合到一个或更多其他的实施例中。
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
图1是示出了根据本发明实施例的一种带有自主导航模块的基于ROS的机器人云平台的设计方法的流程图。一种带有自主导航模块的基于ROS的机器人云平台的设计方法,该方法包括以下步骤:
S1,根据功能层次将该平台设置为基础层、平台层和服务层三个层次,如图2所示的根据本发明实施例的一种带有自主导航模块的基于ROS的机器人云平台的总体架构的示意图。其中,
该基础层是提供基础设施资源的物理硬件层次,包括云平台底层的硬件服务器和网络设备。
该平台层是用于促进用户应用开发、部署的中间件云服务,为机器人软件程序提供开发、测试和运行环境的层次。
该服务层是将资源抽象和虚拟化封装成服务统一部署在云平台上,以提供软件的方式为用户服务。
本文提出的基于ROS的机器人云服务平台架构结合了现有的机器人云平台架构,在其基础上进行了优化,基于微服务体系结构设计平台云服务的封装。
S2,在机器人云平台原型系统上部署自主导航模块,以求进一步验证机器人云平台原型系统的功能。autorace是为机器人应用程序开发提供各种条件而举办的一个自动驾驶机器人平台的竞赛。基于ROS的机器人云服务平台使用统一的软件开发框架,开发者在开发机器人应用程序过程中可以方便地替换、更新个别模块。在一些机器人研究领域,如室内机器人导航算法,已经成熟到“开箱即用”的程度,所以可以重用许多开源代码。基于ROS的机器人云服务平台架构中,应用程序(软件模块)被描述为节点(Node),节点组合成功能包,功能包组成功能模块,配置一个launch文件并启动多个节点同时运行。图5是根据本发明实施例的自主导航模块组织架构的示意图。
功能包里具有不同的算法封装好的节点,通过roslaunch命令启动配置好的launch文件即可调用自主导航模块使机器人运行。自主导航模块可以通过读取机器人端的传感器(如摄像头、激光雷达)信息,然后在云端将环境感知信息进行信息融合,决策规划层根据目标行为做出规划将决策指令发送到机器人端,从而控制车辆的速度和方向完成自动驾驶任务。自主导航模块主要功能包括:车道线检测、自动泊车、识别交通标志和交通信号灯,主要用到了lanelines detection车道线检测(识别)算法和ROS自带的movebase自主导航算法。
S3,对模块中的车道检测算法进行了替换。上述lanelines-detection算法是最基本的车道线检测方法,采用的是传统的边缘检测方法来识别车道线,并不适用于弯道车道线的跟踪。在前期测试的过程中,由于在弯道处检测不到车道线,导致小车行驶到弯道处时经常偏离出车道,实验的成功率较低。所以本文采用了Advance_LaneFinding算法来进行优化。
车道线检测系统基于单目成像,首先对摄像头采集输入的原始图像使用opencv中的unsistort函数做失真校正处理,使用颜色变换和渐变阈值等图像处理技术来创建一个阈值化二进制图像,应用鸟瞰视图变换来纠正二值化图像。Opencv提供了两个函数getPerspectiveTransform和warpPerspective来执行此任务。然后提取若干车道线的特征,包括边缘特征(例如梯度、车道线的颜色特征等),然后使用多项式拟合车道线像素(histogram)。计算出车道曲率及车辆相对于车道的偏离,将检测到的车道边界线绘制回道路的示例图像用绿色色块显示,实时计算车道曲率及车辆位置并输出。
图6是示出了根据本发明实施例的Advance_LaneFinding算法流程图的示意图。提供原始图像,其可以为RGB的图像。该原始图像进行畸形矫正。之后可选地,变换为HLS图像,识别S通道,判断其阈值,进行机器学习和训练。替换可选的,再次进行畸形矫正,计算梯度x,判断其阈值,进行机器学习和训练。再进行ROI装饰,小元素过滤,再转换为二进制图像。
S4,自主导航功能模块在云平台上设置完成后,通过在云平台上对机器人进行远程调配及服务响应实验首先是进行车道识别测试,将TurtleBot3放置在车道中间,左边为黄色车道线,右边为白色车道线。通过ssh远程登录到机器人,在命令行下启动机器人,检测到云平台与机器人建立连接后,在TurtleBot3上打开action模式下的内标定程序,接着在云主机上打开action模式下的外标定程序,启动calibration模式下的车道识别。然后打开ROS自带的rqt程序,进行车道线校准,主要调整feature detector/color filter来优化对象识别。由于物理环境例如房间内的光线亮度等差异较大,线路滤色的校准过程较为困难。调整滤镜参数使rqt显示出正常的车道线,正常情况下,左右屏幕将显示黄线和白线的过滤图像,中心屏幕将显示机器人应该去的路径。车道识别测试相关操作命令如表1所示。
表1车道识别测试步骤
S5,启动自主导航命令,登录到TurtleBot3,启动相机,启动action模式下的自主导航程序。自主导航相关命令如表2所示。
表2自主导航测试步骤
实验与检测成果显示了机器人能检测出车道线并在车道中央行驶,经过弯道时能自动调整方向。机器人能识别出交通标志,能完成自动泊车、遇到交通信号灯自动停止等功能,基本能完成自主导航实验测试。
本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的实体形式的实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图3是根据本发明实施例的一种电子设备的示例性实施例的结构框图。图3显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
参考图3,在硬件层面,该电子设备310包括处理器311、内部总线312、网络接口313、内存314以及非易失性存储器315,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。例如,所述处理器可以执行如图1所示的步骤。
内部总线312可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
应当明白,尽管图中未示出,电子设备310中可使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图4是本发明实施例的一种计算机可读介质的示意图。如图4所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。当所述计算机程序被一个或多个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:提供一一种带有自主导航模块的基于ROS的机器人云平台的设计方法、电子设备及计算机可读介质。该方法根据功能层次将该平台设置为基础层、平台层和服务层三个层次;该方法根据功能层次将该平台设置为基础层、平台层和服务层三个层次;在机器人云平台原型系统上设置自主导航模块;对模块中的车道检测算法进行替换,采用Advance_LaneFinding算法进行优化;自主导航功能模块在云平台上设置完成后,通过在云平台上对机器人进行远程调配及服务响应实验;启动自主导航命令,登录到TurtleBot3,启动相机,启动action模式下的自主导航程序。因此本发明能够将机器人的密集型任务卸载到云端进行,能明显提升机器人的运行效率。能够解决机器人开发者需要重复构建开发环境和机器人软件服务的问题,为机器人应用程序的开发提供方便。
与综上所述,现有技术相比,本发明改进的技术手段如下:
(1)改进现有的机器人云平台架构提出一种带有自主导航模块的基于ROS的机器人云服务平台架构,根据功能层次分为基础层、平台层和服务层三层。
(2)将移动机器人自主导航云服务模块部署到机器人云平台原型系统上,并对子模块对一些优化,对改进效果进行测试与分析,验证了基于ROS的机器人云服务平台对具体任务场景的支持能力。
与现有技术相比,本发明有益效果为:
1.通过将机器人关键技术与云计算相结合,改进得出基于ROS的机器人云服务平台架构,为搭建机器人云平台提供参考,也为构建统一机器人云服务平台提出了一个可行方案。
2.机器人云平台能够解决机器人开发人员在开发过程中需要重复构建开发环境和部署机器人软件服务的问题,为机器人程序的开发提供便利。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种带有自主导航模块的基于ROS的机器人云平台的设计方法,所述方法包括以下步骤:
S1,根据功能层次将所述平台设置为基础层、平台层和服务层三个层次,其中,
所述基础层是提供基础设施资源的物理硬件层次,包括云平台底层的硬件服务器和网络设备;
所述平台层是用于促进用户应用开发、部署的中间件云服务,为机器人软件程序提供开发、测试和运行环境的层次;
所述服务层是将资源抽象和虚拟化封装成服务统一部署在云平台上,以提供软件的方式为用户服务;
S2,在机器人云平台原型系统上设置自主导航模块;所述基于ROS的机器人云服务平台使用统一的软件开发框架,所述基于ROS的机器人云服务平台架构包括多个节点Node,所述节点组合成功能包,所述功能包组成功能模块,配置一个launch文件并启动多个节点同时运行;所述功能包里具有不同的算法封装好的节点,通过roslaunch命令启动launch文件,调用自主导航模块使机器人运行;所述自主导航模块通过读取机器人端的传感器信息,在云端将环境感知信息进行信息融合,决策规划层根据目标行为做出规划并将决策指令发送到机器人端,控制车辆的速度和方向完成自动驾驶任务;所述自主导航模块主要功能包括:车道线检测、自动泊车、识别交通标志和交通信号灯,使用lanelines detection车道线检测算法和ROS自带的movebase自主导航算法;
S3,对模块中的车道检测算法进行替换,采用Advance_LaneFinding算法进行优化;
所述车道线检测系统设置为基于单目成像,首先对摄像头采集输入的原始图像使用opencv中的unsistort函数做失真校正处理,使用颜色变换和渐变阈值等图像处理技术来创建一个阈值化二进制图像,应用鸟瞰视图变换来纠正二值化图像,所述Opencv提供了两个函数getPerspectiveTransform和warpPerspective;提取若干车道线的特征,使用多项式拟合车道线像素计算车道曲率及车辆相对于车道的偏离,将检测到的车道边界线绘制回道路的示例图像用绿色色块显示,实时计算车道曲率及车辆位置并输出;
S4,自主导航功能模块在云平台上设置完成后,通过在云平台上对机器人进行远程调配及服务响应实验;进行车道识别测试,将TurtleBot3放置在车道中间,左边为黄色车道线,右边为白色车道线;通过ssh远程登录到机器人,在命令行下启动机器人,检测到云平台与机器人建立连接后,在TurtleBot3上打开action模式下的内标定程序,接着在云主机上打开action模式下的外标定程序,启动calibration模式下的车道识别;打开ROS自带的rqt程序,进行车道线校准,主要调整feature detector/color filter来优化对象识别;调整滤镜参数使rqt显示出正常的车道线;
S5,启动自主导航命令,登录到TurtleBot3,启动相机,启动action模式下的自主导航程序。
2.根据权利要求1所述的方法,其特征在于:
所述自主导航模块设置在平台层。
3.根据权利要求1所述的方法,其特征在于:
所述步骤S4中,所述显示出正常的车道路线为左右屏幕将显示黄线和白线的过滤图像,中心屏幕将显示机器人应该去的路径。
4.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1至3中任一项所述的方法。
5.一种计算机可读存储介质,其上存储有计算机程序,该程序能够被处理器执行来实现如权利要求1至3中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910787674.3A CN110489182B (zh) | 2019-08-26 | 2019-08-26 | 一种带有自主导航模块的机器人云平台设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910787674.3A CN110489182B (zh) | 2019-08-26 | 2019-08-26 | 一种带有自主导航模块的机器人云平台设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489182A true CN110489182A (zh) | 2019-11-22 |
CN110489182B CN110489182B (zh) | 2021-05-18 |
Family
ID=68553918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910787674.3A Active CN110489182B (zh) | 2019-08-26 | 2019-08-26 | 一种带有自主导航模块的机器人云平台设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489182B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111070180A (zh) * | 2019-12-30 | 2020-04-28 | 上海海事大学 | 基于ros的灾后救援通道检测机器人 |
CN113442856B (zh) * | 2021-08-31 | 2021-12-10 | 国汽智控(北京)科技有限公司 | 基于自适应平台和ros2的控制方法、装置及存储介质 |
CN115793575A (zh) * | 2022-10-27 | 2023-03-14 | 东莞市新佰人机器人科技有限责任公司 | 一种机器人派遣的商业模式 |
US11964398B2 (en) | 2021-01-28 | 2024-04-23 | Micropharmacy Corporation | Systems and methods for autonomous robot distributed processing |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162027A1 (en) * | 2006-12-29 | 2008-07-03 | Robotic Research, Llc | Robotic driving system |
CN103558856A (zh) * | 2013-11-21 | 2014-02-05 | 东南大学 | 动态环境下服务动机器人导航方法 |
CN106886217A (zh) * | 2017-02-24 | 2017-06-23 | 安科智慧城市技术(中国)有限公司 | 自主导航控制方法和装置 |
CN107230427A (zh) * | 2017-08-01 | 2017-10-03 | 陈颖 | 基于激光导航、行为识别的智能展示平台 |
CN108406764A (zh) * | 2018-02-02 | 2018-08-17 | 上海大学 | 智能开放型服务机器人操作系统及方法 |
US20180357077A1 (en) * | 2015-01-05 | 2018-12-13 | Anki, Inc. | Adaptive Data Analytics Service |
-
2019
- 2019-08-26 CN CN201910787674.3A patent/CN110489182B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162027A1 (en) * | 2006-12-29 | 2008-07-03 | Robotic Research, Llc | Robotic driving system |
CN103558856A (zh) * | 2013-11-21 | 2014-02-05 | 东南大学 | 动态环境下服务动机器人导航方法 |
US20180357077A1 (en) * | 2015-01-05 | 2018-12-13 | Anki, Inc. | Adaptive Data Analytics Service |
CN106886217A (zh) * | 2017-02-24 | 2017-06-23 | 安科智慧城市技术(中国)有限公司 | 自主导航控制方法和装置 |
CN107230427A (zh) * | 2017-08-01 | 2017-10-03 | 陈颖 | 基于激光导航、行为识别的智能展示平台 |
CN108406764A (zh) * | 2018-02-02 | 2018-08-17 | 上海大学 | 智能开放型服务机器人操作系统及方法 |
Non-Patent Citations (3)
Title |
---|
ADAMSHAN: "无人驾驶汽车系统入门(三十)——基于深度神经网络LaneNet的车道线检测及ROS实现", 《HTTPS://BLOG.CSDN.NET/ADAMSHAN/ARTICLE/DETAILS/90578382》 * |
W. DUNN: "Advanced Lane Finding Proximity Algorithm research", 《HTTPS://KYNAMATRIX.ORG/RESEARCH/PROXIMITYOUTREACH/P04.PDF》 * |
陈彬等: "机器人云服务平台架构研究综述", 《制造业自动化》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111070180A (zh) * | 2019-12-30 | 2020-04-28 | 上海海事大学 | 基于ros的灾后救援通道检测机器人 |
US11964398B2 (en) | 2021-01-28 | 2024-04-23 | Micropharmacy Corporation | Systems and methods for autonomous robot distributed processing |
CN113442856B (zh) * | 2021-08-31 | 2021-12-10 | 国汽智控(北京)科技有限公司 | 基于自适应平台和ros2的控制方法、装置及存储介质 |
CN115793575A (zh) * | 2022-10-27 | 2023-03-14 | 东莞市新佰人机器人科技有限责任公司 | 一种机器人派遣的商业模式 |
Also Published As
Publication number | Publication date |
---|---|
CN110489182B (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489182B (zh) | 一种带有自主导航模块的机器人云平台设计方法 | |
US20210012230A1 (en) | Uncertainty-based data filtering in a vehicle | |
US20210011908A1 (en) | Model-based structured data filtering in an autonomous vehicle | |
US11558483B2 (en) | Value-based data transmission in an autonomous vehicle | |
CN112925348B (zh) | 无人机控制方法、无人机控制装置、电子设备及介质 | |
US11775400B2 (en) | Redundant processing fabric for autonomous vehicles | |
US11577756B2 (en) | Detecting out-of-model scenarios for an autonomous vehicle | |
CN112016585A (zh) | 用于将机器学习和大众外包数据标注进行集成的系统和方法 | |
Sales et al. | Vision-based autonomous navigation system using ann and fsm control | |
CN116403174A (zh) | 一种端到端自动驾驶方法、系统、仿真系统及存储介质 | |
CN115205586A (zh) | 基于知识蒸馏的多自监督任务融合方法、装置及存储介质 | |
US11780460B2 (en) | Determining control operations for an autonomous vehicle | |
US11983889B1 (en) | Selective training of neural networks using motion estimation | |
US20230001950A1 (en) | Using predictive visual anchors to control an autonomous vehicle | |
US20200326967A1 (en) | Operating system modality switching in an autonomous vehicle | |
CN112215042A (zh) | 一种车位限位器识别方法及其系统、计算机设备 | |
CN115272896A (zh) | 识别模型的自动迭代训练方法、系统、设备和存储介质 | |
US20210012220A1 (en) | Rules-based structured data filtering in an autonomous vehicle | |
US11704895B2 (en) | Camera data normalization for an autonomous vehicle | |
CN116935168B (zh) | 目标检测的方法、装置、计算机设备及存储介质 | |
US11738464B2 (en) | Robotic geometric camera calibration and monitoring alert configuration and testing | |
CN113963322B (zh) | 一种检测模型训练方法、装置及电子设备 | |
US20210094565A1 (en) | Motion-based scene selection for an autonomous vehicle | |
US11897512B2 (en) | Modifying settings of autonomous vehicle sensors based on predicted environmental states | |
KR20230056250A (ko) | 인공지능 기반 차선 손상 상태 평가 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |