通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识。接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发。本章将从树莓派3的开发环境搭建入手,为后续ros开发、slam导航及语音交互算法做准备。本章内容:

1.安装系统ubuntu_mate_16.04

2.安装ros-kinetic

3.装机后一些实用软件安装和系统设置

4.PC端与robot端ROS网络通信

5.Android手机端与robot端ROS网络通信

6.树莓派USB与tty串口号绑定

7.开机自启动ROS节点


6.树莓派USB与tty串口号绑定

底盘、激光雷达、IMU这三个传感器都使用串口与树莓派通信,为了防止每次开机这三个设备的串口号发生变动,需要将串口号进行绑定与重映射。

创建rules文件:

rules文件前的序号越大优先级越小,将优先级设置的小一点;创建文件/etc/udev/rules.d/99-miiboo-usb-serial.rules,文件内容如图28。

(图28)/etc/udev/rules.d/99-miiboo-usb-serial.rules文件内容

确定新插入串口设备的属性:

#将<devpath>替换成新插入串口设备号,如/dev/ttyUSB0
udevadm info -a -p $(udevadm info -q path -n <devpath>)

在输出的数据中从上到下找(如KERNELS=="1-1.4.3:1.0"形式的项),下一个不带“:”的KERNELS就是我们要找的,将下面这些参数

ATTRS{idProduct}

ATTRS{idVendor}

KERNELS

的取值填入上面创建的rules文件中对应的位置,然后在SYMLINK+中给这个设备取一个别名,MODE设为0777。

将底盘、雷达、IMU依次插入树莓派3的USB口,重复执行上面确定新插入串口设备的属性这一步,直到将这3个串口都绑定完成。这里将底盘、雷达、IMU分别ttyUSB*名称分别映射成别名miiboo、lidar、imu,这样在不改变底盘、雷达、IMU插入树莓派3的USB口物理孔位顺序时,不论上电开机后这3个串口被系统分配的ttyUSB*实际是多少,我们都可以用映射好的别名/dev/miiboo、/dev/lidar、/dev/imu来访问底盘、雷达、IMU串口,并且不用担心用户访问权限不足的问题。这里特别说明,miiboo机器人的底盘、雷达、IMU插入树莓派3的USB口物理孔位顺序,如图29,请不要改变这个顺序。

(图29)miiboo机器人的底盘、雷达、IMU插入树莓派3的USB口物理孔位顺序

使绑定设置生效:

重启机器人使绑定设置生效,命令如下。

sudo reboot

机器人重启后通过命令查看绑定是否生效,看到下面的输出就说明绑定成功了,如图30。

(图30)查看绑定是否生效

https://b23.tv/av48918514

https://b23.tv/av49401644

https://www.bilibili.com/video/av61448040

android usb设备节点_(五)树莓派3开发环境搭建——6.树莓派USB与tty串口号绑定...相关推荐

  1. 树莓派slam_SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——6.树莓派USB与tty串口号绑定...

    摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...

  2. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——5.Android手机端与robot端ROS网络通信...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--5.Android手机端与robot端ROS网络通信 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整 ...

  3. agx 安装ros opencv_(五)树莓派3开发环境搭建——5.Android手机端与robot端ROS网络通信...

    通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开发.s ...

  4. linux下usb设备节点名不固定,解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点...

    解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点 2018-09-19 http://blog.sina.com.cn/s/blog_8b58097f0102wx ...

  5. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——2.安装ros-kinetic

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--2.安装ros-kinetic 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式 ...

  6. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--1.安装系统ubuntu_mate_16.04 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认 ...

  7. android学习之路1:前车之鉴之开发环境搭建

    写程序两年有余了,朝九晚五的拼命工作着,却忘记了我们自己最初的梦想,忘却了最开始站在起跑线时的英姿勃发,渐渐的变成了coder,继续coding中. Android学习之路刚刚开始,目前大米属于小白阶 ...

  8. java中的adt安装配置,Android SDK 2.3与Eclipse最新版开发环境搭建

    一.背景和准备 1.Android 简介 Android是谷歌于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...

  9. eclipse android sdk开发环境搭建,Android SDK 2.3与Eclipse最新版开发环境搭建(四)

    五. Eclipse ADT 配置 ADT 的Eclipse Plugin 安装成功之后,开始ADT 的配置,具体如下: 1. Eclipse重启后,选择Window > Preferences ...

最新文章

  1. pdo php分页6,php pdo自动分页类代码与例子
  2. centos7 python3.7 ssl_centos6.8安装python3.7无法import _ssl的解决方法
  3. 多次Jquery引发head.insertBefore( script, head.firstChild );
  4. js下的keyCode.
  5. OSG+VS2013+Win7 环境搭建,osgvs2013
  6. 论文浅尝 | 采用成对编码的图卷积网络用于知识图谱补全
  7. CentOS 7 odoo12 部署
  8. Lync Server 2010标准版系列PART3:证书准备
  9. 中国近红外成像行业市场供需与战略研究报告
  10. Android 音视频深入 十九 使用ijkplayer做个视频播放器(附源码下载)
  11. ubuntu 16.04 安装ftp服务
  12. canvas绘制动态图片
  13. 我的MacOS上的软件
  14. 计算机病毒蓝屏,电脑中病毒造成蓝屏怎么解决
  15. Unity3D ParticleSystem粒子系统
  16. [87] 傻B、牛B、装B的英文用法详解
  17. 哥本哈根大学计算机科学,2020年哥本哈根大学有哪些优势专业
  18. linux arm xenomai,Wiki - Xenomai
  19. 关闭腾讯网迷你版(登录qq后的广告弹窗)
  20. logit模型应用实例_最大似然估计(上)——离散选择模型之十

热门文章

  1. 自助服务台——多渠道触发运维工单
  2. JS数据结构与算法_链表
  3. CMake编译Makefile
  4. mysql表名忽略大小写
  5. Kruskal HDOJ 1233 还是畅通工程
  6. virtualbox不能识别u盘等移动设备
  7. 生成jpg的缩略图并添加水印
  8. python2 python3 中 raw_input input 区别
  9. cve-2018-2628 Weblogic反序列化漏洞实现反弹shell
  10. libuv 高性能事件驱动库 简介