ROS2安装及使用过程中遇到的问题
ROS2常规的安装流程在网上可以找到,正常安装基本没问题。但是,由于操作系统和后台运行程序的差异,还是会遇到一些问题。我把我在安装过程中遇到的问题记录如下:
1.安装版本的选择
ROS2有多个发行版(ros_distro),目前出来的有Crystal、Bouncy、Ardent。具体多少个,可去ROS2的网站上去查询。
选择安装版本shell命令:
$ export ROS_DISTRO=crystal # or bouncy or ardent
$ sudo apt update
就是同一个发行版,也分桌面版和基础版:
建议安装桌面版,有界面:
$ sudo apt install ros-$ROS_DISTRO-desktop
若安装基础版:
$ sudo apt install ros-$ROS_DISTRO-ros-base
2.ROS2命令不能执行
比如执行一条ros2命令:
$ ros2 run demo_nodes_cpp talker
但shell却提示 ros2: command not found。
这时应该检查环境变量ROS_DISTRO的值是否是对应的ROS2发行版名称:
$ echo $ROS_DISTRO
若不正确则要改正,比如:
$ export ROS_DISTRO=Crystal
接着设置环境变量:
$ source /opt/ros/$ROS_DISTRO/setup.bash
3.colcon命令不能运行
ROSwiki官网推荐了新的软件包编译工具colcon。ROS编译工具目前经历了三个阶段:1. catkin 2. ament 3. colcon。
shell提示"“command not found”,这是因为相应的编译系统还没有安装。使用以下命令进行安装:
sudo apt update && sudo apt install -y \build-essential \cmake \git \python3-colcon-common-extensions \python3-pip \python-rosdep \python3-vcstool \wget
# install some pip packages needed for testing
sudo -H python3 -m pip install -U \argcomplete \flake8 \flake8-blind-except \flake8-builtins \flake8-class-newline \flake8-comprehensions \flake8-deprecated \flake8-docstrings \flake8-import-order \flake8-quotes \pytest-repeat \pytest-rerunfailures
# [Ubuntu 16.04] install extra packages not available or recent enough on Xenial
python3 -m pip install -U \pytest \pytest-cov \pytest-runner \setuptools
# install Fast-RTPS dependencies
sudo apt install --no-install-recommends -y \libasio-dev \libtinyxml2-dev
--------------------- 引用自https://blog.csdn.net/sad490/article/details/81461507
注意命令不要写错字。
4.不能运行gazebo
shell提示:VMware: vmw_ioctl_command error Invalid argument.
这是在虚拟机上运行遇到的问题,解决办法:
$ export SVGA_VGPU10=0
shell运行指令之后即可运行gazebo。
5.环境变量设置
为了能正常使用ROS2中的命令,必须在安装完毕后添加环境变量。
source /opt/ros/crystal/setup.bash
注意,命令中的crystal是ROS2的发行版名称,应根据自己安装的版本选择正确的名称。
6.ROS 2 软件包
ROS2 中有很多功能包(也可以理解为插件包),若是没有这些功能包,很多ROS2程序可能就无法编译、运行。所以,我们必须要安装这些功能包。
可以一个个安装,如安装3D显示功能包:
sudo apt-get install ros-crystal-rviz
也可以全部安装,用如下shell命令:
sudo apt install 'apt list ros-crystal-* 2> /dev/null | grep "/" | awk -F/ '{print $1}' | grep -v -e ros-crystal-ros1-bridge -e ros-crystal-turtlebot2- | tr "\n" " "'
建议全部安装,因为后面开发会用到很多ROS 2自带的功能包。
7.不能安装应用程序
在Ubuntu中,有时候运用sudo apt-get install xxx 安装软件时,会出现下面的情况:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
这是因为有apt还在运行,解决办法是查找所有apt相关的进程,然后用命令杀死。
~$ ps afx|grep apt3284 pts/0 S+ 0:00 \_ grep --color=auto apt2869 ? Ss 0:00 /bin/sh /usr/lib/apt/apt.systemd.daily install2873 ? S 0:00 \_ /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install
~$ sudo kill -9 2873
~$ sudo kill -9 2869
8.功能包不能识别
明明是已经通过 ros2 pkg create创建好的包,但运行时shell提示找不到包:
这可能是因为我们在创建包时,只是在功能包的目录下source了局部环境变量:
source ./install/setup.bash
这样产生的环境变量只是暂时生效,如果关闭shell或系统,该环境变量失效,必须重新source一次。
若是还遇到其他问题,百度一下。
给出两个ROS2安装指导链接:
①http://www.guyuehome.com/2309
②https://blog.csdn.net/sad490/article/details/81460395#comments
转载于:https://www.cnblogs.com/tuxinbang/p/10705419.html
ROS2安装及使用过程中遇到的问题相关推荐
- Cordova安装与配置过程中出现的问题及解决办法
最近在学习jQuery Mobile,在配置环境的过程中,遇到了一些问题,看百度这方面的资料挺少的,就自己总结一下了 1,在安装Cordova CLI过程中,提示出错,基本上是网速的问题,多安装几遍就 ...
- # Windows下关于安装Geany编辑器过程中的一点小发现(可能对初次安装的人有用)
首先,我们在安装geany的过程中需要先搜索进入geany的官网 http://geany.org/ 进入之后我们需要找到我们需要的版本(此处默认以最新版为例) 先从菜单栏处的Download进入Re ...
- Msc.Marc安装和使用过程中遇到证书错误——处理办法
Msc.Marc安装和使用过程中遇到证书错误--处理办法 1:确定电脑的license安装正确,需要把C盘license中的host改为你的主机名,然后设置一下环境变量. 右击"我的电脑&q ...
- 探讨:在Mac新系统下安装新版XAMPP过程中遇到到的坑以及解决办法
探讨:在Mac新系统下安装新版XAMPP过程中遇到到的坑以及解决办法 简介 XAMPP安装 XAMPP 是个啥? 安装XAMPP 新版问题:IP地址访问不再是localhost 操作问题:apache ...
- [Yar] yar安装与使用过程中遇到问题总结
yar安装与使用过程中遇到问题总结 Yar 简介 官方文档 yar安装 yar运行时的默认配置 yar常量 使用范例 遇到的问题 应用流程 Yar 简介 Yar 是一个轻量级, 高效的RPC框架, 它 ...
- 安装vue-devtools的过程中遇到问题,以及最后解决问题正确安装
我在安装vue-devtools的过程中遇到的问题 所参照的安装教程:https://blog.csdn.net/cx_carol/article/details/106874788 (按照这个教程安 ...
- 安装mysql5.7出现问题_本地安装Mysql5.7过程中出现的一系列问题
个人安装过程中出现的问题 出现找不到data文件夹的情况 主要是因为路径写的不对,例如配置文件中的变量 basedir=G:\software\mysql\mysql-5.7.28-winx64 应该 ...
- 第一次安装Intellij IDEA过程中遇到的坑
本人今天一整天都在解决idea的问题,过程虽然很痛苦,但是结果相当美好.接下来一一叙述今天遇到的问题. 下载idea社区版:如果你是有工作经验的开发人员,那么,这个社区版用着相当痛苦,里面有好多插件都 ...
- 【转】Postman系列一:Postman安装及使用过程中遇到的问题
一:Postman的简介.下载安装及界面说明 1.Postman的简单介绍 Postman是一款强大的网页调试和发送网页HTTP请求的工具,Postman让开发和测试人员做API(接口)测试变得更加简 ...
- as安装过程中gradle_在安装钢结构平台过程中需要注意哪些事项?
钢制平台货架是在厂房面积有限的情况下采用货架作为阁楼支撑,并可以设计多层(通常2-3层)的存储货架,阁楼可以采用楼梯或者液压升降平台做为登高设施,利用金属专用楼板作为楼层区分,每层可以放置不同物品的货 ...
最新文章
- 【二十一】基于mysqli的表格数据练习
- c4android 免root,C4Android中4.1.0版本不支持new命令,哪个版本支
- Cracer渗透视频课程学习笔记——基础知识(1)
- 783. 二叉搜索树节点最小距离
- 三十、开始前端Vue.js的学习之路
- 对象变为指定格式的数组
- RTMP协议中文翻译(首发)(转)
- php 回到顶部,jquery如何实现点击网页回到顶部效果?(图文+视频)
- php aes 3des区别,AES和3DES之间的区别
- 阿里资深技术专家崮德:8 个影响我职业生涯的重要技能
- java消费rabbitMQ队列消息
- java_web用户的自动登录模块的实现
- C语言学习及项目开发所遇问题总集(一)---Mr.Zhang
- 微软将于下周展示平板电脑操作系统
- 硬盘在计算机的内部结构,33.硬盘篇-认识机械硬盘上的固件和内部结构-电脑自学网...
- 北京时间校准 服务器 显示器 标准,纯干货~北京时间校准显示器实用分享
- 启明云端分享|IDO-SOM3568:可用于轻量级人工智能应用
- Python 淘宝系列(三): 模拟登陆成功后获取购物车信息
- mbedtls | 09 - 数字签名算法的配置与使用(RSA数字签名算法、ECDSA数字签名算法)
- Qt:Qt Widgets
热门文章
- Android自定义 view之图片裁剪从设计到实现
- android通用对话框,android-所有活动中的“通用”对话框
- php英文书籍在线,php英语四级在线练习系统
- java中enum怎么用_java 中enum的使用方法详解
- 在 Flink 算子中使用多线程如何保证不丢数据?
- Android Multimedia框架总结(二十七)MediaCodec回顾
- 最牛逼android上的图表库MpChart(三) 条形图
- 使用VideoView实现简单视频播放器
- win7重启mysql服务器_Win7系统下怎么重启iis服务?
- python excel 教程推荐_Python学习教程:从Excel到Python最常用的32个P