android demo程序和windos运行库可在github上获得

乐行天下激光雷达截至到目前阶段(2016/11/12),使用的算法版依然是android系统,这套系统整体说来算是一个不完整的版本,所有的程序升级以及文件配置都需要手动来配置。对于一个刚拿到雷达的开发者而言,雷达配置便是一个比较头疼以及麻烦的事情。然而,在此系统更新前,我们也不得不去适应这样一个系统,做这样一件事情。

本文的初衷就是告诉大家怎么去做和为什么去做这么一件事情,以方便大家对整套流程的理解。

现有最新版本系统(linux系统,还在最后的稳定性测试中),已经支持上位机配置网络,网页上位机,网页升级文件,相信在不久之内就会和大家见面。

准备工作

工具:

  1. 使用adb命令的电脑
  2. 乐行天下的android版本算法版的激光雷达。

因为是android版本算法板,所以要直接操作其内部文件,adb命令算是必不可少的,对于android开发者而言,这就是在普通不过的工具了。对于adb命令我们也不需要过多的去掌握,熟悉四五个命令就足矣。

关于adb命令的使用

在后面的文件更新操作中免不了使用adb命令。至于adb命令的使用,下面简单讲解一下需要用到的命令。

  • 查看android设备 : adb devices
  • 无线连接android设备 : adb connect IP地址
  • 切换到超级用户 : adb root
  • 登陆到android系统 : adb shell
  • 上传文件 : adb push 本地文件 内部路径
  • 下拉文件 : adb pull 内部文件 本地路径

我们后面使用上述命令即可完成文件上传下载操作

说明,无论什么操作,我们都要先执行adb root 确保自己已经处于超级用户模式,这样才能对内部的文件进行操作。也就是说连接上设备之后首先要执行的是adb root.
要说明的是,执行完adb root后系统会断开当前的连接一下,如果使用的是网络连接,那么要重新执行adb connect ip来连接设备。

后续操作都是基于执行过adb root命令后的操作来做的。

wifi配置

如果要使用wifi功能要对wifi进行配置。第一次wifi配置木得办法,只能通过有线方式链接了,配置过程也不麻烦,就是进到系统内执行一个程序就好了。如果你有串口上位机,也可以直接通过串口的方式配置,通过setWifiParam接口配置。
下面我们着重说明使用adb配置方式:

Created with Raphaël 2.1.0 开始 连接设备并获取root权限 执行 adb shell 进入系统 执行 wifi_start.out ssid password 来配置网络 执行 netcfg 查看是否有IP? 结束 yes no

配置好了wifi就可以在手机上使用demo程序与之通讯了。

更新NaviPack程序

NaviPack程序就是运行在算法版上的核心程序,所有的传感器接数据都会输入到此系统中进行处理,然后对外部底盘设备下发运动指令。一个回合的过程大概是这样的。

Created with Raphaël 2.1.0 里程计,超声波等数据 里程计,超声波等数据 底盘 底盘 算法板 算法板 雷达数据 雷达数据 原始数据不断上报 处理后的各种数据不断上报 雷达数据不断上报 数据处理并计算 这是你要执行的动作(v,w)

所以说来,NaviPack程序指整个算法板的核心程序之一。
更新NaviPack程序也有两种方法去更新:

  1. 使用android上位机直接更新,调用sendUpdataFile接口直接发送最新的程序到算法板中。只有收到了“更新成功”的回调输出后才算更新成功,更新成功后需要重启激光雷达。此方法需要更改上位机软件指定NaviPack程序位置。这样的操作需要自己去写上位机软件。提供的demo中并没有去写完整的上传文件过程。
  2. 使用adb命令。直接使用adb push NaviPack /data/shelly_robot即可。方便快捷。

更新配置文件

配置文件是配套NaviPack程序使用的。所谓的配置文件的作用也很容易理解。配置参数嘛。为什么要配置参数,因为各家底盘参数不一样,传感器种类不一样,会直接影响到NaviPack的对数据的处理。比如过一个70cm的洞,直径80的底盘和直径40的底盘的通过方式可能就不会一样的了。

要说明的是,这个配置文件要和NaviPack的文件版本相对应。所谓的相对应就是说同一个git版本的NaviPack程序要对应同一个版本的NaviPackParam.ini文件。为什么这样呢?因为在开发过程中根据需要我们也会实际的调整所需要的传感器种类与参数。对INI文件有或多或少的更改或重命名。如果因为使用的版本不正确,那可能在NaviPack程序中就只能使用默认参数来进行导航避障,出现不能建图,不能正常运动的现象也就不足为奇了。

更新配置文件之前,可以先保存下自己老版本的配置文件。以便回退版本的时候用得到:adb pull /data/shelly_robot/config/NaviPackParam.ini ./ (其中“./”指的是到当前目录下)

配置文件的更新和NaviPack的更新一样,也是上述两种方法,使用adb push方法注意要把NaviPackParam.ini放到/data/shelly_robot/config文件夹下,也就是要执行:adb push NaviPackParam.ini /data/shelly_robot/config

对配置文件的说明,我们将在下一次讨论中说明。

