系列文章目录

  • Turtlebot3-burger入门教程#foxy版#-目录
  • Turtlebot3-burger入门教程#foxy版#-硬件清单
  • Turtlebot3-burger入门教程#foxy版#-软件清单
  • Turtlebot3-burger入门教程#foxy版#-PC安装
  • Turtlebot3-burger入门教程#foxy版#-树莓派4安装
  • Turtlebot3-burger入门教程#foxy版#-OpenCR安装
  • Turtlebot3-burger入门教程#foxy版#-网络设置
  • Turtlebot3-burger入门教程#foxy版#-雷达测试
  • Turtlebot3-burger入门教程#foxy版#-键盘控制
  • Turtlebot3-burger入门教程#foxy版#-cartographer建图
  • Turtlebot3-burger入门教程#foxy版#-slam toolbox建图
  • Turtlebot3-burger入门教程#foxy版#-自主导航

说明:

  • 本教程介绍如何在在树莓派4上安装对应的系统和软件
  • 测试环境: 树莓派4B 2G + Ubuntu MATE 20.04 + ROS2 Foxy Fitzroy

相关设备

  • TB3套件:采购地址

前提说明

  • 对于在创客智造上购买的foxy版系统的tb3是已经配置好系统,不需要重复安装配置

  • 若是创客智造上购买的默认是Noetic系统的tb3且想要切换到Foxy环境,则需要进行环境切换

  • [Remote PC] 若当前需要从Noetic切换到Foxy环境,需要将文档末端的两项环境变量全部注释,保存退出关闭此终端

$ vim ~/.bashrc#source ~/tools/environment/noetic/setRosNoeticEnvironment.sh
#source ~/tools/environment/foxy/setRos2FoxyEnvironment.sh$ exit
  • [Remote PC] 打开新终端,将文档末端Foxy的环境变量的注释标志去掉,再保存退出
$ vim ~/.bashrc#source ~/tools/environment/noetic/setRosNoeticEnvironment.sh
source ~/tools/environment/foxy/setRos2FoxyEnvironment.sh$ source ~/.bashrc && rosversion -d
foxy

系统安装

  • 树莓派入门教程-系统-树莓派4安装ubuntu mate 20.04 LTS

增加交换空间

  • [TurtleBot] 创建一个交换空间且赋予权限
$ sudo fallocate -l 1G /swapfile
$ sudo chmod 600 /swapfile
  • [TurtleBot] 使用mkswap命令设置Linux的交换空间
$ sudo mkswap /swapfile
  • [TurtleBot] 启用该交换空间
$ sudo swapon /swapfile
  • [TurtleBot] 设置开机挂载
$ sudo vim /etc/fstab
//将下面这句话添加到文件末
/swapfile swap swap defaults 0 0
  • [TurtleBot] 查看是否分配交换空间
$ sudo free -htotal        used        free      shared  buff/cache   available
Mem:       912M         75M        254M        3.0M        582M        819M
Swap:      1.0G         35M        988M

ROS2 Foxy Fitzroy安装

  • [TurtleBot] apt安装
# 设置编码
$ locale  # check for UTF-8
$ sudo apt update && sudo apt install locales
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ locale  # verify settings# 添加key
$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg# ros2源
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null# 安装ros2
$ sudo apt update
$ sudo apt install ros-foxy-desktop# 设置环境
$ echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
  • [TurtleBot] 测试
# 新终端,订阅话题
$ ros2 run demo_nodes_py listener
[INFO] [1634527167.275393800] [listener]: I heard: [Hello World: 1]
[INFO] [1634527168.204285069] [listener]: I heard: [Hello World: 2]
[INFO] [1634527169.204316087] [listener]: I heard: [Hello World: 3]# 新终端,发布话题
$ ros2 run demo_nodes_cpp talker
[INFO] [1634527098.551044682] [talker]: Publishing: 'Hello World: 1'
[INFO] [1634527099.550897311] [talker]: Publishing: 'Hello World: 2'
[INFO] [1634527100.550894548] [talker]: Publishing: 'Hello World: 3'

安装TurtleBot3及相关依赖包

  • [TurtleBot] 安装相关依赖包
$ sudo apt install -y python3-argcomplete python3-colcon-common-extensions python3-vcstool git
$ sudo apt-get install ros-foxy-gazebo-* ros-foxy-cartographer ros-foxy-cartographer-ros \ros-foxy-nav2-bringup ros-foxy-navigation2 ros-foxy-slam-toolbox
  • [TurtleBot] 安装TurtleBot3包
$ mkdir -p ~/turtlebot3_ws2/src
$ cd ~/turtlebot3_ws2/src/
$ git clone -b foxy-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
$ git clone -b foxy-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone -b foxy-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
$ git clone -b foxy-devel https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git
$ cd ~/turtlebot3_ws2
$ colcon build --symlink-install
$ echo 'source ~/turtlebot3_ws2/install/setup.bash' >> ~/.bashrc
$ source ~/.bashrc
  • [TurtleBot] 环境配置
$ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
$ echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
$ source ~/.bashrc

Turtlebot3-burger入门教程#foxy版#-树莓派4安装相关推荐

  1. 零基础 Amazon Web Services (AWS) 入门教程图文版(三)

    原则上WDCP安装好了,就可以直接使用了,FTP.MySQL什么的应有尽有.但是本站Amazon AWS -- 免费的午餐不好吃一文中说到过这个问题,直接用WDCP的MySQL会导致EBS的I/O急剧 ...

  2. 零基础 Amazon Web Services (AWS) 入门教程图文版(四)

    自上一篇之后,5天过去了,这篇文章总算是挤出来了... 其实看不看无所谓啦,都说了WDCP非常适合小白,随便折腾.要是折腾的时候遇到什么问题,欢迎留言探讨~ 五.新建站点 登录WDCP后台,首次登录会 ...

  3. 零基础 Amazon Web Services (AWS) 入门教程图文版(二)

    上一篇讲到,主机正常运转了.但是此时如果直接访问公网IP是打不开网页的,因为主机上没有搭建Web服务器环境,防火墙也没有开放80端口,并且我们没有上传任何网页文件.所以这一篇主要介绍服务器环境的搭建. ...

  4. 零基础 Amazon Web Services (AWS) 入门教程图文版(一)

    现在小站唯一的流量都靠AWS这个关键词了,刚好要用AWS重新建站,所以从头开始记录一遍吧. 所谓零基础,就是你可以没有任何AWS使用经历,仍然能够按照教程操作下去.所谓图文版,就是建议手机用户在没有连 ...

  5. Charles网络抓包新手入门教程-(二)软件配置与环境安装(ios14-IOS系统安装配置)

    目录 一.环境配置 二.开启电脑代理设置 三.给IPhone手机设置代理服务器 四.Iphone手机下载并信任证书 五.Charles抓取手机数据包 六.总结 一.环境配置 1.Win10系统 2.C ...

  6. 微信公众平台开发入门教程[2019版]

    关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公 ...

  7. 微信公众平台开发入门教程[2020版]

    在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见左侧 ...

  8. python入门教程傻瓜版_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!...

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

  9. Home Assistant入门1-1:在树莓派上安装官方系统

    Home Assistant OS在树莓派上安装的教程 写在前面 因为做毕业设计设计到智能家居,想用Home Assistant去做一个只能家居的整合,同时也可以把家里的智能家居的整合一下,方便家里人 ...

  10. [转]【Unity3D入门教程】Unity3D简介、安装和程序发布

    <Unity3D入门教程>会带领零基础的初学者,一步步学会使用Unity3D来开发简单的应用程序,走近游戏开发的世界.本系列教程虽然不会面面俱到地深入到全部的知识点,但是会涉及到所有入门阶 ...

最新文章

  1. Word2vec之CBOW模型和Skip-gram模型形象解释
  2. android radiobutton底部导航,android中Fragment+RadioButton实现底部导航栏
  3. iOS CoreData (二) 版本升级和数据库迁移
  4. 别再白瞎去花钱购买高精度卫星地图,一文教你解决精度与下载问题
  5. 字节码增强之Javassist
  6. php位运算符与逻辑运算_php 或_php 逻辑运算符和
  7. 手把手教你快速掌握 ABD调试工具+19条常用命令
  8. “24岁,一门手艺,年入百万”:真正厉害的人,都做到了这4件事
  9. JavaScript对象类型的详解
  10. python怎么来算面积_python面积求法
  11. 《一个人的朝圣》读后感
  12. IDEA常用快捷键(四)--查找文件、查找类
  13. ViewPager.setOffscreenPageLimit
  14. 基于以太坊ICO的安全合约架构
  15. fast-reid中的sbs
  16. 5款非常好用的设计工具,推荐第一款在线设计工具
  17. RabbitMQ五种工作模式
  18. QQ客服 与陌生人临时对话
  19. c语言control函数,C语言05-ControlFl.ppt
  20. 运筹学——运输问题数学模型

热门文章

  1. BJDCTF_2nd PWN复盘
  2. editplus的php插件,editplus的各式插件
  3. Nippon Computer Dynamics:MC MIRI和Reo Fujii将出演“COW”宣传片
  4. 云南省计算机云教室,“云教室”落户云南祥云这个小山村
  5. Android8.0以上,打开uiautomatorviewer.bat,报错Unexpected error while obtaining Ul hierarchy
  6. python中quadratic什么意思_quadratic是什么意思_quadratic的翻译_音标_读音_用法_例句_爱词霸在线词典...
  7. JavaScript实现贪吃蛇小游戏
  8. SAP中发票校验凭证与取消发票校验凭证的对应关系查询
  9. 用Multisim13.0进行混频器的仿真
  10. 单片机常用芯片总结(一)——LCD1602液晶屏