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

摘要

通过前面一系列的铺垫,相信大家对整个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节点

2.安装ros-kinetic

安装好系统ubuntu-mate-16.04后,就可以安装对于我们机器人开发非常重要的ROS系统了,根据ubuntu的版本与ROS行版本之间的对于关系,这里我们安装ros-kinetic这个发行版。

2.1.连接wifi网络

由于安装需要通过网络在线进行,所以需要先连接上wifi,在桌面右上角找到wifi样式的图标,在下拉栏中选择[Edit Connections…],如图13。

(图13)编辑网络连接

在弹出来的窗口中,点击[Add]来添加我们的网络连接,并选择[Wi-Fi]连接类型,最后点击[Create…]来创建,如图14。

(图14)创建网络连接

在网络连接的配置窗口中,首先设置[General]参数,为了让系统开机自启动后能自动连接该网络,勾选前两项,如图15。

(图15)网络连接General参数

然后设置[Wi-Fi]参数,SSID栏填入自己家wifi的名字(我家的wifi名字叫error),Mode栏选择Client,Device栏下拉填入自己的无线网卡号,如图16。

(图16)网络连接Wi-Fi参数

然后设置[Wi-Fi Security]参数,Security栏填入自己家wifi的加密方式(一般的加密方式都是WPA&WPA2 Personal),Password栏填入wifi的连接密码,最后点击[save]保存设置好的参数,如图17。

(图17)网络连接Wi-Fi Security参数

最后找到[Enable Networking]选项,去掉选项前面的勾,然后再勾上,让网络配置生效;稍等片刻,我们配置的wifi连接error将自动连接上,这样就连接网络完成了,如图18。

(图18)重启网络使网路配置生效

为了让机器人启动后,我们能通过网络远程访问,这里建议大家在树莓派上设置成静态IP分配,首先打开命令行终端用ifconfig查看一下当前分配给树莓派的IP地址,将这个IP地址绑定成静态IP,这样可以保证该IP不会与其他设备发生IP冲突,如图19。

(图19)查看IP地址

然后,对上面创建的网络连接的[IPv4 Settings]参数进行设置,Method栏选择Manual,Addresses栏填入静态IP参数(静态IP设为192.168.0.117,子网掩码设为255.255.255.0,网关设为192.168.0.1),DNS servers栏填入192.168.0.1,最后保存就行了,只需要重启网络静态IP就设好了,如图20。

(图20)设置静态IP

2.2.安装ros-kinetic

其实在ubuntu上安装ROS,有很详细的ROS官方教程,感兴趣的朋友可以直接参考官方教程kinetic/Installation/Ubuntu - ROS Wiki。由于官方教程用英文书写,为了方便大家阅读,我将官方教程翻译过来,方便大家学习,下面正式进入安装。温馨提醒,由于不同的编辑器对过长的句子换行的规则不同,下面的命令被自动换行后可能影响正常的阅读,请直接参阅官方教程中的命令kinetic/Installation/Ubuntu - ROS Wiki。

(1)设置ubuntu的sources.list

打开命令行终端,输入如下命令:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

(2)设置keys

打开命令行终端,输入如下命令:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

(3)安装ros-kinetic-desktop-full完整版

打开命令行终端,分别输入如下两条命令:

sudo apt-get updatesudo apt-get install ros-kinetic-desktop-full

小技巧,如果安装过程提示“下载错误”,请耐心重试上面的两条命令,这个错误多半是由于网络故障造成的。

(4)初始化rosdep

打开命令行终端,分别输入如下两条命令:

sudo rosdep initrosdep update

(5)配置环境变量

打开命令行终端,分别输入如下两条命令:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrcsource ~/.bashrc

(6)安装rosinstall

打开命令行终端,输入如下命令:

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

(7)测试ros安装成功与否

打开命令行终端,输入如下命令:

roscore

如果此时出现以下内容

setting /run_id to 4cb2a932-06c0-11e9-9ff2-000c2985f3ab
process[rosout-1]: started with pid [38686]
started core service [/rosout]

那么恭喜你,ROS已经成功的安装上了!!!

