ROS 学习系列 -- 树莓派编译安装完整版本ROS

树莓派安装完整的ROS并不容易,博主东方赤龙花费了数天总结了安装编译的经验,否则很容易走弯路。

ROS官方论坛里面有安装教程, 但是很容易出错。尤其是Desktop版的ROS!


1. 安装环

树莓派B+,  ROS Indigo, 16G TF卡,Raspbian OS


2. 安装装备

2.1 准备ROS代码仓库

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu wheezy main" > /etc/apt/sources.list.d/ros-latest.list'
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -

确保Raspbian OS 已经更新

sudo apt-get update
sudo apt-get upgrade

2.2 安装 bootstrap 依赖

sudo apt-get install python-setuptools
sudo easy_install pip
sudo pip install -U rosdep rosinstall_generator wstool rosinstall

2.3 初始化 rosdep

sudo rosdep init
rosdep update

3. 编译ROS

3.1 创建workspace来编译ROS

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws

接下来下载ROS代码,ROS 提供了两个代码包

1)ROS-Comm: 这是官方推荐的,但只包含基本的ROS通讯功能,没有navigation, TF, action, RViz等 GUI 工具

2) Desktop: 完整的ROS 功能,适合所有机器人应用。我们选择安装这个。


下面的命令下载并生产编译package列表,会很花时间

rosinstall_generator desktop --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-desktop-wet.rosinstall
wstool init -j8 src indigo-desktop-wet.rosinstall

如果中途下载中断,下面的命令会接着下载:

wstool update -j 4 -t src

3.2 解决依赖

libconsole-bridge-dev, liburdfdom-headers-dev, liburdfdom-dev, liblz4-dev, 和 collada-dom-dev 这五个包并不在Raspbian里面,需要手工编译下载

创建新目录下载这5个包

<span style="font-size:18px;">mkdir ~/ros_catkin_ws/external_src
sudo apt-get install checkinstall cmake</span>

安装libconsole-bridge-dev:

<span style="font-size:18px;">cd ~/ros_catkin_ws/external_src
sudo apt-get install libboost-system-dev libboost-thread-dev
git clone https://github.com/ros/console_bridge.git
cd console_bridge
cmake .
sudo checkinstall make install</span>
当checkinstall询问是否改变安装选项时,选择[2],将名字从"console-bridge" 改为 "libconsole-bridge-dev"

接下来的两个问题连续选择'n', 否则会编译出错


安装liblz4-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ wget http://archive.raspbian.org/raspbian/pool/main/l/lz4/liblz4-1_0.0~r122-2_armhf.deb
$ wget http://archive.raspbian.org/raspbian/pool/main/l/lz4/liblz4-dev_0.0~r122-2_armhf.deb
$ sudo dpkg -i liblz4-1_0.0~r122-2_armhf.deb liblz4-dev_0.0~r122-2_armhf.deb</span>


安装liburdfdom-headers-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ git clone https://github.com/ros/urdfdom_headers.git
$ cd urdfdom_headers
$ cmake .
$ sudo checkinstall make install</span>

当checkinstall询问是否改变安装选项时,选择[2],将名字从"urdfdom-headers" 改为 "liburdfdom-headers-dev"

接下来的两个问题连续选择'n', 否则会编译出错


安装liburdfdom-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ sudo apt-get install libboost-test-dev libtinyxml-dev
$ git clone https://github.com/ros/urdfdom.git
$ cd urdfdom
$ cmake .
$ sudo checkinstall make install</span>

当checkinstall询问是否改变安装选项时,选择[2],将名字从"urdfdom" 改为 "liburdfdom-dev"

接下来的两个问题连续选择'n', 否则会编译出错


安装collada-dom-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ sudo apt-get install libboost-filesystem-dev libxml2-dev
$ wget http://downloads.sourceforge.net/project/collada-dom/Collada%20DOM/Collada%20DOM%202.4/collada-dom-2.4.0.tgz
$ tar -xzf collada-dom-2.4.0.tgz
$ cd collada-dom-2.4.0
$ cmake .
$ sudo checkinstall make install</span>
当checkinstall询问是否改变安装选项时,选择[2],将名字从"collada-dom" 改为 "collada-dom-dev"

接下来的两个问题连续选择'n', 否则会编译出错


3.3 通过rosdep解决依赖

<span style="font-size:18px;">$ cd ~/ros_catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:wheezy</span>
上面命令会便利所有的package并递归安装依赖

3.4 开始编译ROS

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo


常见错误:

