298 lines
4.7 KiB
Markdown
298 lines
4.7 KiB
Markdown
# SkyLink 安装和编译指南
|
|
|
|
## 系统需求
|
|
|
|
### 通用需求
|
|
- Git
|
|
- CMake 3.16+
|
|
- C++ 编译器 (GCC 9+ / Clang 10+ / MSVC 2019+)
|
|
|
|
### 机载端 (ROS 2)
|
|
- Ubuntu 22.04 LTS (推荐)
|
|
- ROS 2 Humble
|
|
- OpenCV 4.5+
|
|
- libjpeg-turbo
|
|
|
|
### PC 端 (Qt 6)
|
|
- Qt 6.2+
|
|
- OpenCV 4.5+
|
|
- CMake 3.24+
|
|
|
|
### 移动端 (Android)
|
|
- Android 12+ (API 31+)
|
|
- Android Studio Flamingo+
|
|
- Kotlin 1.9.20+
|
|
|
|
---
|
|
|
|
## 🔧 机载端编译 (ROS 2)
|
|
|
|
### 1. 安装 ROS 2 Humble
|
|
|
|
```bash
|
|
# 添加 ROS 2 源
|
|
sudo apt update
|
|
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
|
|
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) main" > /etc/apt/sources.list.d/ros2.list'
|
|
|
|
# 安装 ROS 2 Humble
|
|
sudo apt update
|
|
sudo apt install ros-humble-ros-core
|
|
```
|
|
|
|
### 2. 安装依赖
|
|
|
|
```bash
|
|
# 系统依赖
|
|
sudo apt install -y \
|
|
build-essential \
|
|
python3-dev \
|
|
python3-colcon-common \
|
|
libopencv-dev \
|
|
libjpeg-turbo-dev \
|
|
libmavros-dev
|
|
|
|
# ROS 2 依赖
|
|
sudo apt install -y \
|
|
ros-humble-rclcpp \
|
|
ros-humble-sensor-msgs \
|
|
ros-humble-cv-bridge \
|
|
ros-humble-image-transport \
|
|
ros-humble-mavros
|
|
```
|
|
|
|
### 3. 编译 SkyLink ROS 2 包
|
|
|
|
```bash
|
|
# 导入 ROS 2 环境
|
|
source /opt/ros/humble/setup.bash
|
|
|
|
# 进入项目目录
|
|
cd ~/skylink_ros2
|
|
|
|
# 运行编译脚本
|
|
./build.sh release
|
|
|
|
# 或手动编译
|
|
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
|
|
```
|
|
|
|
### 4. 启动机载端
|
|
|
|
```bash
|
|
# 导入编译产物
|
|
source ~/skylink_ros2/install/setup.bash
|
|
|
|
# 编辑配置文件(可选)
|
|
nano src/skylink_bridge/config/params.yaml
|
|
|
|
# 启动节点
|
|
ros2 launch skylink_bridge bridge.launch.py
|
|
```
|
|
|
|
---
|
|
|
|
## 🖥️ PC 端编译 (Qt 6)
|
|
|
|
### 1. 安装 Qt 6
|
|
|
|
```bash
|
|
# Ubuntu
|
|
sudo apt install -y \
|
|
qt6-base-dev \
|
|
qt6-tools-dev \
|
|
qt6-network-dev \
|
|
qt6-concurrent-dev \
|
|
libopencv-dev
|
|
|
|
# Windows (使用 Qt Online Installer)
|
|
# https://www.qt.io/download-open-source
|
|
```
|
|
|
|
### 2. 编译 SkyLink 地面站
|
|
|
|
```bash
|
|
cd ~/skylink_qt_station
|
|
|
|
# 创建编译目录
|
|
mkdir build && cd build
|
|
|
|
# 配置
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
|
|
# 编译
|
|
make -j$(nproc)
|
|
|
|
# 运行
|
|
./skylink_station
|
|
```
|
|
|
|
### 3. 基于 Qt Creator 开发
|
|
|
|
```bash
|
|
# 用 Qt Creator 打开项目
|
|
qtcreator CMakeLists.txt
|
|
|
|
# 或 .pro 文件(如果存在)
|
|
qtcreator skylink_station.pro
|
|
```
|
|
|
|
---
|
|
|
|
## 📱 移动端编译 (Android)
|
|
|
|
### 1. 安装 Android Studio
|
|
|
|
从 [Android 官网](https://developer.android.com/studio) 下载并安装。
|
|
|
|
### 2. 打开项目
|
|
|
|
```bash
|
|
# 在 Android Studio 中:
|
|
File -> Open -> 选择 skylink_android_app
|
|
```
|
|
|
|
### 3. 配置 SDK
|
|
|
|
- 打开 `Tools -> SDK Manager`
|
|
- 安装 Android SDK 34
|
|
- 安装 NDK 26+(如需原生代码)
|
|
|
|
### 4. 编译 APK
|
|
|
|
```bash
|
|
# 使用 Gradle (Android Studio 内)
|
|
Build -> Build Bundle(s) / APK(s)
|
|
|
|
# 或命令行
|
|
cd skylink_android_app
|
|
./gradlew build
|
|
```
|
|
|
|
### 5. 安装到设备
|
|
|
|
```bash
|
|
# 使用 ADB
|
|
adb install -r app/build/outputs/apk/release/app-release.apk
|
|
|
|
# 或在 Android Studio 中
|
|
Run -> Run 'app'
|
|
```
|
|
|
|
---
|
|
|
|
## 🐳 Docker 编译 (ROS 2 机载端)
|
|
|
|
### 1. 安装 Docker
|
|
|
|
```bash
|
|
# Ubuntu
|
|
sudo apt install docker.io docker-compose
|
|
|
|
# 启动 Docker 服务
|
|
sudo systemctl start docker
|
|
sudo usermod -aG docker $USER
|
|
```
|
|
|
|
### 2. 构建镜像
|
|
|
|
```bash
|
|
cd ~/skylink
|
|
docker-compose build ros2-bridge
|
|
```
|
|
|
|
### 3. 运行容器
|
|
|
|
```bash
|
|
docker-compose up -d ros2-bridge
|
|
|
|
# 查看日志
|
|
docker-compose logs -f ros2-bridge
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ 验证安装
|
|
|
|
### 机载端
|
|
```bash
|
|
# 检查节点是否运行
|
|
ros2 node list
|
|
|
|
# 查看发布的 Topic
|
|
ros2 topic list
|
|
|
|
# 检查参数
|
|
ros2 param list
|
|
```
|
|
|
|
### PC 端
|
|
```bash
|
|
# 启动地面站应用
|
|
./skylink_station
|
|
|
|
# 或调试模式
|
|
gdb ./skylink_station
|
|
```
|
|
|
|
### 移动端
|
|
```bash
|
|
# 检查 APK 签名
|
|
jarsigner -verify -verbose -certs app/build/outputs/apk/release/app-release.apk
|
|
|
|
# 运行应用
|
|
adb shell am start -n com.skylink.app/.MainActivity
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 故障排查
|
|
|
|
### 编译错误
|
|
|
|
#### CMake 找不到 Qt 6
|
|
```bash
|
|
# 设置 Qt 6 路径
|
|
cmake .. -DQt6_DIR=/path/to/Qt6/lib/cmake/Qt6
|
|
```
|
|
|
|
#### 缺少 OpenCV
|
|
```bash
|
|
# 重新安装 OpenCV
|
|
sudo apt install libopencv-dev
|
|
# 或从源代码编译
|
|
```
|
|
|
|
### 运行时错误
|
|
|
|
#### UDP 端口被占用
|
|
```bash
|
|
# 查找占用端口的进程
|
|
sudo lsof -i :9999
|
|
|
|
# 修改配置文件中的端口
|
|
# skylink_ros2/src/skylink_bridge/config/params.yaml
|
|
```
|
|
|
|
#### 相机设备找不到
|
|
```bash
|
|
# 列出可用的摄像头
|
|
v4l2-ctl --list-devices
|
|
|
|
# 检查权限
|
|
sudo chmod 666 /dev/video0
|
|
```
|
|
|
|
---
|
|
|
|
## 📚 参考资源
|
|
|
|
- [ROS 2 官方文档](https://docs.ros.org/en/humble/)
|
|
- [Qt 6 官方文档](https://doc.qt.io/)
|
|
- [Android 开发指南](https://developer.android.com/docs)
|
|
- [OpenCV 教程](https://docs.opencv.org/)
|
|
|
|
---
|
|
|
|
**需要帮助?** 请提交 Issue 或查看 [CONTRIBUTING.md](CONTRIBUTING.md)
|