后记

如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加QQ技术交流群(117698356)

参考文献

[1] 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

下载更多资料:www.xiihoo.com

QQ技术讨论群: 117698356

B站视频教程:https://space.bilibili.com/66815220

Github源码:https://github.com/xiihoo/Books_Robot_SLAM_Navigation

Gitee源码(国内访问速度快):https://gitee.com/xiihoo-robot/Books_Robot_SLAM_Navigation

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

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

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

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

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

  3. SLAM导航机器人零基础实战系列:(三)感知与大脑——5.机器人大脑嵌入式主板性能对比...

    SLAM导航机器人零基础实战系列:(三)感知与大脑--5.机器人大脑嵌入式主板性能对比 摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由 ...

  4. SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图...

    SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航--2.google-cartographer机器人SLAM建图 摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在 ...

  5. SLAM导航机器人零基础实战系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    SLAM导航机器人零基础实战系列:(一)Linux基础--2.安装Linux发行版ubuntu系统 摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以 ...

  6. SLAM导航机器人零基础实战系列:(四)差分底盘设计——2.stm32主控软件设计

    SLAM导航机器人零基础实战系列:(四)差分底盘设计--2.stm32主控软件设计 摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买 ...

  7. SLAM导航机器人零基础实战系列:(四)差分底盘设计——5.底盘PID控制参数整定

    SLAM导航机器人零基础实战系列:(四)差分底盘设计--5.底盘PID控制参数整定 摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买 ...

  8. SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航——1.在机器人上使用传感器...

    SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航--1.在机器人上使用传感器 摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣 ...

  9. SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航——4.多目标点导航及任务调度...

    SLAM导航机器人零基础实战系列:(六)SLAM建图与自主避障导航--4.多目标点导航及任务调度 摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐 ...

最新文章

  1. Python基本数据类型之列表
  2. D - Yet Another Problem On a Subsequence CodeForces - 1000D (DP,组合数学)
  3. PHP添加php-java-brideg模块(ubuntu环境)
  4. html5 webrtc fir 请求关键帧_中信建投官网强调认可我们的投资理念的股民朋友请求 CTRL D 收藏、锁定本直播地址...
  5. Android编译系统简要介绍和学习计划
  6. java中redis存储map集合_使用RedisTemplate存储Map集合的一点注意
  7. IDC简报:6月份国外最佳虚拟主机提供商Top5
  8. [管理]《高绩效人士的五项管理》 -- 李践
  9. MySQL的事务处理
  10. Java中递归复制多级文件夹(IO流)
  11. 三菱PLC连接威纶通触摸屏
  12. Bootstrap的Modal模态框取消时有多重阴影
  13. 高中数学竞赛与自主招生内部练习试题<二>
  14. dataframe类型数据的遍历_pandas中遍历dataframe的每一个元素
  15. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.21
  16. 计算机怎么让隐藏的文件夹不能搜索,电脑怎么巧妙隐藏文件夹让人找不到?隐藏电脑文件方法教程...
  17. 完美二叉树、满二叉树、完全二叉树
  18. Ansys workbench分析应用基础(2)
  19. ASP.NET与.NET Framework和C#的关系
  20. useEffect五个经典问题实践总结

热门文章

  1. MySQL binlog存储格式笔记
  2. Hyper-V (window 10 家庭版安装 Hyper-V)
  3. C++(11):通过is_same检查类型,decay退化类型
  4. 麻雀算法SSA,优化VMD,适应度函数为最小包络熵,包含MATLAB源代码,直接复制粘贴!
  5. MATLAB之function函数
  6. 怎么理解卡卷会员接口
  7. 安全测试涉及的测试对象有哪些?
  8. 《CCNA学习指南:Cisco网络设备互连(ICND2)(第4版)》——1.1节理解VLAN 和VLAN Trunk 及排除相关故障...
  9. excel显著性检验_《如何利用Excel对所得数据进行显著性分析?》 excel怎么做方差齐性检验...
  10. 【龙讯module小课堂】“光”怪陆离:PWmat计算光学性质(三)