Virtual Box+Ubuntu20.04+ROS2 Foxy配置

ROS从最早的正式版本Box Turtle到现在也十几年了。而ROS2出来也挺久了,一直没机会看看。好久也没弄ROS,这几天捣鼓了捣鼓。

目录

1. Virtual Box安装Ubuntu20.04

2. ROS2 Foxyd安装


1. Virtual Box安装Ubuntu20.04

Virtual Box是Oracle公司收购的一款免费且开源的虚拟机软件,而且提供了《Programming Guide and Reference》可供开发人员进行二次开发,主要是提供一些脚本可调用Virtual Box的一些功能。Virtual Box还是挺好用,安装Ubuntu网上也很多教程。目前最新最稳定的Ubuntu版本是20.04,在官网上可以下载到。这里补充几点。安装好后点击设备安装增强功能,这些可以让虚拟机里的系统随窗口大小的变化而变化,而不是固定的分辨率。其次尽量将网络设置成桥接模式,这样虚拟机系统和外面window系统是一个网段,方便使用putty等工具。

2. ROS2 Foxyd安装

一般安装好Ubuntu后需要切换服务器源,不过我发现现在默认本身的也挺快。ROS2的安装按照官网来一般来说是没问题的,但总还是会出现问题,比如一些指令运行出错,gpg没法认证等问题,或者下载慢等。而且这次我发现即便是使用的清华ROS2镜像源也还是没法下载。原因是ros.asc文件所在的网址打不开。

sudo apt install curl gnupg2
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update

 无奈只好再跟着官网提供的脚本继续研究研究,主要卡在第二步的ros.key和ros-archive-keyring.gpg,访问受阻。

############# Step1 ################

locale  # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale  # verify settings

############# Step2 ################
sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg

############# Step3 ################
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

############# Step4 ################
sudo apt install ros-foxy-desktop

后来发现在https://github.com/ros/rosdistro可以下载到这个两个认证文件,于是在Windows上下载后,通过scp传入到虚拟机中(尽量采用管理员模式运行Windows命令)。

 然后再在虚拟机中,运行下面几行,发现都没有换源也能很快下载和安装ros2了,而且速度还可以。

sudo apt-key add ros.asc
sudo cp ros.key /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt update
sudo apt install ros-foxy-desktop

最后在.bashrc文件中加入source /opt/ros/foxy/setup.bash设置好ros2的环境变量,变可开启ROS2之旅了。另附一篇古月居的安装教程《ROS2入门教程——2. Ubuntu20.04安装ROS2 Foxy》。

附一张大家熟知的ROS话题发布与监听例程,祝大家使用愉快。

Enjoy!

### 如何在树莓派3B+ Ubuntu 20.04安装 ROS #### 准备工作 为了成功在树莓派3B+上运行ROS,首先需要准备合适的硬件和软件环境。根据已有资料[^1],推荐使用以下配置: - **硬件**: 树莓派3B+ - **存储介质**: 至少32GB的闪迪内存卡 - **操作系统**: Ubuntu 20.04 Server 或 Desktop 版本 可以按照描述中的方法下载并烧录Ubuntu系统镜像至SD卡中[^3]。 --- #### 下载并烧录 Ubuntu 系统 1. 使用工具如 `balenaEtcher` 将官方发布的 Ubuntu 20.04 镜像写入 SD 卡。 2. 在烧录完成后,在根目录创建一个名为 `ssh` 的空白文件以启用 SSH 功能。 3. 插入 SD 卡到树莓派并启动设备。 --- #### 连接树莓派 通过 XShell 或其他终端工具连接树莓派。如果不知道 IP 地址,可以通过路由器管理页面获取其分配给树莓派的地址。 --- #### 更新系统 执行以下命令确保系统的最新状态: ```bash sudo apt update && sudo apt upgrade -y ``` --- #### 安装 ROS 以下是基于 ROS Noetic (适用于 Ubuntu 20.04) 的安装步骤[^4]: 1. 设置源密钥: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 2. 添加 ROS 密钥: ```bash sudo apt install curl -y curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - ``` 3. 更新包索引: ```bash sudo apt update ``` 4. 安装桌面全功能版(可选)或基础版本: - 如果希望安装完整的 ROS 桌面环境(需 GPU 支持),可以选择此选项: ```bash sudo apt install ros-noetic-desktop-full -y ``` - 若仅需核心库,则选择轻量级版本: ```bash sudo apt install ros-noetic-ros-base -y ``` 5. 初始化 `rosdep` 工具用于依赖项解析: ```bash sudo apt install python3-rosdep -y sudo rosdep init rosdep update ``` 6. 设置环境变量: 编辑 `.bashrc` 文件以便每次登录自动加载 ROS 环境设置: ```bash echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 7. 测试安装是否成功: 启动一个简单的节点测试通信情况: ```bash roscore ``` --- #### 可能遇到的问题及解决办法 - **网络问题**:如果无法访问 ROS 官方仓库,建议切换国内镜像站点,例如清华开源镜像站。 - **空间不足**:由于树莓派资源有限,请提前确认有足够的磁盘容量支持 ROS 和后续项目开发需求。 --- #### 总结 以上是在树莓派3B+上部署 Ubuntu 20.04安装 ROS 的完整过程。尽管存在一些挑战,但遵循上述指导即可顺利完成操作。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值