PX4之Gazebo多機仿真嘗試
運行多機前,確保你的單機運行沒有問題。
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>
運行多機仿真mavros
roslaunch px4 multi_uav_mavros_sitl.launch
修改基礎的offboard節點,添加發布節點爲UAV1-4,並完成編譯
catkin_make
source devel/setup.sh
運行offboard
rosrun offboard offboard
很多東西還沒有理解
多機之間的飛行策略有問題,延時太大等等等,各種節點的操作處理,沒有明白。