Git Product home page Git Product logo

acfly-mavros's Introduction

ACFLY MAVROS

Author & Maintainer: 刘正武

基于acfly-MAVLink的ROS扩展通信节点

开源不易,请动动小手,点个小小的star和fork吧!

依赖

安装

请确保每条指令都执行成功:

sudo apt-get install python-catkin-tools python-rosinstall-generator -y
# 如果用的ROS版本是Noetic则使用
# sudo apt install python3-catkin-tools python3-rosinstall-generator python3-osrf-pycommon -y

# 需要替换你的ROS版本,且以下指令需要在同一个终端执行
source /opt/ros/${你的ROS版本}/setup.bash

# 因为acfly增加了自定义mavlink信息,若之前有通过二进制安装过mavros则需要卸载,没有则跳过
sudo apt purge ros-${ROS_DISTRO}-mavlink ros-${ROS_DISTRO}-mavros

# 构建ROS工作空间,可以自行修改路径
mkdir -p ~/acfly_ws/src && cd ~/acfly_ws
catkin init

# 下载mavlink和acfly-mavros
cd src
git clone -b release/${ROS_DISTRO}/mavlink/2022.1.5-1 https://gitee.com/LauZanMo/mavlink
git clone -b acfly-develop https://gitee.com/LauZanMo/acfly-mavros

# 安装依赖,如果rosdep update没执行则需要执行成功才能继续
cd .. && rosdep install --from-paths src --ignore-src -y

# 安装GeographicLib:
./src/acfly-mavros/mavros/scripts/install_geographiclib_datasets.sh

# 第一次编译请执行acfly提供的脚本
./src/acfly-mavros/update_custom_msg.sh
# 后续更改mavros源码只需要执行catkin build

# 每一次开启终端都需要设置环境变量
source devel/setup.bash

启动

提供官方的launch文件为acfly-mavros/mavros/launch/acfly.launch

启动前请连上飞控串口,将mavlink连接参数中的fcu_url参数修改成实际参数(串口名称,波特率),再执行:

roslaunch mavros acfly.launch

配置插件文件为acfly-mavros/mavros/launch/acfly_pluginlist.yaml,其中白名单中的插件名为正在使用的插件(黑名单不用管)。

插件参数文件为acfly-mavros/mavros/launch/acfly_config.yaml,可根据自己需要进行修改,后续出参数讲解。

还可以通过udp形式连接acfly地面站(具体请参考mavros与QGC连接)

仿真

仿真需要在编译了PX4固件后才能使用。

提供官方的单,多个无人机仿真launch文件为

  • acfly-mavros/test_mavros/launch/acfly/acfly_sitl.launch
  • acfly-mavros/test_mavros/launch/acfly/multi_uav_acfly_sitl.launch

需要配置好参数才能执行。

使用与二次开发

如果只是为了使用请先参考使用指南

需要进行二次开发请参考二次开发指南

贡献

你可以通过github的pull request功能向acfly-mavros分享好的想法与代码,在此之前,请在文件夹的根路径下执行:

find . -regex '.*\.\(cpp\|cu\|cc\|c\|hpp\|h\)' -exec clang-format-14 -style=file -i {} \;

以格式化你的代码,方便统一风格。(建议安装clang-format-14,该版本修复了指针对齐的bug)

acfly-mavros's People

Contributors

vooon avatar tsc21 avatar lauzanmo avatar mhkabir avatar jaeyoung-lim avatar mortenfyhn avatar mrivi avatar alexistm avatar khancyr avatar amilcarlucas avatar bromeara avatar mstuettgen avatar pavloblindnology avatar tonybaltovski avatar andreasantener avatar charlie-burge avatar rmackay9 avatar lorenzmeier avatar dayjaby avatar jamesstewy avatar baumanta avatar saifullah3396 avatar okalachev avatar shylent avatar szobov avatar andersonrayner avatar fnoop avatar claymation avatar christophtobler avatar jgoppert avatar

Stargazers

张泽琦 avatar 广道 avatar 瓶邪 avatar GuociCai avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

cgc12123

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.