版本确定与准备
ROS需要基于ubuntu版本来选择对应的版本
比如
Humble Hawksbill对应 ubuntu22.04
Jazzy Jalisco对应 ubuntu24.04
我的选择的是香橙派的ubuntu-resolute版本,对应ubuntu24.04,所以要安装jazzy
首先确保本地语言支持UTF-8
bash
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
还需要确保python版本为3.12,以及NumPy为1.26,这点很重要
启用universe源
启用universe源,这样ubuntu就可以安装更多的第三方软件了
由于香橙派的ubuntu24.04对应系统代号为自己的resolute,不通用,所以得手动指定ubuntu24.04对应的noble
这里添加成中科大的
bash
sudo tee /etc/apt/sources.list.d/ubuntu-noble.list << 'EOF'
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ noble main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ noble-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ noble-security main restricted universe multiverse
EOF
添加ROS2公钥
添加ROS2的公钥,用于验证文件是否被篡改
bash
sudo apt update && sudo apt install curl gnupg2 -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
-o /usr/share/keyrings/ros-archive-keyring.gpg
添加ros2仓库并安装
注意:如果用的是香橙派这些,要直接指定ubuntu版本代号, 比如24.04对应noble
中科大源
bash
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.ustc.edu.cn/ros2/ubuntu/ noble main" | sudo tee /etc/apt/sources.list.d/ros2.list
bash
sudo apt update && sudo apt upgrade
没有报错则开始安装
可以安装desktop版本,新手友好,但是有点子大,可能需要十多分钟
纯命令行界面则安装base版本
bash
sudo apt install ros-jazzy-desktop -y #这里对应版本
sudo apt install ros-jazzy-ros-base -y
等待安装完成-------------------------------
然后设置一下环境变量,这样每次启动bash自动会配置好ros需要的环境变量了
bash
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc #使环境生效
测试
运行测试命令
在一个终端运行
bash
ros2 topic pub /chatter std_msgs/msg/String "data: 'Hello from OrangePi 4 Pro'" -r 1
在另一个终端运行
bash
ros2 topic echo /chatter
能正常echo出来话题数据说明一切正常