PX4之Gazebo多机仿真尝试

PX4之Gazebo多机仿真尝试

PX4之Gazebo多机仿真尝试_第1张图片

运行多机前,确保你的单机运行没有问题。
Px4源码中已经包含了二机的仿真,运行以下命令:

roslaunch px4 multi_uav_mavros_sitl.launch

修改Launch相关代码,实现四机仿真:
模仿单机UAV1的写法,完成UAV1-4的编写。

    <!-- UAV1 -->
    <group ns="uav1">
        <!-- MAVROS and vehicle configs -->        
        <arg name="ID" value="1"/>
        <!--<arg name="fcu_url" default="udp://:14540@localhost:14557"/>-->
        
        <arg name="fcu_url" default="udp://:[email protected]:14557"/>
        <!-- PX4 SITL and vehicle spawn -->
        <include file="$(find px4)/launch/single_vehicle_spawn.launch">
            <arg name="x" value="1"/>
            <arg name="y" value="0"/>
            <arg name="z" value="0"/>
            <arg name="R" value="0"/>
            <arg name="P" value="0"/>
            <arg name="Y" value="0"/>
            <arg name="vehicle" value="$(arg vehicle)"/>
            <arg name="rcS" value="$(find px4)/posix-configs/SITL/init/$(arg est)/$(arg vehicle)_1"/>
            <arg name="mavlink_udp_port" value="14560"/>
            <arg name="ID" value="$(arg ID)"/>
        </include>
        <!-- MAVROS -->
        <include file="$(find mavros)/launch/px4.launch">
            <arg name="fcu_url" value="$(arg fcu_url)"/>
            <arg name="gcs_url" value=""/>
            <arg name="tgt_system" value="$(arg ID)"/>
            <arg name="tgt_component" value="1"/>
        </include>
    </group>

PX4之Gazebo多机仿真尝试_第2张图片
运行多机仿真mavros

roslaunch px4 multi_uav_mavros_sitl.launch

PX4之Gazebo多机仿真尝试_第3张图片
修改基础的offboard节点,添加发布节点为UAV1-4,并完成编译

catkin_make
source devel/setup.sh 

PX4之Gazebo多机仿真尝试_第4张图片
运行offboard

rosrun offboard offboard

PX4之Gazebo多机仿真尝试_第5张图片
很多东西还没有理解
多机之间的飞行策略有问题,延时太大等等等,各种节点的操作处理,没有明白。

你可能感兴趣的:(飞控相关,ROS)