从安装到使用一站式问题解决方案大全,话不多说,直接上。
一,准备工作
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*