编译过程中会编译180多个package并同时安装在/opt/ros/indigo目录,经常会报出 'urdf' 'collada_parser‘ ’collada_urdf' 这几个包出错而中断安装。 解决办法就是将这三个包从目录 ~/ros_catkin_ws/src/robot_model 目录中移出,再重新编译整个ROS. 最后单独建立一个workspace,将三个包放到src/robot_model 目录中。 再执行下面命令:

sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

如果仍然报错,则需要重新一个一个安装 步骤3.2中的 liburdfdom-dev,liblz4-dev, 和 collada-dom-dev 包,每安装一个重新编译一遍,成功编译的包可以删除,直到最后都编译成功。

版权声明:本文为博主原创文章,未经博主允许不得转载。

<think>好的,我需要帮助用户在树莓派上的Ubuntu 24.04系统安装ROS2 Jazzy。首先,我得确认用户的具体情况。根据用户提供的引用内容,用户使用的是树莓派4B或5,安装了Ubuntu 24.04 LTS服务器版,可能需要图形桌面和远程桌面支持,特别是为了运行机器人算法和ROS。 首先,安装ROS2 Jazzy的前提条件是系统版本。Ubuntu 24.04对应ROS2 Jazzy,所以正确。接下来,确保系统已更新,这是标准步骤,避免依赖问题。用户可能已经做了这一步,但还是要包括在教程中。 然后,添加ROS2的APT源。这里需要注意正确的GPG密钥和软件源地址。用户可能对Linux命令不太熟悉,所以步骤要详细,包括curl和add-apt-repository的使用安装ROS基座包是关键步骤。用户可能需要完整版,但也要提到其他变体,比如桌面版,特别是如果用户需要图形工具如RViz。但引用[2]提到用户可能需要安装图形桌面,所以可能需要安装ros-jazzy-desktop,但根据ROS2的包结构,可能需要确认正确的包名是否存在。 设置环境变量是必要的,通常通过sourcing setup文件实现。这里需要明确说明如何添加到bashrc中,确保每次终端启动时自动加载。 验证安装部分需要简单命令,比如运行talker/listener示例,或者查看版本信息。如果用户遇到问题,可能需要检查安装步骤是否正确,或者依赖是否缺失。 另外,用户提到可能需要图形桌面和远程桌面。Ubuntu服务器版默认没有桌面环境,所以可能需要指导安装Ubuntu Desktop或轻量级桌面如Xfce,以及配置远程桌面工具如xrdp或VNC。这部分可能需要额外步骤,但用户的问题主要是安装ROS,所以可能需要分步骤,先装ROS,再处理桌面环境。 用户可能遇到的常见问题包括网络配置问题(如引用[3]提到的SSH连接问题),可能需要确保树莓派的网络连接稳定,或者正确配置静态IP。此外,安装过程中可能出现依赖错误,需要正确添加源和更新缓存。 最后,生成相关问题时,要涵盖用户可能感兴趣的后续步骤,比如性能优化、具体应用案例,以及可能遇到的常见错误解决方法。这些问题应该围绕安装后的配置和使用展开,帮助用户深入使用ROS2进行开发。</think>### 在树莓派 Ubuntu 24.04 上安装 ROS2 Jazzy 的步骤 #### 1. 系统准备 - **更新系统** 确保系统为最新版本: ```bash sudo apt update && sudo apt upgrade -y ``` - **安装必要工具** 安装编译和依赖管理工具: ```bash sudo apt install curl software-properties-common -y ``` #### 2. 添加 ROS2 软件源 - **导入 GPG 密钥** ```bash sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg ``` - **添加软件源列表** ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null ``` - **更新软件包缓存** ```bash sudo apt update ``` #### 3. 安装 ROS2 Jazzy - **安装基础包(推荐)** ```bash sudo apt install ros-jazzy-ros-base -y ``` - **或安装桌面完整版(含 GUI 工具)** ```bash sudo apt install ros-jazzy-desktop -y ``` #### 4. 配置环境变量 - **自动加载环境变量** 将以下命令添加到 `~/.bashrc`: ```bash echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 5. 验证安装 - **运行示例节点** 打开两个终端,分别执行: ```bash # 终端1:发布消息 ros2 run demo_nodes_cpp talker # 终端2:订阅消息 ros2 run demo_nodes_cpp listener ``` 若看到消息交互,则安装成功[^1]。 #### 6. 可选:安装图形桌面(如需) - **安装 Ubuntu Desktop** ```bash sudo apt install ubuntu-desktop -y ``` - **配置远程桌面** 安装 `xrdp` 服务: ```bash sudo apt install xrdp -y sudo systemctl enable xrdp ``` --- ###
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值