Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.




Excerpt

本页面介绍了如何将SLAMWARE解决方案集成到客户的机器人系统。



本页内容

Table of Contents
maxLevel3


开发流程简介

SLAMWARE为SLAMTEC推出的,基于RPLIDAR 360°激光雷达的高性能室内定位导航解决方案。以下是一个典型的基于SLAMWARE Core开发机器人底盘的开发过程,该过程分为三个阶段:评估,验证,集成


Panel
borderStyledashed
title评估阶段

目标

评估SLAMWARE功能是否符合用户使用需求

硬件

  • SLAMWARE SDP Mini
  • SLAMWARE SDP
  • Zeus

软件

  • SLAMTEC RoboStudio

说明

根据传感器数量和评估设备性能强弱的不同,当前评估选择可分为如下几种:

  • SLAMWARE SDP Mini 提供最基础的评估功能,只包含激光雷达、运动机构和里程计,是实现Slam方案的最小系统。
  • SLAMWARE SDP 是针对家用和轻商用机器人的评估平台,除上述传感器外,还配备超声波传感器,碰撞传感器,防跌落传感器、离地检测传感器、卡机检测电阻、基于红外信标的自动回充充电座。
  • ZEUS机器人是针对重商用场合的评估平台,除SDP中的传感器外,还配备了后碰撞传感器、深度摄像头及可选配的控制模块(包含急停按钮、电源开关,系统开关等),它同时集成了大容量锂电池,可为机器人提供非常长的续航时间。(注:ZEUS机器人平台不提供卡机检测和离地检测功能。)



Panel
borderStyledashed
title验证阶段

目标

验证如何集成SLAMWARE 至已有机器人或者是全新开发的机器人

硬件

  • SLAMWARE Breakout
  • SLAMWARE SDP
  • Zeus

软件

  • SLAMTEC RoboStudio
  • SLAMWARE SDK

说明

SLAMWARE Breakout是一块最小系统开发板。其内部集成了一枚STM32F103VET6处理器作为底盘的主控MCU,且各种外设IO口已分别引出方便集成。

同时针对该块开发板,SLAMTEC提供了参考固件方便集成和开发。







Panel
borderStyledashed
title集成阶段

目标

集成SLAMWARE到机器人

硬件

  • SLAMWARE Core
  • Zeus

软件

  • SLAMTEC RoboStudio
  • SLAMWARE SDK

说明

SLAMWARE Core是可以批量订购的导航定位模块产品,采用Mini PCI-E的物理接口和自定义的电气接口。用户可自行设计底盘的主板,集成SLAMWARE Core实现室内定位导航功能。








使用SLAMWARE SDP评估

SLAMWARE SDP系列方便客户快速评估SLAMWARE解决方案的性能,同时提供了一个基础平台,可以实现客户原型系统的验证。该系列现有两个不同的型号,两种型号均无需额外进行硬件集成工作,开机后结合Robo Studio软件即可直接体验Slamware方案的性能。


SLAMWARE SDP MiniSLAMWARE SDP
线稿图




尺寸(最大直径*高度)

185mm * 100mm400mm * 230 mm
重量约0.85kg约5.1kg
传感器
  • RPLIDAR 360° 激光雷达
  • 里程计
  • RPLIDAR 360°激光雷达
  • 里程计
  • 超声波传感器
  • 防跌落传感器
  • 碰撞传感器
  • 离地检测传感器
  • 充电座红外线传感器
  • 卡机检测电阻
优势
  • 小巧轻便
  • 使用干电池或镍氢充电电池充电,可以带上飞机,可托运
  • 快递可以发空运
  • 功能完善
  • 具有更好的工作效果
  • 具有上层甲板,可以扩展应用
劣势
  • 传感器比较有限,对实际的工作场景要求较高
  • 体积较大,重量较重,不方便携带
  • 使用锂电池供电,只能随身带上飞机,不能托运
  • 快递只能发陆运
适用场合
  • 初步评估
  • 软件调试
  • 将Breakout拆出后,基于该Breakout开发自己的底盘
  • 完整功能评估
  • 软件调试
  • 集成机器人上层UI联合调试

