Code Monkey home page Code Monkey logo

vfly's Introduction

VFly

VFly 是基于Gazebo的 推力矢量可倾转多旋翼仿真ROS功能包。
VFly is a ROS package of thrust-vectored MAV with tiltable rotors gazebo simulator.

功能包提供了可倾转四旋翼模型,全向运动PID和ADRC控制器和相应的launch文件。
This package provides a model of quadrotor with tiltable rotors, example omni-direction controller based on PID and ADRC, and example launch files.

如果你在论文中有用到本仿真包请引用:
If you are using this simulator within the research for your publication, please cite:

卢凯文,杨忠,张秋雁,许昌亮,徐浩,徐向荣.推力矢量可倾转四旋翼自抗扰飞行控制方法[J/OL].控制理论与应用  
LU Kaiwen, YANG Zhong, ZHANG Qiuyan. Active disturbance rejection flight control method for thrust-vectored quadrotor with tiltable rotors. Control Theory & Applications

安装向导

  1. 本功能包使用了RotorS的部分Gazebo插件,在使用之前需要安装RotorS。

    Note 如果在安装RotorS 过程中遇到问题,欢迎交流.

  2. 获取功能包和依赖

    $ cd ~/catkin_ws/src
    $ git clone https://github.com/LLlkaiwen/vfly.git
    $ git clone https://github.com/LLlkaiwen/adrc_control.git
    
  3. 构建你的工作空间

    $ cd ~/catkin_ws/
    $ catkin init  # If you haven't done this before.
    $ catkin build / catkin_make 
    

使用向导

  1. 启动Gazebo仿真("x"构型的VFly)

    $ roslaunch vfly mav.launch mav_name:=vfly type:=x
    
  2. 启动全向控制器

    $ roslaunch vfly omni_pid_controller.launch mav_name:=vfly type:=x
    

    Note 控制器会控制VFly以水平姿态悬停在3m的高度.

    当然,你也可以启动ADRC全向控制器 (PID和ADRC二选一)

    $ roslaunch vfly omni_adrc_controller.launch mav_name:=vfly type:=x
    
  3. 发送控制指令

    • 水平飞行(以当前状态水平悬停在3m处为例)
    rostopic pub -1 /vfly/command/pose vfly/vfly_pose "header:
    seq: 0
    stamp: {secs: 0, nsecs: 0}
    frame_id: ''
    x: 3.0
    y: 3.0
    z: 3.0
    roll: 0.0
    pitch: 0.0
    yaw: 0.0" 
    

    Note 你可以在输入rostopic pub -1 /vfly/command/pose后,按两次Tab键自动补全后面的内容,然后修改其中的姿态和位置期望。

    • 定点旋转(以当前状态水平悬停在3m处为例)
    rostopic pub -1 /vfly/command/pose vfly/vfly_pose "header:
    seq: 0
    stamp: {secs: 0, nsecs: 0}
    frame_id: ''
    x: 0.0
    y: 0.0
    z: 3.0
    roll: 0.0
    pitch: 0.0
    yaw: 0.0" 
    

    Note 你可以同时给定姿态和位置期望,因为可倾转多旋翼有别于常规多旋翼,可以同时控制姿态和位置。

  4. 查看位置姿态响应曲线

    $ rqt_plot /vfly/ground_truth/position/point /vfly/state/roll /vfly/state/pitch /vfly/state/yaw
    

vfly's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vfly's Issues

文件夹meshes里面存放的stl文件

您好,我是刚开始学习ros gazebo仿真的一名学生。在之前我也编译运行过RotorSimulator历程,里面没有stl文件,我对此很陌生。您可以详细地介绍一下您的历程中meshes文件夹下stl文件的来历及用途么?谢谢。

建立工作空间出错

您好,我在下载好vfly文件后,对工作空间初始化时,遇到了以下错误,这里似乎缺失了一个vfly_pose.h的文件,请问这个问题该如何解决呢?
Errors << vfly:make /home/zhenhang/catkin_ws/logs/vfly/build.make.000.log
/home/zhenhang/catkin_ws/src/vfly/src/rotation_on_fixed_spot_example.cpp:3:27: fatal error: vfly/vfly_pose.h: No such file or directory
compilation terminated.
/home/zhenhang/catkin_ws/src/vfly/src/move_with_zero_attitude_example.cpp:3:27: fatal error: vfly/vfly_pose.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/rotation_on_fixed_spot_example.dir/src/rotation_on_fixed_spot_example.cpp.o] Error 1
make[1]: *** [CMakeFiles/rotation_on_fixed_spot_example.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/move_with_zero_attitude_example.dir/src/move_with_zero_attitude_example.cpp.o] Error 1
make[1]: *** [CMakeFiles/move_with_zero_attitude_example.dir/all] Error 2
In file included from /home/zhenhang/catkin_ws/src/vfly/src/omni_adrc_controller_node.cpp:1:0:
/home/zhenhang/catkin_ws/src/vfly/include/omni_adrc_controller_node.h:14:28: fatal error: vfly/vfly_pose.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/omni_adrc_controller_node.dir/src/omni_adrc_controller_node.cpp.o] Error 1
make[1]: *** [CMakeFiles/omni_adrc_controller_node.dir/all] Error 2
make: *** [all] Error 2
1b84f1890ae0118614df8a9a396f2a1

PX4的adrc的固件问题

您好
因为Firmware那个不能提issues 所以在这里问一下 
是外环的姿态控制换成了ADRC吗 具体是看哪个文件尼
是基于哪个版本的固件修改的哦~
谢谢啦~

可以更换Firmware的iris模型吗

您好
我想请问一下,可否换成Firmware的模型,因为很多工作我都使用的Px4固件进行的仿真,所以想在我px4下测试一下ADRC的控制效果,不知道有没有可能实现!
谢谢

加载无人机模型和world时报错

[gazebo-2] process has died [pid 9503, exit code 139, cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -e ode /home/sch/catkin_ws/src/ADRC/vfly/worlds/basic.world __name:=gazebo __log:=/home/sch/.ros/log/c006ca08-ad77-11ea-aeb3-04d9f5d245b0/gazebo-2.log].
log file: /home/sch/.ros/log/c006ca08-ad77-11ea-aeb3-04d9f5d245b0/gazebo-2*.log

在运行roslaunch vfly mav.launch mav_name:=vfly type:=x报错如上,我更换了world也是一样报错~
我是ubuntu18.04

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.