cillian-bao / px4_command

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

px4_command

简介

px4_command功能包是一个基于PX4开源固件及Mavros功能包的开源项目,旨在为PX4开发者提供更加简洁快速的开发体验。目前已集成无人机外环控制器修改、目标追踪及避障等上层开发代码,后续将陆续推出涵盖任务决策、路径规划、滤波导航、单/多机控制等无人机科研及开发领域的功能。

安装

  1. 通过二进制的方法安装Mavros功能包

    请参考: https://github.com/mavlink/mavros

    如果你已经使用源码的方式安装过Mavros功能包,请先将其删除。

  2. 在home目录下创建一个名为 "px4_ws" 的工作空间

    mkdir -p ~/px4_ws/src

    cd ~/px4_ws/src

    catkin_init_workspace

    大部分时候,需要手动进行source,打开一个新终端

    gedit .bashrc

    在打开的bashrc.txt文件中添加 source /home/$(your computer name)/px4_ws/devel/setup.bash

  3. 下载并编译 px4_command 功能包

    cd ~/px4_ws/src

    git clone https://github.com/amov-lab/px4_command

    cd ..

    catkin_make

项目总览

未命名表单

说明: 1、其中自主降落、目标追踪、双目简易避障需配合vision部分代码使用。 2、功能包中还包含一些简易滤波及测试小代码,此处不作说明,可自行查阅。

视频演示

自主降落

负载投掷

简易避障、目标追踪

外环控制器修改 NE+UDE外环控制器修改 Passivity-based UDE

内环控制器修改(PX4固件)

坐标系说明

本功能包中所有变量均为 ENU 坐标系(同Mavros,异于PX4固件)

MAVROS does translate Aerospace NED frames, used in FCUs to ROS ENU frames and vice-versa. For translate airframe related data we simply apply rotation 180° about ROLL (X) axis. For local we apply 180° about ROLL (X) and 90° about YAW (Z) axes

PX4固件及参数

请使用提供代码中提供的PX4固件 - firmware

SYS_COMPANION参数设置为Companion(921600)。

若需要使用外部定位,则参数EKF2_AID_MASK设为24(默认为1),EKF2_HGT_MODE设置为VISION(默认为气压计)。

其他教程

随意写写

多机Gazebo仿真

多机仿真前,请确保PX4固件能够顺利运行单机及双机仿真例程。

请先将该文件iris_3放置于PX4固件Firmware/posix-configs/SITL/init/ekf2/目录下(固件版本 v1.8.2),然后运行脚本sitl_gazebo_formation即可。

远程桌面

推荐使用nomachine作为远程桌面。

关于作者

阿木实验室科研无人机技术负责人、Mavros培训课程主讲老师、北理工博士

对任何与四旋翼无人机有关的话题感兴趣,欢迎交流。

个人微信号:qyp0210

About

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 93.2%Language:Shell 5.0%Language:CMake 1.8%