简介
SLAMWARE 开发套件包含了方便用户对SLAMWARE模块化自主定位导航解决方案进行评估和早期开发所需的配套工具。用户只需将SLAMWARE核心导航模块固定至其接口扩展板SLAMWARE Breakout上,然后将雷达,电源及电脑连接至扩展板对应接口,即可通过配套的图形工具观察结果并进行软硬件开发。
包含组件
- SLAMWARE模块化自主定位导航解决方案的核心模块(简称SLAMWARE核心模块)
基于RPLIDAR提供实时定位和自主导航功能,同时支持串口和以太网交互导航信息。具体规格信息请参考SLAMWRAE Core数据手册。
用于实现二维平面内一定范围内的360度全方位激光测距扫描,实时产生的所在空间平面点云地图信息可由SLAMWARE核心模块用于实现实时定位和自主导航功能。
SM101 Slamware Kit User Manual
基本用法
模组连接
连接至电脑
将开发套件连接至PC有多种方式,Breakout上设计了通用网口,可直接通过网线将开发套件连接至PC以方便用户进行调试。而基于实际开发应用的需要,该套件同时支持无线连接,分别有 AP模式及Station模式。下面将基于无线连接对如何连接至PC进行介绍。
Expand |
---|
|
此模式下,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.X。 |
Expand |
---|
| Image Removed |
此模式下,SLAMWARE Core本身作为一个WiFi设备,连接到其他的WiFi热点上。同时SLAMWARE Core会自动成为无线网桥,为High Speed Bus上的设备分配IP地址并提供外网访问服务。 您可将SLAMWARE套件配置成Station模式连接外部局域网。具体步骤如下: - 请使用电脑连上SLAMWARE Core的AP
- 使用浏览器打开http://192.168.11.1
- 选择右上角Administration选项
- 选择侧边栏Configurate WiFi选项
- 输入WiFi配置参数并点击Connect
- 在路由器上查看SLAMWARE core已经成功连接至您的WiFi网络
|
Breakout 相关接口介绍
Breakout 特性
Expand |
---|
|
项 | 范围 |
---|
供电电压 | 9V ~24V |
---|
IO 电压 | -0.3V ~3.6V |
---|
工作温度/储藏温度 | -20oC ~+60oC |
---|
|
Expand |
---|
|
符号 | 参数 | 最小值. | 典型值. | 最大值. | 单位 |
---|
VDD | 系统额定工作电压 | 4.75 | 5 | 5.25 | V |
---|
IDD | 系统电流消耗 | - | - | 1000 | mA |
---|
VDD_IO | 数字接口电压范围 | 2.6 | 3.3 | 3.6 | V |
---|
IDD_IO | 数字接口电流消耗 | - | - | TBD | mA |
---|
VDIL | 数字输入低电平 | - | - | 0.2*VDD_IO | V |
---|
VDIH | 数字输入高电平 | 0.8*VDD_IO | - | - | V |
---|
VDOL | 数字输出低电平 | - | - | 0.2*VDD_IO | V |
---|
VDOH | 数字输出高电平 | 0.8*VDD_IO | - | - | V |
---|
ISTANDBY | 电流消耗@关机模式 | - | - | TBD | mA |
---|
|
SM101 Slamware Kit User Manual
Breakout接口及引脚定义
接口编号 | 接口名称 | 说明 |
---|
J8 | 电源接口 | GND VCC 输入电压9-24V,电流1A |
---|
SW1 | 开关接口 | ON表示,OFF表示关机 |
---|
J9 | 网络接口 | RJ45标准8位模块化接口 |
---|
A1 | A1雷达接口 | 详细引脚定义请参考RPLIDAR A1接口引脚定义 |
---|
A2 | A2雷达接口 | 详细引脚定义请参考RPLIDAR A2接口引脚定义 |
---|
J10 | Mini PCI-E接口 | 连接SLAMWARE Core |
---|
J7 | USB接口 | 通过CP2102连接到MCU的TX3和RX3。 |
---|
J1(MOTO) | 电机接口 | 详细引脚定义请参考电机接口引脚定义 |
---|
J3(SONAR) | 超声波接口 | 详细引脚定义请参考超声波传感器接口引脚定义 |
---|
J22 | 红外及碰撞传感器接口 | 详细引脚定义请参考红外及碰撞传感器接口引脚定义 |
---|
J21 | GPIO通用接口 | 详细引脚定义请参考通用接口引脚定义 |
---|
J15 | SWD烧录接口 | 详细引脚定义请参考SWD烧录接口引脚定义 |
---|
SM101 Slamware Kit User Manual
Expand |
---|
title | RPLIDAR A1 接口引脚定义(A1) |
---|
|
编号 | 名字 | 描述 |
---|
1 | VMOTO | RPLIDAR A1电机供电,5V |
---|
2 | LPWM | RPLIDAR A1电机PWM调速信号,高有效 |
---|
3 | GND | RPLIDAR A1 测距核心地线 |
---|
4 | 5V | RPLIDAR A1 测距核心供电 |
---|
5 | RX | RPLIDAR A1 测距核心数据输入 |
---|
6 | TX | RPLIDAR A1 测距核心数据输出 |
---|
7 | GND | RPLIDAR A1 测距核心地线 |
---|
|
Expand |
---|
title | RPLIDAR A2 接口引脚定义(A2) |
---|
|
编号 | 名字 | 描述 |
---|
1 | LPWM | RPLIDAR A2电机PWM调速信号,高有效 |
---|
2 | GND | RPLIDAR A2 测距核心地线 |
---|
3 | TX | RPLIDAR A1 测距核心数据输出 |
---|
4 | RX | RPLIDAR A1 测距核心数据输入 |
---|
5 | VMOTO | RPLIDAR A1电机供电,5V |
---|
SM101 Slamware Kit User Manual
|
Expand |
---|
|
编号 | 丝印名(全称) | GPIO(复用功能) | 描述 |
---|
1 | PWM (MOTO_L_PWM) | PE14 | PWM调速信号 |
---|
2 | PWM (MOTO_R_PWM) | PE13 | PWM调速信号 |
---|
3 | F_EN (MOTO_LF_EN) | PD4 | 正转使能 |
---|
4 | F_EN (MOTO_RF_EN) | PD6 | 正转使能 |
---|
5 | B_EN (MOTO_LB_EN) | PD9 | 反转使能 |
---|
6 | B_EN (MOTO_RB_EN) | PD7 | 反转使能 |
---|
7 | I_MON (MOTO_LI_MONITOR) | PD5 | 电机电流检测 |
---|
8 | I_MON (MOTO_RI_MONITOR) | PC5 | 电机电流检测 |
---|
9 | GND_DET (GND_L_DETECT) | PD1 | 电机抬起检测 |
---|
10 | GND_DET (GND_R_DETECT) | PD10 | 电机抬起检测 |
---|
11 | ENCD (ENCODER_L_SENSOR) | PD3 | 电机编码器输入 |
---|
12 | ENCD (ENCODER_R_SEN SOR) | PD2 | 电机编码器输入 |
---|
13 | GND | GND | 电机地线 |
---|
14 | GND | GND | 电机地线 |
---|
返回顶部
|
Expand |
---|
|
编号 | 丝印名(全称) | GPIO(复用功能) | 描述 |
---|
1 | 5V | 5V | 超声波电源 |
---|
2 | TRIG (SONAR_TRIG1) | PE10 | 控制端 |
---|
3 | ECHO (SONAR_ECHO1) | PE5 | 接收端 |
---|
4 | GND | GND | 地线 |
---|
5 | 5V | 5V | 超声波电源 |
---|
6 | TRIG (SONAR_TRIG2) | PE11 | 控制端 |
---|
7 | ECHO (SONAR_ECHO2) | PE7 | 接收端 |
---|
8 | GND | GND | 地线 |
---|
9 | 5V | 5V | 超声波电源 |
---|
10 | TRIG (SONAR_TRIG3) | PE12 | 控制端 |
---|
11 | ECHO (SONAR_ECHO3) | PE8 | 接收端 |
---|
12 | GND | GND | 地线 |
---|
13 | 5V | 5V | 超声波电源 |
---|
14 | TRIG(SONAR_TRIG) | PE15 | 控制端 |
---|
15 | ECHO (SONAR_ECHO4) | PE9 | 接收端 |
---|
16 | GND | GND | 地线 |
---|
SM101 Slamware Kit User Manual |
Expand |
---|
|
编号 | 丝印名(全称) | GPIO(复用功能) | 描述 |
---|
1 | HOME_IR_R3 | PD14 | 充电桩IR3接收 |
---|
2 | HOME_IR_R2 | PD13 | 充电桩IR2接收 |
---|
3 | HOME_IR_R1 | PD12 | 充电桩IR1接收 |
---|
4 | BOTTOM_IR_R1 | PC2 | IR接收1 |
---|
5 | BOTTOM_IR_R2 | PC1 | IR接收2 |
---|
6 | BOTTOM_IR_R3 | PC4 | IR接收3 |
---|
7 | BOTTOM_IR_R4 | PA4 | IR接收4 |
---|
8 | BOTTOM_IR_EN | PC7 | 防跌落IR使能 |
---|
9 | BUMP_R (BUMP_DETECT_R) | PB13 | 右碰撞接口 |
---|
10 | BUMP_L (BUMP_DETECT_L) | PB5 | 左碰撞接口 |
---|
11 | TX2 (UART2_TX) | PA2 | - |
---|
12 | RX2 (UART2_RX) | PA3 | - |
---|
13 | GND | GND | 地线 |
---|
14 | GND | GND | 地线 |
---|
|
Expand |
---|
|
编号 | 丝印名(全称) | GPIO(复用功能) | 描述 |
---|
1 | PA0 | PA0 | IO/ADC/PWM |
---|
2 | PE4 | PE4 | IO |
---|
3 | PE3 | PE3 | IO |
---|
4 | PE2 | PE2 | IO |
---|
5 | PA6 | PA6 | IO/ADC/PWM |
---|
6 | PB9 | PB9 | IO/PWM |
---|
7 | PB8 | PB8 | IO/PWM |
---|
8 | PC3 | PC3 | IO/ADC |
---|
9 | PB15 | PB15 | IO |
---|
10 | GND | 地线 | 地线 |
---|
|
Expand |
---|
|
编号 | 名字 | 描述 |
---|
1 | VCC_3 | 3.3V电源 |
---|
2 | BOOTO | 单片机boot0 |
---|
|
开发参考
如需基于SLAMWARE SDK进行应用开发,SLAMTEC提供了可支持Windows, Linux, Android等多个操作系统的配套SDK。请参考相关SDK文档了解详情。
固件编译
我们提供了开源参考固件,请至SLAMTEC官网下载SLAMWARE Breakout最新的开源固件。
开源固件基于IAR 7.60开发平台,IAR官网下载7.60或以上版本并安装,使用该开发环境需要License,请自行向IAR购买。
搭建好IAR开发环境后,请打开参考固件目录 firmware\ref_public\base_ref\下的base_ref.eww 工程文件,即可开始固件开发。
用户可以直接在IAR程序中,点击菜单中的Project->Make,来编译工程。如果无其他问题,在目录 firmware\ref_public\base_ref\output\debug\Exe\下将生成固件文件 base_ref.hex,具体的开发过程,请参考IAR及STM32的相关开发文档。
Info |
---|
|
- IAR工具请参考该链接
- ARM STM32F103 相关文档资源请参考该链接
|
固件烧录
如果需要将上述步骤中自行开发的固件base_ref.hex更新到Breakout开发板上,用户需将TTL串口转USB转接线连接至J14的TX和RX脚,GND连接至J15的GND脚,并短接J16。关闭电源,并重新上电。此时,启动STM32的Flash Loader,即可通过串口将新固件烧录到Breakout的STM芯片中。
工具介绍
Expand |
---|
|
SLAMWARE配备有Portal后台管理工具,用户可通过连接至设备的ip查看相关信息并进行相关管理操作。登陆该后台管理工具可参考“连接至PC”小节说明。在其后台管理界面的Status页面可查看模块信息(如SSID,LIDAR型号,设备SN,固件版本等),在Administration 页面可对模块进行一系列操作(如重启模块,更新固件,开启Debug,配置Wifi,SLAMWARE Core诊断等)。 SM101 Slamware Kit User Manual |
参考设计案例(基于HCR平台)
硬件平台
Expand |
---|
|
- SLAMWARE Core
- SLAMWARE Breakout 3.0
- RPLIDAR A2
- HCR家用机器人开源项目平台
- Arduino四路电机驱动板
- 大电流锂聚合电池
- 杜邦线若干
- VCC/GND扩展板(自制)
|
Expand |
---|
|
请参照HCR安装说明书搭建好HCR平台的下面两层,即完成左右电机,万向轮,碰撞传感器和超声波传感器的装配即可。 将Breakout 3.0, 电机驱动板,RPLIDAR A2,锂电池,VCC/GND扩展板分别固定至HCR平台上。
|
Note |
---|
|
注意:雷达在安装时,尽量不要挡住雷达的视野,以免影响雷达的扫描效果。 |
Expand |
---|
|
Breakout 各接口与对应组件间连接如下: Breakout 3.0接口 | 对应连接组件 | 备注 |
---|
J10 | SLAMWARE core | 请注意在Slamware Core上固定好天线 | A2 | RPLIDAR A2 | * | J3 | 超声波 | 将每一组超声波传感器的GND,Trig,ECHO和VCC四个引脚分别用杜邦线连接至Breakout 3.0的J3接口的对应位置(注:J3接口最多可支持4组超声波传感器,如需要支持更多数量的超声波传感器,请通过J21的GPIO接口进行扩展,固件最多可支持8组超声波传感器)。 | J22 | 碰撞传感器 VCC/GND扩展板 | 将每一组碰撞传感器Data引脚分别用杜邦线连接至Breakout 3.0的J22接口的L引脚和R引脚,然后将每组碰撞传感器的GND和VCC引脚连接至VCC/GND扩展板的对应引脚(注:J22接口最多可支持2组碰撞传感器,如需要支持更多数量的碰撞传感器,请通过J21 GPIO接口进行扩展。如本案例增加第三组碰撞传感器时,将该组碰撞传感器的Data引脚连接至J21 GPIO接口的PB8引脚。固件最多可支持8组碰撞传感器)。 | J1 | 电机驱动板 | L列PWM引脚 | 电机驱动板引脚3 | L列B_EN引脚 | 电机驱动板引脚12 | R列PWM引脚 | 电机驱动板引脚4 | R列B_EN引脚 | 电机驱动板引脚11 |
HCR左右轮电机,电机驱动板,VCC/GND扩展板及Breakout 的J1 接口之间的连接如下: HCR电机引脚 | 电机驱动板/扩展板/J1引脚 |
---|
HCR L电机引脚moto-(黑) | L电机驱动板M2- | HCR L电机引脚moto+(红) | L电机驱动板M2+ | HCR L电机引脚 VCC(黄) | VCC/GND扩展板的VCC脚 | HCR L电机引脚 GND(绿) | VCC/GND扩展板的GND脚 | HCR L电机引脚 A(蓝) | 不连接 | HCR L电机引脚 B(橙) | J1接口L列的ENCD脚 | HCR R电机引脚moto-(黑) | R电机驱动板M2- | HCR R电机引脚moto+(红) | R电机驱动板M2+ | HCR R电机引脚 VCC(黄) | VCC/GND扩展板的VCC脚 | HCR R电机引脚 GND(绿) | VCC/GND扩展板的GND脚 | HCR R电机引脚 A(蓝) | 不连接 | HCR R电机引脚 B(橙) | J1接口R列的ENCD脚 |
|
固件配置及烧录
Expand |
---|
|
底盘的固件代码需要修改为适应当前底盘的具体参数,请使用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%之间 设置后,当底盘电量高于此参数时,设备将继续执行之前未完成任务。 |
系统坐标系定义
|
SM101 Slamware Kit User Manual
Expand |
---|
|
- PID控制算法参数调试方法:逐渐从0增大P值和I值,至小车能够快速响应且未开始抖动。此实验平台的参考值为P=1, I =0.2, D=0. 亦可自行设置motor.c中的PID参数达到理想效果。
- 每米脉冲数计算方法:此电机可以输出每转663个脉冲反馈信号,轮子的直径为13CM,计算可以得知每米相当于2.45转,所以每米脉冲数为663 * 2.45 = 1624(motor.h中设置)
|
Expand |
---|
|
请使用TTL串口转USB转接线连接至J14的TX和RX脚,GND连接至J15的GND脚,并短接J16 BOOT0。接线图如下图所示:
然后使用烧录工具(如FlyMcu, 本文档以该工具为例进行介绍)将改好的固件烧入MCU。烧录完毕后请将接线恢复至正常状态。 |
调试及开发
Expand |
---|
|
如需输出调试信息,在配置MCU固件代码时,可连接J7调试输出口至电脑USB,然后使用串口输出工具(如SSCOM工具, 本文以该工具为例进行介绍)查看调试信息。 在底盘代码中加入DBG_OUT(),格式与printf()一致。 No Format |
---|
DBG_OUT("odom %d: %d, %d\r\n", cnt, (int)_lastEncoderTicksDelta[cnt], (int)_lastOdometerSpeedAbs[cnt]) |
连接J7和电脑的COM口,使用串口输出工具查看调试信息。
|
SM101 Slamware Kit User Manual
Expand |
---|
|
- 使用串口线连接底盘Control Bus串口和电脑COM口,如下图所示:
- 使用slamware_console.exe测试底盘状态。
使用该工具来测试底盘的配置信息和所有传感器的状态。另外,可以用此工具的run命令(两轮电机可以用此命令,三轮全向轮需用vrun命令,具体步骤请见slamware_console工具操作指南)来测试电机的工作情况。 详情请参考
|
Expand |
---|
|
- 请使用电脑连上SLAMWARE Core的AP
- 打开Chrome浏览器并在地址栏输入192.168.11.1
选择右上角Administrator后,打开左侧disgnose slamware core,然后选择enable diagnosis
- 判断雷达是否有噪声,碰撞传感器和超声波传感器和实际情况相比,是否状态一致。
观察如下诊断界面并从如下两方面判断各个传感器是否工作正常。
|
SM101 Slamware Kit User Manual
Expand |
---|
title | 使用Robot Studio工具进行控制 |
---|
|
- 使用Slamware windows SDK中bin目录下的robot studio工具连接至HCR平台
- 查看能否成功建图
- 方向控制:点击右侧方向控制图标并点击方向键,查看HCR平台是否能按控制的方向运动
- 设置目标点(紫色十字位置),检测HCR小车(红色箭头位置)是否能沿着绿色的规划路径运动至目标点
|
机械设计
SM101 Slamware Kit User Manual