4.7 KiB
4.7 KiB
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
# 添加 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. 安装依赖
# 系统依赖
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 包
# 导入 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. 启动机载端
# 导入编译产物
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
# 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 地面站
cd ~/skylink_qt_station
# 创建编译目录
mkdir build && cd build
# 配置
cmake .. -DCMAKE_BUILD_TYPE=Release
# 编译
make -j$(nproc)
# 运行
./skylink_station
3. 基于 Qt Creator 开发
# 用 Qt Creator 打开项目
qtcreator CMakeLists.txt
# 或 .pro 文件(如果存在)
qtcreator skylink_station.pro
📱 移动端编译 (Android)
1. 安装 Android Studio
从 Android 官网 下载并安装。
2. 打开项目
# 在 Android Studio 中:
File -> Open -> 选择 skylink_android_app
3. 配置 SDK
- 打开
Tools -> SDK Manager - 安装 Android SDK 34
- 安装 NDK 26+(如需原生代码)
4. 编译 APK
# 使用 Gradle (Android Studio 内)
Build -> Build Bundle(s) / APK(s)
# 或命令行
cd skylink_android_app
./gradlew build
5. 安装到设备
# 使用 ADB
adb install -r app/build/outputs/apk/release/app-release.apk
# 或在 Android Studio 中
Run -> Run 'app'
🐳 Docker 编译 (ROS 2 机载端)
1. 安装 Docker
# Ubuntu
sudo apt install docker.io docker-compose
# 启动 Docker 服务
sudo systemctl start docker
sudo usermod -aG docker $USER
2. 构建镜像
cd ~/skylink
docker-compose build ros2-bridge
3. 运行容器
docker-compose up -d ros2-bridge
# 查看日志
docker-compose logs -f ros2-bridge
✅ 验证安装
机载端
# 检查节点是否运行
ros2 node list
# 查看发布的 Topic
ros2 topic list
# 检查参数
ros2 param list
PC 端
# 启动地面站应用
./skylink_station
# 或调试模式
gdb ./skylink_station
移动端
# 检查 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
# 设置 Qt 6 路径
cmake .. -DQt6_DIR=/path/to/Qt6/lib/cmake/Qt6
缺少 OpenCV
# 重新安装 OpenCV
sudo apt install libopencv-dev
# 或从源代码编译
运行时错误
UDP 端口被占用
# 查找占用端口的进程
sudo lsof -i :9999
# 修改配置文件中的端口
# skylink_ros2/src/skylink_bridge/config/params.yaml
相机设备找不到
# 列出可用的摄像头
v4l2-ctl --list-devices
# 检查权限
sudo chmod 666 /dev/video0
📚 参考资源
需要帮助? 请提交 Issue 或查看 CONTRIBUTING.md