新树莓派系统安装ROS记录
树莓派系统更新了,作为版本控的我怎么能忍住不更新系统,为了提高系统的速度,买了张170M的告诉sd卡,我要说的是,这个高速SD卡的钱花的最值得了,千万不要觉得树莓派都买了4,还要什么高速SD卡(自行车)呢,这样想是不对的,谁用谁知道,自从用了高速SD卡,卡顿没有了。切入正题,上篇帖子中用的,这次居然不行了,无语啊。看来看去,还是官网教程最靠谱,就他了,不行再更改吧。
一、前期准备:安装必要的软件的环境了,安装pyqt5-dev pyqt5-dev-tools是为了避免编译catkin工作空间在第64个文件包时出现错误, pyqt5-dev pyqt5-dev-tools
sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential
如果上边的命令出错了,就乖乖的执行下面两条命令:
sudo pip install -U rosdep rosinstall_generator wstool rosinstall
sudo pip install --upgrade setuptools
安装初始化:
sudo rosdep init
rosdep update 二、安装
1、创建catkin工作空间
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
2、安装ros,建议Desktop Install: ROS, rqt, rviz, and robot-generic libraries
rosinstall_generator desktop --rosdistro melodic --deps --tar > melodic-desktop.rosinstall
wstool init -j8 src melodic-desktop.rosinstall
如果执行中有错误:
wstool update -j 4 -t src
3、解决安装依赖的问题:
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
4、编译catkin工作空间
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
如果在这个过程中出现了qt_gui_cpp错误的话,就安装pyqt5-dev和pyqt5-dev-tools两个软件包
sudo apt install pyqt5-dev pyqt5-dev-tools,当然也可以提前安装即可。
source ~/ros_catkin_ws/install_isolated/setup.bash
5、保持源的更新
mv -i melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old
rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
比较新旧的包的升级情况:
diff -u melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old 如果正好需要需要的升级,那么就升级吧:
wstool merge -t src melodic-desktop-full.rosinstall
wstool update -t src 重新编译你的工作空间:
./src/catkin/bin/catkin_make_isolated --install 初始化环境:
source ~/ros_catkin_ws/install_isolated/setup.bash
6、到此就是一个闭合的环节了,安装,升级,还可以一直这么升级下去的。赶紧试试小乌龟,看看能不能动下吧。
无论什么时间出现没有命令之类的错误:执行命令:source ~/ros_catkin_ws/install_isolated/setup.bash基本没有问题
打开一个终端:roscore #运行ros环境
打开一个终端:rosrun turtlesim turtlesim_node #打开小乌龟运行场景
打开一个终端:rosrun turtlesim turtle_teleop_key #使用终端控制箭头可以控制小乌龟了
到此为止,树莓派4b上的ROS可以告一个段落了。
7、接着:创建工作空间
一、source /opt/ros/melodic/setup.bash //环境变量生效
二、mkdir -p ~/catkin_ws/src //建立工作空间
三、cd ~/catkin_ws/src //进入空间源目录
四、catkin_init_workspace //初始化工作空间
五、cd ~/catkin_ws/ //进入工作空间
六、catkin_make //编译工作空间
七、source devel/setup.bash //空间变量生效
八、echo $ROS_PACKAGE_PATH //查看空间变量
九、echo "WORKSPACE=~/catkin_ws" >> ~/.bashrc //让空间变量在所有的终端中都有效
echo "source /WORKSPACE/devel/setup.bash" >> ~/.bashrc
8、然后:创建功能包
一、cd ~/catkin_ws/src/ //进入空间源目录
二、catkin_create_pkg learning_communication std_msgs rospy roscpp //创建功能包,指定包名和包的依赖
三、cd ~/catkin_ws/ && catkin_make //编译工作空间
四、source ~/catkin_ws/devel/setup.bash //空间变量生效
新树莓派系统安装ROS记录的更多相关文章
- 树莓派系统安装(ubuntu版本)无需屏幕
0.前提 所需物品:一个手机.一台电脑.一个树莓派.一张tf卡和一个读卡器.所需软件:Win32DiskImager.putty还需要ubuntu系统镜像源.这些我都放在百度网盘上了链接:https: ...
- XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录
XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录 详细介绍: https://blog.pythonwood.com/2018/04/XUbuntu18.04(Bionic河狸) ...
- Windows7 + Ubuntu双系统安装过程记录
本文为在已安装Windows7系统的前提下安装Ubuntu Kylin 14.10系统的过程以及期间出现的各种问题的记录. Ubuntu系统下载 Ubuntu Kylin中文官方网站:http://w ...
- 树莓派系统安装、HDMI显示
树莓派上可以安装多种操作系统,我们采用的是官方的基于debian的raspbian.系统安装方式见 安装完系统由于我使用的是7寸的HDMI屏,装完系统如果配置不该的话会导致右边有一部分无法显示,所以在 ...
- 树莓派安装ros
之前电脑安装过ros感觉还好,没成想这次在树莓派上安装费老劲了,出现了很多错误,装了卸,卸了装废了半天劲下面将一些安装的错误和问题做个总结方便以后的安装也希望给别人一个参考 ros安装(对照自己的版本 ...
- linux下sendmail邮件系统安装操作记录
电子邮件系统的组成:1)邮件用户代理(Mail User Agent , MUA),MUA是一个邮件系统的客户端程序,它提供了阅读,发送和接受电子邮件的用户接口. 最常用的 MUA 有: linux ...
- 树莓派学习路程No.1 树莓派系统安装与登录 更换软件源 配置wifi
在官网下载raspbian系统镜像,用Win32DiskImager写入TF卡 Image File 选择系统镜像,Device 选择TF卡盘符,Write即可.这样系统就写好了.把内存卡插进树莓派里 ...
- java萌新尝试搭建WordPress记录
问题1:安装好PHP环境没找好mysql路径,导致不能调用数据库模块 解决方案:重装一次,参考链接 https://www.cnblogs.com/yangxia-test/p/4174372.htm ...
- <20180927>新开一篇章记录常用到的IT名词
(一)有些名词在市场化的今天用的很多,和IT的名词重叠和易混淆, 有些缩写根本连外国人都很少用, 国人却用的津津乐道.这篇是专门用来记录的. 1.1 SMB , 这个在IT领域用的很多, 阐述的是 “ ...
随机推荐
- C# Combox控件绑定自定义数据
DataTable dt = new DataTable(); dt.Columns.Add("name"); dt.Columns.A ...
- 【原创】大叔经验分享(85)ssh秘钥之创建和使用
一 创建秘钥 1 Macbook $ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to sa ...
- 开启HSTS让浏览器强制跳转HTTPS访问
开启HSTS让浏览器强制跳转HTTPS访问 来源 https://www.cnblogs.com/luckcs/articles/6944535.html 在网站全站HTTPS后,如果用户手动敲入网站 ...
- 【php socket通讯】php实现http服务
http服务是建立在tcp服务之上的,它是tcp/ip协议的应用,前面我们已经实现了tcp服务,并且使用三种不同的方式连接tcp服务 php中连接tcp服务的三种方式 既然http也是tcp应用层的一 ...
- Go Select使用
原文:https://golangbot.com/pointers/ 作者:Nick Coghlan 译者:Noluye 什么是 select? select 语句用于在多个发送/接收信道操作中进行选 ...
- Array + two points leetcode.18 - 4Sum
题面 Given an array nums of n integers and an integer target, are there elements a, b, c, and d in num ...
- flask的配置项及获取
1 修改/新增配置项的3种方法 # 配置参数的使用方式 # 1. 使用配置文件 # app.config.from_pyfile("config.cfg") # 2. 使用对象配置 ...
- django的信号应用
问题? 比如说我们在操作数据库的时候,要在插入数据之前写入日志,插入完成之后也写入日志,那这个就会用到我们今天的django信号. 也许你会想到,函数装饰器的有这样的功能.其实不用那个,django的 ...
- NORDIC ble RSSI
static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context) { ret_code_t err_code; sw ...
- devops发展历程
第一阶段:只有 Dev ,没有 Ops ,Dev 是全栈工程师 如何理解?最初的时候,产品和业务形态都处于摸索期,业务复杂度不高,访问量不大,软件能够尽快跑起来推向市场是最重要的,所以架构上不设计的很 ...