使用ZEUS机器人底盘评估

ZEUS是SLAMTEC推出的一款通用服务机器人平台,它集成了SLAMWARE定位导航解决方案,并集成了大量在商用环境中需要具备的结构和功能:

  • 电源管理
  • 行走机构
  • 自动回充
  • 超声波传感器
  • 防跌落传感器
  • 深度摄像头

该平台大大简化了服务机器人产品的开发,缩短了产品从设计走向销售的流程和时间。具体信息,请参考Zeus机器人平台产品页


系统结构概述

一般来说,机器人可以分成底盘部分和应用层部分。底盘部分主要完成运动,避障等功能,此部分功能较为通用;应用层部分完成业务逻辑,例如语音识别目标点,人脸识别等等,此部分与最终部署场景的业务紧密相关。Slamware解决方案也分成了两个部分,Slamware Core和Slamware SDK。Slamware Core是一块算法硬件模块,位于机器人底盘部分,实现的建立地图,自主导航,实时定位,自动避障,自主回充等功能;Slamware SDK是一组软件库,工作在应用层,提供了相应的接口可以让客户控制底盘,例如移动到指定目标点,获得建立地图,获得当前定位等功能。现在Slamware SDK支持四种主流的应用平台:Windows,Linux,Android,iOS。下面分别对底盘部分和应用层部分集成Slamware解决方案进一步说明。



底盘部分

基于SLAMWARE解决方案的机器人底盘主要由3个部分组成(如下图):激光雷达(RPLIDAR),Slamware Core模块,其他底盘部分(包括底盘控制MCU,传感器,电机控制器等等)。SLAMWARE Core通过Control Bus与底盘控制MCU连接,同时通过LIDAR Bus和激光雷达 进行连接。这是基于SLAMWARE解决方案的机器人最小系统。

Info

雷达是连接在Slamware Core上的,不是通过机器人底盘MCU再连接到Slamware Core

硬件集成

硬件集成存在两种方式:

  • 基于Slamware Breakout评估板的集成,
  • 直接集成Slamware Core。
Info

推荐在量产产品中使用第二种方式集成,基于Slamware Breakout评估板的集成方式仅适用于原型机或是早期演示用机。因为Breakout评估板仅用于评估验证目的使用,其未经过量产级别的相关测试和认证。

SLAMWARE Breakout简介

SLAMWARE Breakout是一款用于快速评估Slamware Core的开发板,它包含了一颗底盘控制器MCU--STM32F103VET6,并将IO口做了分配和定义(见下图)。通过将SLAMWARE Breakout与底盘外设(如传感器,电机驱动器等)连接,即可快速实现一个机器人底盘的硬件原型。


基于Slamware Breakout的集成

基于Slamware Breakout的机器人底盘的型框图如下所示。其主要的集成工作是将Breakout评估板与各种外设连接并控制器工作,具体外设使用客户可根据自身实际需求来决定集成的外设。

  • 连接电机驱动电路
  • 连接碰撞传感器(选装)
  • 连接跌落传感器电路(选装)
  • 连接超声波传感器电路(选装)
  • 连接自动回充电路(选装)

直接集成SLAMWARE Core

直接集成Slamware Core,需要选择一款底盘控制MCU(如Breakout 上的STM32F103VET6)。该MCU与Slamware Core通过Control Bus进行通信,此外,还会控制电机的运动,采集传感器信息并发送给Slamware Core。客户可以参考

Info

该MCU和Slamwre Core会保持持续的通信,一旦通信连接断开,Slamware Core在等待一定时间超时后,即认为底盘工作异常,从而停止工作。

以下的集成内容并非所有的项目都是必须的,客户可以根据自身实际需求来决定集成的外设。

  • 设计电源系统
  • 设计RPLIDAR接口
  • 设计底盘MCU与SLAMWARE Core
  • 连接电机驱动电路
  • 连接碰撞传感器(选装)
  • 连接跌落传感器电路(选装)
  • 连接超声波传感器电路(选装)
  • 连接自动回充电路(选装)

