先锋机器人学习笔记

    xiaoxiao2021-03-26  35

    1.简介概览

    先锋机器人开发软件:Pioneer SDK

    Pioneer SDK是一系列开发库和应用程序的集合,应用在所有MobileRobots移动机器人平台和可选配件上。标准Pioneer SDK包含:开源库ARIA和ARNetworking,MobileEyes和Mapper3,还有SONARNL(或者ARNL)和MobileSim。

     

    2.主要软件介绍

    ARIA(控制接口库)和ARNetworking(通信接口库)

    ARIA是由Mobilerobots公司开发,用于机器人控制的核心SDK, 它支持C++、Java和Python语言,可以用于控制先锋系列机器人的运动。ARIA还包含一些开发工具,可以用来编写机器人控制软件,也可以进行跨平台开发(Windows and Linux), 比如:网络端口和多线程。先锋机器人的基本软件系统都是以ARIA为基础的。

    ArNetworking库用来实现机器人车载机上运行的软件和客户端应用程序(例如MobileEyes)的通讯功能。通过ArNetworking,用户可以向MobileEyes制定一个个性化的功能和显示窗口。

    ARNetworking提供了MobileRobots和网络通信的TCP/IP协议层。它为客户端—服务器系统完美的处理了最底层的细节,包括串口通讯,命令和服务器命令包处理,时钟周期,多线程,以及多种附件的控制,如激光测距仪、电子罗盘等。ARIA的代码是完全开放的,因此客户可以按照自己的需求修改和扩展。

    定位导航软件(ARNL, SONARNL, MOGS)

    先锋机器人依靠定位导航库(ARNL, SONARNL, MOGS)来实现可靠且高质量的定位导航功能。软件库提供了丰富的函数接口,可以很简单地与用户开发软件互相融合,从而让用户有更多精力专注于机器人其他方面的研究。

     

    ARNL(高精度室内激光定位库)

    ARNL库通过机器人的里程计和激光测距仪可以实现一个已经环境中的精确定位。

    ARNL软件的定位采用了Moute Calo/Makou算法,导航则是使用一种反复修改有效值的栅格计算方法。ARNL库是激光绘图和导航包的一部分,它需要相关绘图工具软件和SICK激光测距仪配合使用(需购买激光定位导航系统)。

     

    SONARNL(室内声纳定位库)

    SONARNL是利用声纳实现机器人自主导航和定位的开发库。在 ARIA 的基本库中加入了针对声纳用户的机器人定位的内容。

    SONARNL 使用 Moute Carlo/ Markovd 定位技术,同时导航则使用反复修正获取的值来靠近通路。这种高级别的软件可以被应用到任意一款机器人中。机器人定位,可能位置及机器人的状态信息都可以由SONARNL 获取。在地图中标定的目标点、存放点、禁止线或其他图标都能在SONARNL中被使用到。许多MobileEyes的特点,包括基本的地图导航都可以在SONARNL中使用 (需购买声纳传感器)。

     

    MOGS(室外GPS定位库)

        MOGS适用于室外导航系统,MOGS库提供室外GPS定位,使用了机器人上的码盘,惯性传感器,和GPS接收器。任何有DGPS的机器人都可以使用,包括Seekur, Seekur Jr和Pioneer 3 AT。

     

    MobileSim(机器人仿真软件)

    MobileSim是基于Player/Stage的开源移动机器人的仿真软件,包含机器人以及周围环境模型,可以加载地图,获取传感器数据信息。用户编写的程序可以先在这个软件上进行测试,然后再上传到机器人车载PC上进行验证。

     

    MobileEyes(远程界面GUI)

    MobileEyes通过ARIA和ArNetworking实现,是一个GUI界面,通过网络,使先锋机器人平台可以进行远程初始化,操作和监视工作。

     

    Mapper3(地图绘制软件)

    Mapper3是地图绘制软件,它可以把激光测距仪获得的信息(有一定的格式,可以用MobileEyes中获得,也可以用SickAutoLogger获得)自动生成地图,也可以让用户自己手动绘制地图,手动绘制的地图。利用Mapper3生成的地图都可以直接加载在MobileSim中。

     

    ACTS(摄像头色彩追踪系统)

    色彩跟踪系统(ACTS)为机器人平台提供了一种简单的基于色彩的目标跟踪功能。通过32个色彩通道和HSV色彩坐标,ACTS可以实现在不同光照条件下对多个目标进行跟踪。软件可以应用在目标识别,人机交互等领域。ACTS的GUI示教窗口也简化了选取、调制色彩跟踪的参数,可以对实时采集到的图片进行此操作,也可直接导入之前保存好的图片。ACTS可以在Windows系统和Linux系统下使用。

     

    3.软件之间关系

    如图所示,ARIA库是整个先锋机器人的控制核心库,负责与底层控制板通信。ARNetworking库负责ARIA库与其他软件的通信,比如远程界面MobileEyes等。ARNL库则负责导航算法和存储地图,得出的点云数据给Mapper3软件处理成地图数据,用于路径规划。

    4.支持的第三方开发库

        先锋机器人还支持其他很多机器人应用开发环境,包括布兰迪斯大学开发的Ayluun,布林茅尔学院和斯沃斯莫尔学院共同开发的Pyro,南加利福尼亚大学开发的Player/Stage,卡内基梅隆大学开发的Carmen, 还有NI的LabView,微软的Microsoft®Robotics Developer Studio和WG的ROS。

     

     

    VS2010编程指导

     

    1.  打开VS2010编译器,新建项目- win32控制台应用程序;

    2.  设置向导里选择空项目;

    3.  项目属性里设为所有配置;

    4.  环境变量配置:

    ·        VC++目录>包含目录>添加:(添加时注意文件名是否与实际匹配!)

    C:\ProgramFiles\MobileRobots\Aria\include

    C:\Program Files\MobileRobots\ARNL\include(按需添加)

    C:\Program Files\MobileRobots\ARIA\ArNetworking\include(按需添加)

     

    ·        VC++目录>库目录>添加:

    C:\ProgramFiles\MobileRobots\Aria\lib;

    C:\Program Files\MobileRobots\ARNL\lib;(按需添加)

    C:\Program Files\MobileRobots\ARIA\ArNetworking\lib;(按需添加)

    ·        链接器>输入>附加依赖项>添加以下静态库(按实际需要添加):(注意若使用VS2015则添加AriaDebugVC12.lib)

    AriaDebugVC10.lib (一般添加这一项就行,与机器人运动有关) 

    ArNetworkingDebugVC10.lib(与TCP/IP相关的函数需要添加此项)

    ArnlDebugVC10.lib(与激光建立连接)

    BaseArnlDebugVC10.lib(与激光建立连接)

    SonArnlDebugVC10.lib(与声呐建立连接)

    ·        将~\ARIA\bin或者~\ARNL\bin文件夹下的相关dll动态链接文件拷到解决方案里(此新建项目的debug文件夹内),或者将生产的可执行文件定位到相关bin文件夹下。

    转载请注明原文地址: https://ju.6miu.com/read-662194.html

    最新回复(0)