本页提供了基于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米的轨道,然后使用轨道优先模式走到目标点。

   

  • No labels