最近需要用ROS控制一个小车底盘,然后发现不会了。。。
所以写一篇博客记录一下,以便以后查阅。
OS:Ubuntu 20.04
ROS:noetic
1. 设置Ubuntu的软件和更新
在搜索框输入software,选择软件和更新一项,勾选 main
、universe
、restricted
和 multiverse
,然后在Downlosd from
选择一个中国的服务器,我选的上海交大的源,然后点 Close
关闭就行了。
2. 添加源
如果网速快,可以直接用官方源,打开terminal输入一下命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
网速慢的话,可以用国内源:
国内源列表
上海交大源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.sjtug.sjtu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
清华源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` 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. 安装ROS
ROS有好几个安装模式,包含的功能有多有少,我选择的完全安装。
sudo apt install ros-noetic-desktop-full
6. 设置环境变量
为了每次启动新terminal,ROS仍能用。
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
7. 安装其他工具和依赖关系
ROS的核心部分已经安装完了,但还有一些构建软件包的依赖关系和工具。
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
8. 初始化rosdep
rosdep可以为要编译的源安装系统依赖性,并且是运行ROS中某些核心组件所必需的。
sudo rosdep init
rosdep update
这一步,由于软件服务器在国外,常常访问超时,解决办法见 ERROR: cannot download default sources list from: 20-default.list. Website may be down.
8. 验证
这样ROS就安装好啦,输入
roscore
如果没有错误,就是安装成功了。
接下来就是创建工作空间和功能包了。
ROS创建工作空间添加包并编译