参考:
1、 Ubuntu18.04安装ROS Melodic
2、https://blog.csdn.net/md521/article/details/90697161
ros学习笔记1——Ubuntu18.04安装ROS Melodic
Ubuntu18.04系统,可以上网。
1. 安装说明在国内,安装ROS任何一个版本,都不需要fq,如果安装过程中出现网络相关的问题,建议更换有线网络或者热点,然后重新执行出错指令。
2. 配置ROS软件源sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
3. 配置密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
4. 更新系统软件源
sudo apt update
5. 安装Melodic
sudo apt install ros-melodic-desktop-full
可以选择安装Melodic不同的版本,不同版本之间,包含的软件包不同,上述指令安装最全的软件包,也是官方推荐版本。
初始化rosdepsudo rosdep init
rosdep update
这个地方容易出现安装失败,
可以参考:https://blog.csdn.net/qq_32705211/article/details/106183278
https://zhuanlan.zhihu.com/p/90203585
再次执行 sudo rosdep init,可能出现如下错误:
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
rosdep update
安装成功的示意图如下:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
这两条指令相当于Windows系统中设置环境变量path,即在终端可以自由使用ROS系统指令,这里强调是系统指令,而不是自己创建的包或者节点,后者是需要使能相应的工作空间,具体可以参考:ROS工作空间。
8. 安装包编译依赖sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
9. 验证安装
输入
rosversion -d
终端输出:
melodic
或者输入:
roscore
输出:
... logging to /home/xxxxx/.ros/log/90677b2e-bdc7-11eb-9eec-b40ededfafa2/roslaunch-xxxxxx-Latitude-5410-4815.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://xxxxxxxxxxxxx-Latitude-5410:35967/
ros_comm version 1.14.11
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.11
NODES
auto-starting new master
process[master]: started with pid [4826]
ROS_MASTER_URI=http://xxxxxxxxxxxx-Latitude-5410:11311/
setting /run_id to 90677b2e-bdc7-11eb-9eec-b40ededfafa2
process[rosout-1]: started with pid [4837]
started core service [/rosout]
小乌龟测试,输入:
rosrun turtlesim turtlesim_node
如果提示:
[ERROR] [1622698626.215344117]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying…
应该检查是不是ros服务没有开启,可以在一个终端运行roscore
开启服务,然后在另外一个终端再运行rosrun turtlesim turtlesim_node
,应该就可以了。
运行成功会弹出一张蓝色小乌龟的图形
大功告成!