包含用于构建和测试PX4的Docker容器的Dockerfile。
构建状态
仿真环境
- 支持ROS(Kinetic、Melodic版本)和ROS2(Ardent、Bouncy、Crystal、Dashing、Eloquent版本)集成
容器分类
基础容器
提供基本开发环境,是其他专用容器的基础:
- https://hub.docker.com/r/px4io/px4-dev-base-xenial https://images.microbadger.com/badges/image/px4io/px4-dev-base-xenial.svg](http://microbadger.com/images/px4io/px4-dev-base-xenial) https://img.shields.io/docker/pulls/px4io/px4-dev-base-xenial.svg](https://hub.docker.com/r/px4io/px4-dev-base-xenial)
- https://hub.docker.com/r/px4io/px4-dev-base-bionic https://images.microbadger.com/badges/image/px4io/px4-dev-base-bionic.svg](http://microbadger.com/images/px4io/px4-dev-base-bionic) https://img.shields.io/docker/pulls/px4io/px4-dev-base-bionic.svg](https://hub.docker.com/r/px4io/px4-dev-base-bionic)
- https://hub.docker.com/r/px4io/px4-dev-base-archlinux https://images.microbadger.com/badges/image/px4io/px4-dev-base-archlinux.svg](http://microbadger.com/images/px4io/px4-dev-base-archlinux) https://img.shields.io/docker/pulls/px4io/px4-dev-base-archlinux.svg](https://hub.docker.com/r/px4io/px4-dev-base-archlinux)
- https://hub.docker.com/r/px4io/px4-docs https://images.microbadger.com/badges/image/px4io/px4-docs.svg](http://microbadger.com/images/px4io/px4-docs) https://img.shields.io/docker/pulls/px4io/px4-docs.svg](https://hub.docker.com/r/px4io/px4-docs)
组合和构建特定容器
针对特定构建需求优化的容器:
- https://hub.docker.com/r/px4io/px4-dev-clang https://images.microbadger.com/badges/image/px4io/px4-dev-clang.svg](http://microbadger.com/images/px4io/px4-dev-clang) https://img.shields.io/docker/pulls/px4io/px4-dev-clang.svg](https://hub.docker.com/r/px4io/px4-dev-clang)
- https://hub.docker.com/r/px4io/px4-dev-raspi https://images.microbadger.com/badges/image/px4io/px4-dev-raspi.svg](http://microbadger.com/images/px4io/px4-dev-raspi) https://img.shields.io/docker/pulls/px4io/px4-dev-raspi.svg](https://hub.docker.com/r/px4io/px4-dev-raspi)
- https://hub.docker.com/r/px4io/px4-dev-nuttx https://images.microbadger.com/badges/image/px4io/px4-dev-nuttx.svg](http://microbadger.com/images/px4io/px4-dev-nuttx) https://img.shields.io/docker/pulls/px4io/px4-dev-nuttx.svg](https://hub.docker.com/r/px4io/px4-dev-nuttx)
仿真容器
提供SITL仿真环境的容器:
- https://hub.docker.com/r/px4io/px4-dev-simulation-xenial https://images.microbadger.com/badges/image/px4io/px4-dev-simulation-xenial.svg](http://microbadger.com/images/px4io/px4-dev-simulation-xenial) https://img.shields.io/docker/pulls/px4io/px4-dev-simulation-xenial.svg](https://hub.docker.com/r/px4io/px4-dev-simulation-xenial)
- https://hub.docker.com/r/px4io/px4-dev-simulation-bionic https://images.microbadger.com/badges/image/px4io/px4-dev-simulation-bionic.svg](http://microbadger.com/images/px4io/px4-dev-simulation-bionic) https://img.shields.io/docker/pulls/px4io/px4-dev-simulation-bionic.svg](https://hub.docker.com/r/px4io/px4-dev-simulation-bionic)
ROS容器
集成ROS环境的容器:
- https://hub.docker.com/r/px4io/px4-dev-ros-kinetic https://images.microbadger.com/badges/image/px4io/px4-dev-ros-kinetic.svg](http://microbadger.com/images/px4io/px4-dev-ros-kinetic) https://img.shields.io/docker/pulls/px4io/px4-dev-ros-kinetic.svg](https://hub.docker.com/r/px4io/px4-dev-ros-kinetic)
- https://hub.docker.com/r/px4io/px4-dev-ros-melodic https://images.microbadger.com/badges/image/px4io/px4-dev-ros-melodic.svg](http://microbadger.com/images/px4io/px4-dev-ros-melodic) https://img.shields.io/docker/pulls/px4io/px4-dev-ros-melodic.svg](https://hub.docker.com/r/px4io/px4-dev-ros-melodic)
ROS2容器
集成ROS2环境的容器:
- https://hub.docker.com/r/px4io/px4-dev-ros2-ardent https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-ardent.svg](http://microbadger.com/images/px4io/px4-dev-ros2-ardent) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-ardent.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-ardent)
- https://hub.docker.com/r/px4io/px4-dev-ros2-bouncy https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-bouncy.svg](http://microbadger.com/images/px4io/px4-dev-ros2-bouncy) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-bouncy.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-bouncy)
- https://hub.docker.com/r/px4io/px4-dev-ros2-crystal https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-crystal.svg](http://microbadger.com/images/px4io/px4-dev-ros2-crystal) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-crystal.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-crystal)
- https://hub.docker.com/r/px4io/px4-dev-ros2-dashing https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-dashing.svg](http://microbadger.com/images/px4io/px4-dev-ros2-dashing) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-dashing.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-dashing)
- https://hub.docker.com/r/px4io/px4-dev-ros2-eloquent https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-eloquent.svg](http://microbadger.com/images/px4io/px4-dev-ros2-eloquent) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-eloquent.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-eloquent)
使用场景
- PX4固件开发和编译
- 无人机软件在环仿真(SITL)测试
- 与ROS/ROS2集成的无人机应用开发
- 跨平台一致性构建和测试环境
使用方法
拉取镜像
从Docker Hub拉取所需的PX4容器镜像:
bash
# 示例:拉取ROS Melodic集成镜像
docker pull px4io/px4-dev-ros-melodic
运行容器
运行容器并挂载PX4源代码目录:
bash
# 示例:运行ROS Melodic容器并挂载本地PX4源码
docker run -it --rm -v /path/to/px4/source:/src/px4 px4io/px4-dev-ros-melodic
构建PX4固件
在容器内执行构建命令:
bash
# 进入源码目录
cd /src/px4
# 构建特定目标(例如:sitl仿真)
make px4_sitl_default gazebo