ROS melodic 报错解决干货

从安装到使用一站式问题解决方案大全,话不多说,直接上。

一,准备工作

1. 配置Ubuntu软件库
首先,对Ubuntu软件库进行设置,选中前5个选项。网址换阿里云

2.更改Ubuntu软件源(我没有做这一步)

sudo gedit /etc/apt/sources.list


# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic main universe restricted multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main universe restricted multiverse #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main universe restricted multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main universe restricted multiverse #Added by software-properties
deb http://security.ubuntu.com/ubuntu/ bionic-security main universe restricted multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main universe restricted multiverse #Added by software-properties

二、正式安装步骤
1.添加ROS软件源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

2.向系统添加秘钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.安装Ros软件包

首先,更新系统软件:
sudo apt update

下载完整版Ros-Melodic软件包
sudo apt install ros-melodic-desktop-full

4.初始化rosdep

sudo apt-get install python-rosdep
sudo rosdep init

*******解决ROS:sudo rosdep init出错常规方法都无效后的解决办法*******

在/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py中顶部直接插入两行代码取消SSL验证
输入命令打开配置文件:


sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py


打开后在合适位置添加以下代码:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

***********如果出现错误:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
————————————————
解决办法,执行如下命令

cd /etc
sudo gedit hosts
在文件末尾添加
151.101.84.133 raw.githubusercontent.com


如果出现错误(我觉得这个错误是我在网上搜解决办法的时候自己手动新建了/etc/ros/rosdep/sources.list.d目录,并且还在这个目录下编辑了20-default.list的相关内容,我通过上面的方法正确解决了之后,产生了相同的文件20-default.list,二者发生冲突。嗯…就是需要删掉以前强制新建的。)
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize
————————————————
解决办法,执行如下命令
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
后再重新运行命令sudo rosdep init,可见就成功解决了!

******************************************************************

5.执行rosdep update更新

解决办法:大概是网络的问题,反复执行rosdep update命令即可

***************新办法**************

sudo apt-get install python3-pip
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update
**********************************

6.设置环境变量:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

7.安装ros-install

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

三、测试安装是否成功

roscore

rosrun turtlesim turtlesim_node

rosrun turtlesim turtle_teleop_key


更新cmake

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -

将存储库添加到您的源列表并进行更新

sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'

sudo apt-get update

然后再使用apt安装就是最新版本的cmake啦

sudo apt install cmake

胡春旭ros源码 踩过的坑:

ROS-Melodic版编译安装ecto遇到的坑

cd your_path/src
git clone http://github.com/plasmodic/ecto.git

sudo apt-get install libboost-python-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev python-setuptools python-gobject python-gtk2 graphviz doxygen python-sphinx


问题二:Could not find the required component 'manipulation_msgs'.

git clone https://github.com/ros-interactive-manipulation/manipulation_msgs.git

问题三:Could not find the required component 'household_objects_database_msgs'.

https://github.com/ros-interactive-manipulation/household_objects_database_msgs

问题四:Could not find the required component 'object_recognition_msgs'

sudo apt-get install ros-melodic-object-recognition-msgs

问题五:Could not find the required component 'moveit_msgs'.

sudo apt install ros-melodic-moveit

问题六:Could not find the required component 'move_base_msgs'.

问题七:/home/gaoyi/ros-data/ros-project/catkin_ws/src/robot_perception/robot_voice/src/linuxrec.c:12:10: fatal error: alsa/asoundlib.h: 没有那个文件或目录
 #include <alsa/asoundlib.h>

sudo apt-get install libasound2-dev


问题八:error: boost/tr1/unordered_map.hpp: 没有那个文件或目录

1,进入到ecto的目录下使用如下命令找到这两个文件
$ grep -r 'tr1'
./src/lib/util.cpp:#include <boost/tr1/unordered_map.hpp>
./src/lib/plasm/impl.hpp:#include <boost/tr1/unordered_map.hpp>
把tr1删除,同时把代码里的std::tr1::unordered_map字段改成boost::unordered_map即可


问题九:/usr/bin/ld: 找不到 -lmsc
sudo apt-get install apt-file
apt-file update
apt-file search libmsc.so

sudo cp /home/gaoyi/ros-data/ros-project/catkin_ws/src/robot_perception/robot_voice/libs/x64/libmsc.so /lib/x86_64-linux-gnu/

Ubuntu安装Kinect驱动(openni、NITE、Sensor)及遇到的问题
可以在我的网盘下载:http://pan.baidu.com/s/1hqHB10w 提取密码:wrmn

OpenNI-Bin-Dev-Linux-x64-v1.5.7.10.tar
NITE-Bin-Linux-x64-v1.5.2.23.tar
SensorKinect093-Bin-Linux-x64-v5.1.2.1

问题十:  TF:ros源码中odom与base_footprint无法建立联系


<node pkg="tf" type="static_transform_publisher" name="odom_to_base_footprint" args="0 0 0 0 0 0 1 odom base_footprint 50" />

问题11:xacro: in-order processing became default in ROS Melodic. You can drop the option.
不需要  --inorder参数


问题12 ERROR: cannot launch node of type [rplidar_ros/rplidarNode]: rplidar_ros

sudo apt-get install ros-melodic-rplidar-ros


问题13  ERROR: cannot launch node of type [robot_pose_ekf/robot_pose_ekf]: robot_pose_ekf

sudo apt-get install ros-melodic-robot_pose_ekf


问题14  raise CachePermissionError('Failed to write cache file: ' + str(e))
rosdep2.core.CachePermissionError: Failed to write cache file: [Errno 13] Permission denied: '/home/gaoy/.ros/rosdep/sources.cache/index'

给.ros赋予读写权限,递归
sudo chmod -R 777 .ros/


问题15 Spawn status: SpawnModel: Entity pushed to spawn queue, but spawn service timed out waiting for entity to appear in simulation under the name mrobot


<sim_time>354 199000000</sim_time> --><sim_time>0 0</sim_time>

问题16 Deprecated: xacro tag 'mrobot_body' w/o 'xacro:' xml namespace prefix (will be forbidden in Noetic)
when processing file: /home/gaoy/ros_project/catkin_uuai/src/robot_mrobot/mrobot_gazebo/urdf/mrobot_with_rplidar.urdf.xacro

增加xacro


问题17:imu报错
sudo apt install ros-melodic-imu-filter-madgwick

service udev reload
service udev restart

问题18:Could not find a package configuration file provided by "unique_id" with
sudo apt-get install ros-melodic-unique-id


问题19:Could not find a package configuration file provided by "yocs_msgs" with
sudo apt-get install ros-melodic-yocs-msgs*

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值