win10VMware里Ubuntu20.04安装ROS及测试
参考视频:https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=17&spm_id_from=pageDriver
参考文档:http://www.autolabor.com.cn/book/ROSTutorials/
安装ubuntu
首先下载 Ubuntu 的镜像文件,链接如下:http://mirrors.aliyun.com/ubuntu-releases/20.04/;
按部就班安装,配置好网络,设置好语言
最好还能安装vmware扩展工具:https://www.cnblogs.com/caiyishuai/p/14992933.html
安装 ROS
1.配置ubuntu的软件和更新
配置ubuntu的软件和更新,允许安装不经认证的软件。
首先打开“软件和更新”对话框,具体可以在 Ubuntu 搜索按钮中搜索。
打开后按照下图进行配置(确保勾选了"restricted", "universe," 和 "multiverse.")
2.设置安装源
官方默认安装源:
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.tuna.tsinghua.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.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
PS:
- 回车后,可能需要输入管理员密码
- 建议使用国内资源,安装速度更快。
3.设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
4.安装
首先需要更新 apt(以前是 apt-get, 官方建议使用 apt 而非 apt-get),apt 是用于从互联网仓库搜索、安装、升级、卸载软件或操作系统的工具。
sudo apt update
等待...
然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-Full、Desktop、ROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
sudo apt install ros-noetic-desktop-full
等待......(比较耗时)
友情提示: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
# 下载aptitude sudo apt-get install aptitude # 执行 要先选no,再选yes。下载时间较为漫长。 sudo aptitude install ros-noetic-desktop-full
5.配置环境变量
配置环境变量,方便在任意 终端中使用 ROS。
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc
卸载
如果需要卸载ROS可以调用如下命令:
sudo apt remove ros-noetic-*
注意: 在 ROS 版本 noetic 中无需构建软件包的依赖关系,没有rosdep
的相关安装与配置。
测试 ROS
ROS 内置了一些小程序,可以通过运行这些小程序以检测 ROS 环境是否可以正常运行
-
首先启动三个命令行(ctrl + alt + T)
-
命令行1键入:roscore
-
命令行2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)
-
命令行3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)
最终结果如下所示: