本页提供了基于Slamware Linux SDK的参考例程源码, 以及例程的用法。
本页内容
运行环境准备
软件平台
- Linux gcc4.9 g++4.9
- RoboStudio(在另一台Windows的PC上,用于显示地图):Robostudio installer
Sample Code:
因例程中涉及到正则表达式的使用,需要使用gcc4.9和g++4.9.
使用更高版本的工具链可能会带来编译异常。
硬件平台
(以下任选其一)
- Slamware SDP mini
- Slamware SDP
- Slamware 套装 (基于Slamware导航方案的用户机器人系统)
- Zeus/Apollo等底盘系统
编译运行
1.下载例程, 默认下载到Downloads文件夹,找到例程后,解压缩同名文件夹,本文档中将解压后的文件夹放在桌面。
2. 解压缩之后可以在解压缩的文件夹里面可以获得如下文件夹:
- linux-x86_64-debug: 包含编译所需头文件以及lib文件
- linux-x86_64-release:编译好的可执行文件会存放在这个文件夹里面
- samples: 示例代码在此文件夹内
- 以及compiler_version.txt, mak_common.inc, mak_def.inc 文件
3. 进入到sample文件夹, make一下makefile
yzx@yzx-Baytrail-Series:~/Desktop/SlamwareApplicationDemos_Linux-x86_64-gcc4.8/samples$ make
4. make后生成的可执行文件路径为~/Desktop/SlamwareApplicationDemos_Linux-x86_64-gcc4.8/linux-x86_64-release/output/
5. 在对应路径下执行对应的可执行文件并传入机器人的IP地址即可(默认为192.168.11.1)
yzx@yzx-Baytrail-Series:~/Desktop/SlamwareApplicationDemos_Linux-x86_64-gcc4.8/linux-x86_64-release/output$ ./moveandpathdemo 192.168.11.1
执行结果
查看sample文件夹内的源文件可知,其包含的源文件由c++编写,对应API的使用说明请详见KBSW180105 SLAMWARE SDK API 参考(Windows),例程中包含的makefile会生成十三个可执行文件(代码描述请详见Windows SDK sample overview(cn)):
1.artifacts_demo:虚拟墙/虚拟轨道的删除,添加与移动。
2.composite_map_demo:对.stcm地图格式的composite map的读写操作。
3.configure_network_demo:分别在AP和STA模式下配置模块的网络。
4.get_battery_status: 获取当前的充电状态,电池电量,是否在充电桩上等信息。
5.get_laser_scan:获取当前雷达的数据,输入角度、距离以及是否有效等信息。
6.get_sensor_value:获取当前所有传感器的类型,安装位置,触发状态等信息。
7.go_home_to_charge:调用goHome()接口来进行自动回充,如果没有找到充电桩或者充电失败,可以考虑重复调用此接口尝试再次对接。
8.move_to_spot:机器人导航运动到目标点(2, 0) ,期间遇到障碍物会自主避障,然后从(2,0) 沿虚拟轨道运动到目标点(0, 0)。
9.recover_localization:在实际位置偏离地图理论位置的情况下,运行该段程序,能够使机器人开始进行重定位动作。若重定位成功,在robostudio界面可以看到,机器人跳到正确位置。
10.robot_health:机器人健康状态的输出和清除。
11.rotation_action_demo:机器人先逆时针转一周,再顺时针转一周,最后转到yaw值为pi的位置。
12.speed_regulation:按照高、中、低三档调节机器的速度。
13.virtual_track_with_oa:画一条机器人当前位置x轴方向正向的,长6米的轨道,然后使用轨道优先模式走到目标点。