Files
craic/ros2/README.md

102 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ros2 — ROS 2 工作空间
## 环境搭建
支持以下三种安装方式,任选其一。
### 方式一Conda (robostack跨平台)
适用于 Linux / macOS / Windows无需 root 权限。
```bash
# 安装 Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 创建 ROS 2 Humble 环境
conda create -n ros2_humble -c robostack-staging -c conda-forge ros-humble-desktop
conda activate ros2_humble
# 安装构建工具
conda install -c robostack-staging -c conda-forge \
colcon-common-extensions \
ros-humble-ament-cmake \
pip
# Python 依赖
pip install pynput
```
### 方式二apt 原生安装 (Ubuntu 22.04)
官方推荐的 Ubuntu 安装方式,系统级集成。
```bash
# 添加 ROS 2 源
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
-o /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
# 安装 ROS 2 Humble
sudo apt update
sudo apt install ros-humble-desktop python3-colcon-common-extensions
# Python 依赖
pip install pynput
# 环境配置(或写入 ~/.bashrc
source /opt/ros/humble/setup.bash
```
### 方式三Docker
推荐用于 CI/CD 或快速体验,无需污染宿主机环境。
```bash
# 拉取镜像
docker pull osrf/ros:humble-desktop
# 启动容器(挂载工作空间)
docker run -it --rm \
-v $(pwd)/ros2:/ws \
osrf/ros:humble-desktop \
bash
# 容器内安装依赖
apt update && apt install -y python3-colcon-common-extensions python3-pip
pip install pynput
```
## 构建
```bash
# 每次新终端都需要先加载 ROS 2 环境
source /opt/ros/humble/setup.zsh
cd ros2
colcon build --symlink-install --packages-select udp_teleop
source install/setup.bash
```
> `--symlink-install`:修改 Python 源文件后无需重新构建,直接生效。
## 运行
```bash
ros2 run udp_teleop keyboard_control \
--ros-args --params-file src/udp_teleop/config/params.yaml
```
也可以通过命令行覆盖参数:
```bash
ros2 run udp_teleop keyboard_control \
--ros-args -p udp_ip:=192.168.1.100 -p udp_port:=9999
```
## 包文档
详见 [src/udp_teleop/README.md](src/udp_teleop/README.md)包含按键映射、UDP 协议、参数配置等。