Versions Compared

Key

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

综述

Excerpt

SLAMWARE为SLAMTEC推出的,基于RPLIDAR 360°激光雷达的高性能室内定位导航解决方案。

考虑到用户在不同阶段的需要,SLAMTEC将SLAMWARE的集成过程分为3个阶段

阶段说明硬件软件备注
评估在评估阶段,客户主要目的是验证基于SLAMWARE的室内导航定位解决方案是否能够满足客户的使用需求。
  • SLAMWARE SDP Mini
  • SLAMWARE SDP
  • Zeus
SLAMTEC Robot 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解决方案整合到机器人中。
  • SLAMWARE Core
  • Zeus
  • SLAMTEC Robot Studio
  • SLAMWARE SDK
SLAMWARE Core是可以批量订购的导航定位模块产品,采用Mini PCI-E的物理接口和自定义的电气接口。用户可自行设计底盘的主板,集成SLAMWARE Core实现室内定位导航功能。


系统构成

通常情况下,基于SLAMWARE解决方案的机器人主要由3部分组成:

SLAMWARE Core会通过Control Bus和用户的机器人底盘进行连接,同时通过LIDAR Bus和RPLIDAR 进行连接。

这样就构成了基于SLAMWARE解决方案的机器人最小系统。

通常情况下,基于SLAMWARE解决方案的机器人并不是一个孤立的系统,它可能会有一个操作用的Android平板,或者一个移动App用于远程控制。这就要求基于SLAMWARE的机器人必须具备快速的数据访问能力和无线连接能力。

所以SLAMWARE Core内建了一个高速接口:High Speed Bus,它其实是数据传输速度为100Mbps的高速以太网。High Speed Bus为系统内部提供了高速、可靠的连接方式,同时也是SLAMTEC推荐的用于连接SLAMWARE Core和系统的用户界面的数据通路。

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

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

结构集成

将SLAMWARE解决方案集成到机器人中的机械结构方案相对比较简单,请参考如下集成说明:

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

硬件集成

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

使用ZEUS通用服务机器人底盘

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

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

该平台大大简化了服务机器人产品的开发,缩短了产品从设计走向销售的流程和时间。

具体信息,请参考Zeus机器人平台产品页

使用SLAMWARE SDP

为了方便客户使用和集成SLAMWARE解决方案,SLAMTEC还推出了SLAMWARE SDP 系列(Software Development Platform)供用户选择。该系列均为功能基本完备的机器人。

针对不同使用场景的需要,该系列有两个不同的型号:


SLAMWARE SDP MiniSLAMWARE SDP
线稿图




尺寸(最大直径*高度)

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


对于使用SLAMWARE SDP Mini的客户,无需额外进行硬件集成工作,可直接使用。至于基于SLAMWARE SDP Mini中的Breakout自主研发底盘,请参考:

《TODO:基于SLAMWARE Breakout开发自己的机器人底盘》

使用SLAMWARE Breakout

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

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

系统框图

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

集成步骤

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

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

直接集成SLAMWARE Core

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

集成步骤

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

  • 设计电源系统
  • 设计RPLIDAR接口
  • 连接底盘MCU与SLAMWARE Core
  • 连接用户界面与SLAMWARE Core
  • 设计碰撞传感器电路
  • 设计跌落传感器电路
  • 设计超声波传感器电路
  • 设计自动回充电路

固件集成

基于参考固件集成

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

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

基于自有固件集成

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

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

软件集成

Windows

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

  • 32bit或64bit的Windows
  • Visual Studio 2010 with 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,集成步骤如下:

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