结构集成

根据集成方式的选择,需要选择不同的结构固定。Slamware Core模块的机械尺寸及接口尺寸参见数据手册。Breakout评估板的机械尺寸参见数据手册。

固件集成

基于参考固件集成

SLAMTEC提供了一份采用IAR编译器和STM32F103VET6的参考固件,便于客户开发自己的机器人底盘固件。客户可以根据机器人实际状况选择部分外设进行集成,集成步骤如下:

  • 机器人配置
  • 实现电源管理相关的功能
  • 实现运动控制相关的功能
  • 实现超声波传感器的功能
  • 实现碰撞传感器的功能
  • 实现自动回充相关的功能
  • 实现Polling Command机制(底盘向SLAMWARE Core发送指令)
  • 实现Event Notification机制(SLAMWARE Core通知底盘工作状态)
  • 实现健康管理功能
Info

IAR版本应为7.6或以上

基于自有固件集成

对于已经有自有底盘和固件体系的客户,也可以通过自己实现Control Bus Protocol的方式来集成SLAMWARE解决方案:

  • 实现Control Bus协议
  • 机器人配置
  • 实现电源管理相关的功能
  • 实现运动控制相关的功能
  • 实现超声波传感器的功能
  • 实现碰撞传感器的功能
  • 实现自动回充相关的功能
  • 实现Polling Command机制(底盘向SLAMWARE Core发送指令)
  • 实现Event Notification机制(SLAMWARE Core通知底盘工作状态)
  • 实现健康管理功能

应用层部分

应用层与底盘的通信连接

应用层部分控制底盘部分需要通过一个高速接口,以便实现大数据量,低延迟,高可靠的传输。SLAMWARE Core使用100Mbps有线以太网实现数据传输,有时,此以太网接口也被称为High Speed Bus。

除了有线以太网接口之外,为了方便研发调试需要,Slamware Core也包含了一个Wifi接口,使得移动设备可以接入,其功能与有线以太网完全一致,但是可靠性较低,如果外部无线网络环境较恶劣,或者距离较远,此网络连接可能中断。

Info

推荐使用有线网络连接应用层和底盘。针对Android设备网络连接仅能使用一个网卡的问题,可以参考此解决方案

使用Slamware SDK控制底盘

Windows

Windows的用户,我们提供了Windows 32bit的SDK。在Windows上进行集成,有如下的要求:

  • 32bit或64bit的Windows
  • Visual Studio 2010 with SP1(必须使用此版本VS)SP1(必须使用此版本)
  • 采用32位编译

SLAMWARE Windows SDK支持4种不同的编译方式:

  • 动态连接 Debug
  • 静态连接 Debug
  • 动态连接 Release
  • 静态连接 Release

在集成的过程中,主要有如下的步骤

  • 编译环境搭建
  • 连接、连接管理与自动重连
  • 本地数据缓存
  • 地图和坐标显示
  • 机器人运动控制

Linux

Linux的用户,我们支持如下几种不同的平台和编译器版本:

  • armv7hf (带硬件浮点能力的armv7指令集)
  • i386(32位x86指令集)
  • x86_64(64位x86指令集)

编译器版本:

  • gcc 4.6
  • gcc 4.8

集成步骤如下:

  • 编译环境搭建
  • 连接、连接管理与自动重连
  • 本地数据缓存
  • 地图坐标系定义
  • 机器人运动控制

iOS

对于使用iOS的用户,我们提供了原生的Objective-C接口的SDK,集成步骤如下:

  • 编译环境搭建
  • 连接、连接管理与自动重连
  • 本地数据缓存
  • 地图坐标系定义
  • 机器人运动控制

Android

对于使用Android的客户,我们提供了原生的Java接口的SDK,集成步骤如下:

  • 编译环境搭建
  • 连接、连接管理与自动重连
  • 本地数据缓存
  • 地图坐标系定义
  • 机器人运动控制

总结

以上就是集成Slamware Core所涉及的主要工作,具体集成过程中的问题,可以参见相关的应用笔记和数据手册。