目录
一、安装UBuntu20.04
1. 访问Ubuntu 20.04.6 LTS (Focal Fossa)来下载ISO镜像
2. 使用下载的ISO镜像
等待系统安装完成
3. 安装VirtualBox Guest Additions、设置中文显示、在 VirtualBox 中设置共享剪贴板和共享文件夹的步骤可参考:工具链的安装
二、安装扩展插件
安装扩展插件的好处如下:
-
USB 2.0 和 USB 3.0 设备支持:这是最重要的功能!没有它,你的虚拟机只能识别速度很慢的 USB 1.1 设备。想把摄像头、U盘、手机等高速设备连接到虚拟机,就必须安装它。
-
磁盘镜像加密:可以对你的虚拟硬盘进行加密,提高安全性。
-
主机摄像头穿透:允许虚拟机直接使用你电脑上的摄像头。
-
VirtualBox 远程桌面协议 (VRDP):允许你通过远程桌面连接来访问虚拟机
1. 点击左上角“帮助-》关于VirtualBox”
看Virual Box的版本,我这里的是7.1.10
访问Downloads – Oracle VirtualBox,点击下载扩展包
双击下载的扩展包
点击安装
三、安装ROS(Noetic版本)
3.1 将当前账户设置为管理员
Ctrl+Alt+F3,登录root账号
执行如下指令
sudo usermod -aG sudo chaochao
通过“sudo reboot”重启一下。
重启后按Ctrl+Alt+T打开终端窗口,执行“sudo apt update”来查看sudo指令是否有效。
3.2 设置安装源
1. 确认“软件和更新”中如下4个选项是已勾选的
2. 点击“下载自:”右侧下拉框,然后点击“其它”
这里选择最佳服务器
点击“选择服务器”
3.3 设置Key
下载并转换密钥格式,直接存放到指定位置:
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
1. 输入如下指令安装curl
sudo apt update
sudo apt install curl
2. 输入如下指令添加秘钥
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
3.4 安装ROS
安装
执行如下命令开始安装 (安装时间比较长,请耐心等待)
sudo apt install ros-noetic-desktop-full
无法定位软件包错误(没报错可跳过)
若执行执行“udo apt install ros-noetic-desktop-full”后显示“E: 无法定位软件包 ros-noetic-desktop-full”之类的错误。我们需要确认包含 ROS 软件源信息的文件是正确的
cat /etc/apt/sources.list.d/ros-latest.list
如果内容不正确,请修复它。直接用下面的命令覆盖掉错误的文件:
sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
修复后,必须再次运行 sudo apt update,然后再尝试安装。在终端中执行以下命令,重新添加密钥:
sudo apt install curl # 确保 curl 已安装
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
添加密钥后,必须再次运行 sudo apt update,然后再尝试安装
配置环境变量
1. 将 ROS 环境设置脚本添加到 .bashrc 文件中。
(.bashrc 是一个特殊的文件,每次你打开新的终端时,它里面的命令都会被自动执行)
在终端中运行以下命令:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
2. 让当前终端立即生效。
上一步的设置只对新打开的终端有效。为了让你当前的终端也能使用 ROS,执行以下命令:
source ~/.bashrc
卸载(跳过)
sudo apt-get remove ros-noetic-*
安装构建依赖
1. 首先安装构建依赖的相关工具包括:
- python3-rosdep:ROS 包依赖管理工具
- python3-rosinstall:快速下载 ROS 包源码的工具
- python3-rosinstall-generator:生成 rosinstall 文件的工具
- python3-wstool:管理 ROS 工作空间的命令行工具
- build-essential:编译 C/C++ 代码的基础工具集(如 gcc、make)
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
2. 初始化rosdep
sudo rosdep init # 初始化 ROS 依赖映射数据库,创建必要的配置文件(需管理员权限)。
rosdep update # 从官方源更新 ROS 依赖包的映射规则,确保后续安装时能正确解析依赖关系。
如果安装顺利的话如下:
如果执行“rosdep update”失败,可以使用如下命令来安装rosdep
wget http://fishros.com/install -O fishros && . fishros
安装rosdep后再执行
sudo rosdep init
rosdep update
验证
如何确定 ROS 真的装好了呢?可以跑一下 ROS 的核心进程 roscore 来测试。如果安装成功,你会看到很多信息开始滚动,最后会停在 started core service [/rosout] 这一行,并且没有报错。这表示 ROS Master (核心主节点) 已经成功运行了。
不要关闭这个正在运行 roscore 的终端。打开一个新的终端,在新终端里,输入以下命令查看当前活跃的 ROS 话题,如果能看到 /rosout 和 /rosout_agg 这两个话题,那就说明你的 ROS 环境已经完全准备好了。
rostopic list
在启动roscore的情况下,我们还可以输入“rosrun turtlesim turtlesim_node”会看到一个标题为 “TurtleSim” 的小窗口弹出,里面有一只蓝色的小海龟
此时再打开一个终端输入“rosrun turtlesim turtle_teleop_key”,就可以用键盘控制海龟移动了。
参考文档:https://wiki.ros.org/noetic/Installation/Ubuntu