SLAM学习——SLAMWARE套装用户手册
SLAMWARE 开发套件包含了方便用户对SLAMWARE模块化自主定位导航解决方案进行评估和早期开发所需的配套工具。用户只需将SLAMWARE核心导航模块固定至其接口扩展板SLAMWARE Breakout上,然后将雷达,电源及电脑连接至扩展板对应接口,即可通过配套的图形工具观察结果并进行软硬件开发。
基于RPLIDAR提供实时定位和自主导航功能,同时支持串口和以太网交互导航信息。具体规格信息请参考SLAMWRAE Core数据手册。
SLAMWARE核心模块扩展板,用于提供可直接和A1/A2 雷达,网络,PC,电机及各种传感器等连接通讯的接口,方便用户基于该核心模块进行相关硬件或软件开发。
RPLIDAR A1 或 RPLIDAR A2
用于实现二维平面内一定范围内的360度全方位激光测距扫描,实时产生的所在空间平面点云地图信息可由SLAMWARE核心模块用于实现实时定位和自主导航功能。
将开发套件连接至PC有多种方式,Breakout上设计了通用网口,可直接通过网线将开发套件连接至PC以方便用户进行调试。而基于实际开发应用的需要,该套件同时支持无线连接,分别有 AP模式及Station模式。下面将基于无线连接对如何连接至PC进行介绍。
此模式下,SLAMWARE Core本身作为一个WiFi热点,当用户设备通过Wifi或者有线网络连接该WiFi热点时,会通过DHCP获得一个IP地址,而后通过192.168.11.1来访问设备,此模式为SLAMWARE core出厂的预置模式。
将组件Breakout开关拨动至on,约30秒左右雷达转动表示SLAMWARE 套件启动,通过电脑Wifi 扫描您将看到一个名为SLAMWARE-XXXXXXXXXXXX的SSID,直接连接此SSID即可连上SLAMWARE 套件。自动分配网段为192.168.11.1。
此模式下,SLAMWARE Core本身作为一个WiFI设备,连接到其他的WiFi热点上。同时SLAMWARE Core会自动成为无线网桥,为High Speed Bus上的设备分配IP地址并提供外网访问服务。
您可将SLAMWARE套件配置成Station模式连接外部局域网。具体配置步骤参考下一章节。
如果需要将上述步骤中自行开发的固件base_ref.hex更新到Breakout开发板上,用户需将TTL串口转USB转接线连接至J14的TX和RX脚,GND连接至J15的GND脚,并短接J16。跳线方式如下图所示:
然后重新上电。此时,启动STM32的Flash Loader,即可通过串口将新固件烧录到Breakout的STM芯片中。使用烧录工具(如FlyMcu, 本文档以该工具为例进行介绍)将改好的固件烧入MCU。烧录完毕后请将接线恢复至正常状态。
底盘的固件代码需要修改为适应当前底盘的具体参数,请使用slamware_config_tool.exe工具来自动生成配置文件。打开slamware_config_tool.exe工具后请对如下主要参数进行配置。
所有参数配置完成之后,点击右上角的Export按钮,保存配置文档为binary_config.c, 并放入工程的源代码中。
对象 | 对应参数 | 单位 | 备注 |
---|---|---|---|
Robot | Robot Diameter | m | 请根据设备实际尺寸进行设置。 |
Bumper/ Sonar | x | m | - |
y | m | ||
z | m | ||
Yaw | 度 | ||
LIDAR Installation Pose | x | m | 系统坐标系详情请参考后附示意图 |
y | m | ||
Yaw | 度 | ||
Motion Planning | Side Margin | m | 请根据设备实际情况进行设置。 |
Bump Handle Strategy | - | 可选Default或 Stop | |
Feature | Has IR Tower | - | 勾选表示设备配备有红外灯塔 |
Automatically charging | - | 勾选表示启动自动回充功能。 | |
Battery Level to Go Home | - | 取值于0% 至100%之间 设置后,当底盘电量低于此参数时,设备将自动返回充电座充电。 | |
Battery Level to Resume | - | 取值于0% 至100%之间 设置后,当底盘电量高于此参数时,设备将继续执行之前未完成任务。 |
系统坐标系定义
如需输出调试信息,在配置MCU固件代码时,可连接J7调试输出口至电脑USB,然后使用串口输出工具(如SSCOM工具, 本文以该工具为例进行介绍)查看调试信息。
在底盘代码中加入DBG_OUT(),格式与printf()一致。
DBG_OUT("odom %d: %d, %d\r\n", cnt, (int)_lastEncoderTicksDelta[cnt], (int)_lastOdometerSpeedAbs[cnt])
连接J7和电脑的COM口,使用串口输出工具查看调试信息。
选择右上角Administrator后,打开左侧disgnose slamware core,然后选择enable diagnosis
注意
此时系统会重启。
观察如下诊断界面并从如下两方面判断各个传感器是否工作正常。