Versions Compared

Key

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

Table of Contents
maxLevel3

...

开发流程简介

Excerpt

SLAMWARE为SLAMTEC推出的,基于RPLIDAR 360°激光雷达的高性能室内定位导航解决方案。以下是一个典型的基于SLAMWARE Core开发机器人底盘的开发过程,该过程分为三个阶段:评估,验证,集成。对于每个阶段里,使用的软件和硬件,都可以在下表中找到详细说明。

...

阶段目标硬件软件备注
评估评估SLAMWARE功能是否符合用户使用需求
  • SLAMWARE SDP Mini
  • SLAMWARE SDP
  • Zeus
SLAMTEC Robo Studio

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

  • SLAMWARE SDP Mini 提供最基础的评估功能,只包含激光雷达、运动机构和里程计,是实现Slam方案的最小系统。

  • SLAMWARE SDP 是针对家用和轻商用机器人的评估平台,除上述传感器外,还配备超声波传感器,碰撞传感器,防跌落传感器、离地检测传感器、卡机检测电阻、基于红外信标的自动回充充电座。

  • ZEUS机器人是针对重商用场合的评估平台,除SDP中的传感器外,还配备了后碰撞传感器、深度摄像头及可选配的控制模块(包含急停按钮、电源开关,系统开关等),它同时集成了大容量锂电池,可为机器人提供非常长的续航时间。(注:ZEUS机器人平台不提供卡机检测和离地检测功能。)
验证验证如何集成SLAMWARE 至已有机器人或者是全新开发的机器人
  • SLAMWARE Breakout
  • SLAMWARE SDP
  • Zeus
  • SLAMTEC Robot Studio
  • SLAMWARE SDK

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

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

集成集成SLAMWARE到机器人中
  • SLAMWARE Core
  • Zeus
  • SLAMTEC Robot Studio
  • 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解决方案集成到机器人中的机械结构方案相对比较简单,请参考如下集成说明:

  • SLAMWARE解决方案结构集成说明

硬件集成

集成SLAMWARE的硬件方案主要由如下几种,用户可以根据实际需要和开发进度选择最适合的方式:

使用SLAMWARE Breakout

SLAMWARE Breakout是针对有自己的机器人底盘客户的一款开发板。它已经集成了底盘的主控制器STM32F103VET6,并将IO口做了分配和定义。好的

Image Removed

可以看到,SLAMWARE Breakout已经集成了机器人底盘的主控制器,并完成了硬件连接,仅需外扩具体的外设即可使能自行设计的底盘。

系统框图

基于Slamware Breakout的机器人的典型框图如下:

Image Removed

集成步骤

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

  • 设计电机驱动电路
  • 设计碰撞传感器电路
  • 设计跌落传感器电路
  • 设计超声波传感器电路
  • 设计自动回充电路
  • 连接用户交互界面与Slamware Breakout

直接集成SLAMWARE Core

由于SLAMWARE Breakout为非批量发货产品,对于客户最终销售的产品,SLAMTEC不建议将SLAMWARE Breakout集成到产品中进行发货,而是直接使用SLAMWARE Core,并设计自己的机器人主板。

...

硬件集成

硬件集成存在两种方式:

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

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

SLAMWARE Breakout简介

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

Image Added


基于Slamware Breakout的集成

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

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

Image Added

直接集成SLAMWARE Core

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

Info

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

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

  • 设计电源系统
  • 设计RPLIDAR接口
  • 连接底盘MCU与SLAMWARE 设计底盘MCU与SLAMWARE Core
  • 连接电机驱动电路
  • 连接碰撞传感器(选装)
  • 连接跌落传感器电路(选装)连接用户界面与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内建了一个高速接口:High Speed Bus,它其实是数据传输速度为100Mbps的高速以太网。High Speed Bus为系统内部提供了高速、可靠的连接方式,同时也是SLAMTEC推荐的用于连接SLAMWARE Core和系统的用户界面的数据通路。

除此之外,SLAMWARE Core还提供了WiFi和BLE连接能力,使其可以实现自动发现、智能配置。

一个最完整的Slamware Core系统如下图所示:

...

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

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

Info

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

使用Slamware SDK控制底盘

Windows

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

...

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

Linux

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

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

...

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

iOS

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

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

Android

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

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

...

总结

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