如有疑问可以联系作者:小康
联系邮箱459502076@qq.com


乐行天下激光雷达文件升级及wifi配置(Android系统版本)相关推荐

  1. 乐行天下激光雷达SDK介绍

    激光雷达SDK简介 乐行天下激光雷达提供完善的SDK接口,可以大大减少进行室内定位,自主导航研究的开发周期. 目前SDK提供windows,linux,android三大系统的运行库. 以及windo ...

  2. 乐行天下激光雷达数据口测试

    乐行天下激光雷达各个数据口测试说明,以便于发现和排查问题. 准备工具:乐行天下激光雷达一只,micro usb 线一条,usb转串口模块至少一只. 雷达示意图: 具体电路图我就不去对应了.这里我们约定 ...

  3. miui7+android系统版本,用户升级完MIUI 7之后发现居然是Android 4.4,然后就疯了

    原标题:用户升级完MIUI 7之后发现居然是Android 4.4,然后就疯了 火星文:MIUI 7近日开放下载,很多米粉都升了级.但这次升级也惹怒了部分粉丝,原因是他们发现升级后系统版本仍是Andr ...

  4. git 发布android 系统版本 修改版本型号 查看指定文件的修改记录

    修改系统版本型号 pizza/build/tools/buildinfo.sh ro.build.bootdisplay.id= device/rockchip/rk30sdk/rk30sdk.mk ...

  5. wifi探针Android系统下的实现思路

    原理 WiFi 探针技术是指基于WiFi探测技术来识别AP(无线访问接入点)附近已开启 WiFi 的智能手机或者WiFi终端(笔记本,平板电脑等),无需用户接入WiFi,WiFi探针就能够识别用户的信 ...

  6. 魅蓝s6 android系统版本,魅蓝S6官方公开稳定版固件系统rom升级更新包:Flyme 7.3.0.1A...

    魅蓝S6的公开稳定版包来分享一下了,这个也是官方原版的系统包了,这个原版的系统包是卡刷格式,这个系统包的版本是7.3.0.1A版本的,也是可以进行系统的升级更新用的,这个系统包大小是1.6G,更新内容 ...

  7. 华为p8高配版android系统版本,华为P8的手机系统是什么?能升级安卓5.0吗?

    华为P8的手机系统是什么 华为P8的手机系统是基于谷歌最新的Android 5.0深度定制而成的EMUI 3.1. 华为P8拥有多种拍照模式,包括最有特点的流光快门.女生最喜欢的魅我拍照.超级夜景模式 ...

  8. WIFI 安卓Android系统手机通过USB连接电脑上网

    呵呵,wifi = 无线局域网 Wi-Fi是一种可以将个人电脑.手持设备(如PDA.手机)等终端以无线方式互相连接的技术. Wi-Fi是一个无线网路通信技术的品牌,由Wi-Fi联盟(Wi-Fi All ...

  9. 【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )

    文章目录 一.交叉编译 Shell 脚本参考 二.NDK r16b 版本配置 三.libjpeg-turbo 交叉编译 Shell 脚本 四.执行 libjpeg-turbo 交叉编译 Shell 脚 ...

最新文章

  1. as cast float server sql_Sql Server中Float格式转换字符串varchar方法
  2. 【转】Hadoop集群添加磁盘步骤
  3. 怎么实现事务_你可能知道事务的四大特性,但是不一定知道“事务的实现原理”...
  4. ubuntu mysql自动备份_Ubuntu下mysql数据库自动备份脚本
  5. sigaction函数解析
  6. 如何在ESXi 5.5主机上安装ESXi 5.5客户机
  7. Android 隐藏状态栏,沉浸式状态栏,状态栏背景色,状态栏字体色,透明状态工具类
  8. python拼写_python 拼写检查器
  9. 阿里云获中国互联网网络安全威胁治理联盟特别贡献奖
  10. python html解析_Python HTML解析器
  11. 使用C#,轻松发邮件之QQ邮箱
  12. 阿里巴巴代码扫描插件
  13. java将多个excel合并为一个
  14. 动态二级下拉菜单html,jquery实现漂亮的二级下拉菜单代码
  15. WPS-Word中换行符、回车符删除不掉怎么办?某一个空行删不掉
  16. 大众点评字体_大众点评字体加密
  17. 5G NR 调度、帧结构相关
  18. Git在clone时认证失败后不能重新输入的解决方案
  19. Windows/Linux下C++对于UUID的跨平台封装
  20. 告诉你60个经典的电脑使用技巧

热门文章

  1. 智能摄像头在我们的家居生活中,主要包含哪些利弊?
  2. Ant Design of Vue中a-form-model多行表单对齐和验证
  3. Verilog——半加器详解
  4. 雄智影视直播王 bt
  5. 基于 Springboot 和 Mybatis 的后台管理系统 BootDo | 软件推介
  6. 天水市师院计算机系好吗,天水师范学院专业排名及介绍 哪些专业最好
  7. 1.2 控制LED闪烁
  8. 数据库应用——MySQL集群
  9. 支付平台--清算总的详解
  10. vim插入(insert)模式下的快捷键