• 仿真1 - takeoff_land


    实验步骤:

    (1)将遥控器开机并通过USB接口接入电脑

    (2)输入以下命令启动起飞降落仿真demo

    1. cd ~/Prometheus/Scripts/simulation/tutorial_demo
    2. chmod +x takeoff_land.sh  # 第一次启动该脚本时,需要添加可执行权限
    3. ./takeoff_land.sh

    (3)遥控器SWA档杆向下拨解锁无人机

    (4)遥控器SWB档杆拨到中间位置将无人机控制状态切换到RC_POS_CONTROL

    (5)遥控器SWB档杆拨到最底部将无人机控制状态切换到COMMAND_CONTROL

    (6)无人机将自动起飞,到达预设高度后悬停30秒,随后自动降落

     takeoff_land.sh脚本:

    1. #!/bin/bash
    2. # 脚本名称: takeoff_land
    3. # 脚本描述: 该脚本为起飞&降落控制demo启动脚本,包含PX4 SITL,Gazebo仿真环境,无人机控制节点以及起飞&降落控制节点
    4. gnome-terminal --window -e 'bash -c "roscore; exec bash"' \
    5. --tab -e 'bash -c "sleep 5; roslaunch prometheus_gazebo sitl_outdoor_1uav.launch; exec bash"' \
    6. --tab -e 'bash -c "sleep 6; roslaunch prometheus_uav_control uav_control_main_outdoor.launch; exec bash"' \
    7. --tab -e 'bash -c "sleep 7; roslaunch prometheus_demo takeoff_land.launch; exec bash"' \
    8. #--tab -e 'bash -c "sleep 7; rosrun prometheus_demo takeoff_land.py; exec bash"' \

    该脚本在一个终端启动三个 窗口:

    roslaunch prometheus_gazebo sitl_outdoor_1uav.launch

    roslaunch prometheus_uav_control uav_control_main_outdoor.launch

    roslaunch prometheus_demo takeoff_land.launch

    操作流程:

    (1)vscode里面 执行:./takeoff_land.sh

     (2)启动了Gazebo仿真软件以及一个终端

     终端窗口:显示当前无人机的状态数据

     (3)遥控器SWA档杆向下拨解锁无人机

    无人机桨叶开始转动,状态数据中的 disarmed --> armed,说明解锁成功

    (4)遥控器SWB档杆拨到中间位置将无人机控制状态切换到RC_POS_CONTROL

     controller --> RC_ROS_CONTROL 说明模式转换成功

    (5)遥控器SWB档杆拨到最底部将无人机控制状态切换到COMMAND_CONTROL

     (6)无人机将自动起飞,到达预设高度后悬停30秒,随后自动降落

    节点运行图

    ROS查看节点图命令 

    rqt_graph

     

  • 相关阅读:
    MATLAB计算变异函数并绘制经验半方差图
    网络支付安全:面临的风险与防范策略
    如何高效安装MindSpore的GPU版本
    7.21 - 每日一题 - 408
    C++ STL的空间配置器
    【Java第十八期】:#用Java模拟实现一个单向不带头不循环的链表
    ch2_2系统调用的实现
    vue学习笔记——简单入门总结(二)
    (十) ES6 新特性 —— class类
    Python自动控制(三)
  • 原文地址:https://blog.csdn.net/peng_258/article/details/127038759