You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

GetSlamwareLog.mp4


机器人在某些特殊场景下,运行过程中可能会出现非正常行为,在沟通的过程中需要反馈一些数据Log,以便思岚进行数据分析。本文将通过FecthSlamwareLog介绍如何调用Android SDK来一键获取底盘的Log信息,以便分析之用。



本页内容



运行环境准备

  • 软件平台

    • Android Studio 3.1.3
    • Slamware Android SDK: slamware_sdk_android.2.6.0_dev.20180917.tar.gz
    • RoboStudio(用于显示地图):Robostudio installer 
    • 注意

      Slamware 的固件和SDK在2018年9月14日才添加用户获取Log的功能和接口,如有获取Log的需求,请更新至2018年9月14日的版本。

      使用不同版本的Android Studio可能会带来编译异常,请自行下载相关库和修改build.gradle配置文件,本例程基于Slamware Android SDK 2.6.0 进行开发,若想尝试更高的SDK版本,请直接替换工程中的 slamware_sdk_android.jar 和 librpsdk.so 文件。

  • 硬件平台

          (以下任选其一)

      • Slamware SDP mini 
      • Slamware SDP
      • Slamware 套装 (基于Slamware导航方案的用户机器人系统)
      • Zeus/Apollo等底盘系统

编译运行

  1. 打开FecthSlamwareLog工程,检查libs路径下是否有 slamware_sdk_android.jar 文件,以及jinLibs路径下是否有 librpsdk.so 文件,若想尝试其他版本的SDK,请直接将这两个文件替换。



  2. 到 Project Structure --> app --> Dependencies 检查Slamware SDK是否添加到工程中。

  3. 将以下代码段的"192.168.11.1"修改为底盘的IP地址,当WIFI处于Station模式下请将PC与底盘使用Ethenet连接后查看。方法说明:AbstractSlamwarePlatform connect(String host, int port),其中host为底盘IP,port为网络端口号,返回值为底盘的实例对象。

    // connect to the robot.
    String ip = "192.168.11.1";
    int port = 1445;
    Log.i("MyCorePlatform", "start to connect.");
    com.slamtec.slamware.AbstractSlamwarePlatform corePltfm = com.slamtec.slamware.discovery.DeviceManager.connect(ip, port);
  4. Android设备连接底盘发射出的WIFI或连入底盘的同一网络,按下shift + F10 运行,获取Log信息的过程如下。

      

    本例程仅仅用作最简单SDK类和方法的演示,故没有设计Android界面

  5. Robostudio peer log插件显示的Log如下图所示,使用Robostudio 获取查看底盘Log信息的方法请参考 KBSW180156 如何使用robostudio采集分析问题所用数据
  6. Log数据的相关格式请参考Log Samples Of Customer Log.pdf,Android SDK的Log相关的接口说明请参考Slamware-log-customer文档.pdf
  • No labels