mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-11 05:11:36 +08:00
Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
799 lines
25 KiB
XML
799 lines
25 KiB
XML
<?xml version="1.0"?>
|
|
<sdf version="1.9">
|
|
<model name="foxtech">
|
|
<pose>0 0 0.5 0 0 0</pose>
|
|
<link name="base_link">
|
|
<visual name="visual_base_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/VTOL.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="collision_base_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/VTOL.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</collision>
|
|
<inertial>
|
|
<pose>5.5496318928189852e-08 -0.13220957545547668 0.04102677817672417 1.5707963267949001 -1.5231416921301011 1.5707963267948919</pose>
|
|
<mass>3.584838964525901</mass>
|
|
<inertia>
|
|
<ixx>0.67738485351961117</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>0.40350427325261343</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>0.28925142846350795</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<sensor name="imu_sensor" type="imu">
|
|
<always_on>1</always_on>
|
|
<update_rate>250</update_rate>
|
|
</sensor>
|
|
</link>
|
|
<link name="legs_link">
|
|
<visual name="visual_legs_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/legs.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
<material>
|
|
<ambient>1 1 1 1.0</ambient>
|
|
<diffuse>1 1 1 1.0</diffuse>
|
|
</material>
|
|
</visual>
|
|
<collision name="collision_legs_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/legs.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<joint name='legs_joint' type='fixed'>
|
|
<child>legs_link</child>
|
|
<parent>base_link</parent>
|
|
</joint>
|
|
<link name="airspeed_link">
|
|
<pose>0 0 0 0 0 0</pose>
|
|
<inertial>
|
|
<pose>0 0 0 0 0 0</pose>
|
|
<mass>0.015</mass>
|
|
<inertia>
|
|
<ixx>1e-05</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>1e-05</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>1e-05</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<visual name="visual">
|
|
<geometry>
|
|
<cylinder>
|
|
<radius>0.01</radius>
|
|
<length>0.1</length>
|
|
</cylinder>
|
|
</geometry>
|
|
<material>
|
|
<ambient>0 0 0 1.0</ambient>
|
|
<diffuse>0 0 0 1.0</diffuse>
|
|
</material>
|
|
</visual>
|
|
<sensor name="air_speed" type="air_speed">
|
|
<always_on>1</always_on>
|
|
<update_rate>30</update_rate>
|
|
<air_speed>
|
|
<airspeed>
|
|
<noise type="gaussian">
|
|
<mean>0</mean>
|
|
<stddev>0.01</stddev>
|
|
</noise>
|
|
</airspeed>
|
|
</air_speed>
|
|
</sensor>
|
|
</link>
|
|
<joint name='airspeed_joint' type='fixed'>
|
|
<child>airspeed_link</child>
|
|
<parent>base_link</parent>
|
|
</joint>
|
|
<link name="aileron_left_link">
|
|
<pose>-0.713 -0.122 0.062 0 0 0</pose>
|
|
<visual name="visual_aileron_left_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/aileron_left.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="collision_aileron_left_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/aileron_left.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</collision>
|
|
<inertial>
|
|
<pose>0.016428520956860652 -0.026006344294799606 -0.0023574007803185606 -1.5395303459623877 -1.5044452951949348 -1.6400967799666224</pose>
|
|
<mass>0.48889497715279695</mass>
|
|
<inertia>
|
|
<ixx>0.0046714785213929121</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>0.0044549919806967505</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>0.00022471747503113157</izz>
|
|
</inertia>
|
|
</inertial>
|
|
</link>
|
|
<joint name="servo_0" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>aileron_left_link</child>
|
|
<axis>
|
|
<xyz>-1 0 0</xyz>
|
|
<limit>
|
|
<lower>-0.53</lower>
|
|
<upper>0.53</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<damping>1.000</damping>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="aileron_right_link">
|
|
<pose>0.713 -0.122 0.062 0 0 0</pose>
|
|
<visual name="visual_aileron_right_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/aileron_right.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="collision_aileron_right_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/aileron_right.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</collision>
|
|
<inertial>
|
|
<pose>-0.016428520373255796 -0.026006344259039589 -0.0023573984798765397 -1.6020624043352432 -1.5044453783967096 -1.5014957739781367</pose>
|
|
<mass>0.48889496879062661</mass>
|
|
<inertia>
|
|
<ixx>0.0046714784977765411</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>0.0044549919610427299</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>0.00022471747055809963</izz>
|
|
</inertia>
|
|
</inertial>
|
|
</link>
|
|
<joint name="servo_1" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>aileron_right_link</child>
|
|
<axis>
|
|
<xyz>-1 0 0</xyz>
|
|
<limit>
|
|
<lower>-0.53</lower>
|
|
<upper>0.53</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<damping>1.000</damping>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="elevator_right_link">
|
|
<pose>0.145 -0.883 0.058 0 0 0</pose>
|
|
<visual name="visual_elevator_right_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/elevator_right.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="collision_elevator_right_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/elevator_right.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</collision>
|
|
<inertial>
|
|
<pose>-0.0016067211671852988 -0.018030442713651468 -0.00069522433005383619 -1.5781803398819152 -1.5333187237477242 -1.557643721247719</pose>
|
|
<mass>0.060753042156032153</mass>
|
|
<inertia>
|
|
<ixx>0.00020350509255462549</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>0.00019480985651122032</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>8.8355306524910641e-06</izz>
|
|
</inertia>
|
|
</inertial>
|
|
</link>
|
|
<joint name="servo_2" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>elevator_right_link</child>
|
|
<axis>
|
|
<xyz>1 0 0</xyz>
|
|
<limit>
|
|
<lower>-0.53</lower>
|
|
<upper>0.53</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<damping>1.000</damping>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="elevator_left_link">
|
|
<pose>-0.145 -0.883 0.058 0 0 0</pose>
|
|
<visual name="visual_elevator_left_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/elevator_left.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="collision_elevator_left_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/elevator_left.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</collision>
|
|
<inertial>
|
|
<pose>0.0016067211849514255 -0.01803044297097545 -0.00069522588918623891 -1.5634123386853667 -1.5333186393334697 -1.5839489042016495</pose>
|
|
<mass>0.060753043945841481</mass>
|
|
<inertia>
|
|
<ixx>0.00020350510004415204</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>0.00019480986370137352</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>8.8355309624774113e-06</izz>
|
|
</inertia>
|
|
</inertial>
|
|
</link>
|
|
<joint name="servo_3" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>elevator_left_link</child>
|
|
<axis>
|
|
<xyz>1 0 0</xyz>
|
|
<limit>
|
|
<lower>-0.53</lower>
|
|
<upper>0.53</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<damping>1.000</damping>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="rudder_link">
|
|
<pose>0 -0.887 0.201 0 0 0</pose>
|
|
<visual name="visual_rudder_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/rudder.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="collision_rudder_link">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/rudder.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</collision>
|
|
<inertial>p
|
|
<pose>3.0720176589210631e-09 -0.014597633583934367 -0.00023793299837082617 -0.00096325055376496349 0 0</pose>
|
|
<mass>0.08686124232617691</mass>
|
|
<inertia>
|
|
<ixx>0.00029239473616759126</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>0.00028035840542611708</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>1.2453403617197103e-05</izz>
|
|
</inertia>
|
|
</inertial>
|
|
</link>
|
|
<joint name="servo_4" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>rudder_link</child>
|
|
<axis>
|
|
<xyz>0 0 1</xyz>
|
|
<limit>
|
|
<lower>-0.53</lower>
|
|
<upper>0.53</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<damping>1.000</damping>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="rotor_0">
|
|
<gravity>true</gravity>
|
|
<self_collide>false</self_collide>
|
|
<velocity_decay/>
|
|
<pose>0.427 -0.403 0.083 0 0 0</pose>
|
|
<inertial>
|
|
<mass>0.016076923076923075</mass>
|
|
<inertia>
|
|
<ixx>3.8464910483993325e-07</ixx>
|
|
<iyy>2.6115851691700804e-05</iyy>
|
|
<izz>2.649858234714004e-05</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<visual name="rotor_0_visual">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/propeller_ccw.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="rotor_0_collision">
|
|
<pose>0 0 0 0 0 0 </pose>
|
|
<geometry>
|
|
<box>
|
|
<size>0.2792307692307692 0.016923076923076923 0.0008461538461538462</size>
|
|
</box>
|
|
</geometry>
|
|
<surface>
|
|
<contact>
|
|
<ode>
|
|
<min_depth>0.001</min_depth>
|
|
<max_vel>0</max_vel>
|
|
</ode>
|
|
</contact>
|
|
<friction>
|
|
<ode/>
|
|
</friction>
|
|
</surface>
|
|
</collision>
|
|
</link>
|
|
<joint name="rotor_0_joint" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>rotor_0</child>
|
|
<axis>
|
|
<xyz>0 0 1</xyz>
|
|
<limit>
|
|
<lower>-1e+16</lower>
|
|
<upper>1e+16</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<spring_reference>0</spring_reference>
|
|
<spring_stiffness>0</spring_stiffness>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="rotor_1">
|
|
<gravity>true</gravity>
|
|
<self_collide>false</self_collide>
|
|
<velocity_decay/>
|
|
<pose>-0.427 0.403 0.083 0 0 0</pose>
|
|
<inertial>
|
|
<mass>0.016076923076923075</mass>
|
|
<inertia>
|
|
<ixx>3.8464910483993325e-07</ixx>
|
|
<iyy>2.6115851691700804e-05</iyy>
|
|
<izz>2.649858234714004e-05</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<visual name="rotor_1_visual">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/propeller_ccw.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="rotor_1_collision">
|
|
<pose>0 0 0 0 0 0 </pose>
|
|
<geometry>
|
|
<box>
|
|
<size>0.2792307692307692 0.016923076923076923 0.0008461538461538462</size>
|
|
</box>
|
|
</geometry>
|
|
<surface>
|
|
<contact>
|
|
<ode>
|
|
<min_depth>0.001</min_depth>
|
|
<max_vel>0</max_vel>
|
|
</ode>
|
|
</contact>
|
|
<friction>
|
|
<ode/>
|
|
</friction>
|
|
</surface>
|
|
</collision>
|
|
</link>
|
|
<joint name="rotor_1_joint" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>rotor_1</child>
|
|
<axis>
|
|
<xyz>0 0 1</xyz>
|
|
<limit>
|
|
<lower>-1e+16</lower>
|
|
<upper>1e+16</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<spring_reference>0</spring_reference>
|
|
<spring_stiffness>0</spring_stiffness>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="rotor_2">
|
|
<gravity>true</gravity>
|
|
<self_collide>false</self_collide>
|
|
<velocity_decay/>
|
|
<pose>0.427 0.403 0.083 0 0 0</pose>
|
|
<inertial>
|
|
<mass>0.016076923076923075</mass>
|
|
<inertia>
|
|
<ixx>3.8464910483993325e-07</ixx>
|
|
<iyy>2.6115851691700804e-05</iyy>
|
|
<izz>2.649858234714004e-05</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<visual name="rotor_2_visual">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/propeller_cw.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="rotor_2_collision">
|
|
<pose>0 0 0 0 0 0 </pose>
|
|
<geometry>
|
|
<box>
|
|
<size>0.2792307692307692 0.016923076923076923 0.0008461538461538462</size>
|
|
</box>
|
|
</geometry>
|
|
<surface>
|
|
<contact>
|
|
<ode>
|
|
<min_depth>0.001</min_depth>
|
|
<max_vel>0</max_vel>
|
|
</ode>
|
|
</contact>
|
|
<friction>
|
|
<ode/>
|
|
</friction>
|
|
</surface>
|
|
</collision>
|
|
</link>
|
|
<joint name="rotor_2_joint" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>rotor_2</child>
|
|
<axis>
|
|
<xyz>0 0 1</xyz>
|
|
<limit>
|
|
<lower>-1e+16</lower>
|
|
<upper>1e+16</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<spring_reference>0</spring_reference>
|
|
<spring_stiffness>0</spring_stiffness>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name="rotor_3">
|
|
<gravity>true</gravity>
|
|
<self_collide>false</self_collide>
|
|
<velocity_decay/>
|
|
<pose>-0.427 -0.403 0.083 0 0 0</pose>
|
|
<inertial>
|
|
<mass>0.016076923076923075</mass>
|
|
<inertia>
|
|
<ixx>3.8464910483993325e-07</ixx>
|
|
<iyy>2.6115851691700804e-05</iyy>
|
|
<izz>2.649858234714004e-05</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<visual name="rotor_3_visual">
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/propeller_cw.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<collision name="rotor_3_collision">
|
|
<pose>0 0 0 0 0 0 </pose>
|
|
<geometry>
|
|
<box>
|
|
<size>0.2792307692307692 0.016923076923076923 0.0008461538461538462</size>
|
|
</box>
|
|
</geometry>
|
|
<surface>
|
|
<contact>
|
|
<ode>
|
|
<min_depth>0.001</min_depth>
|
|
<max_vel>0</max_vel>
|
|
</ode>
|
|
</contact>
|
|
<friction>
|
|
<ode/>
|
|
</friction>
|
|
</surface>
|
|
</collision>
|
|
</link>
|
|
<joint name="rotor_3_joint" type="revolute">
|
|
<parent>base_link</parent>
|
|
<child>rotor_3</child>
|
|
<axis>
|
|
<xyz>0 0 1</xyz>
|
|
<limit>
|
|
<lower>-1e+16</lower>
|
|
<upper>1e+16</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<spring_reference>0</spring_reference>
|
|
<spring_stiffness>0</spring_stiffness>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
<link name='rotor_puller'>
|
|
<pose>0.0 0.379 0.0 -1.57 1.57 0</pose>
|
|
<inertial>
|
|
<pose>0 0 0 0 0 0</pose>
|
|
<mass>0.005</mass>
|
|
<inertia>
|
|
<ixx>9.75e-07</ixx>
|
|
<ixy>0</ixy>
|
|
<ixz>0</ixz>
|
|
<iyy>0.000166704</iyy>
|
|
<iyz>0</iyz>
|
|
<izz>0.000167604</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<collision name='rotor_puller_collision'>
|
|
<geometry>
|
|
<cylinder>
|
|
<length>0.005</length>
|
|
<radius>0.06</radius>
|
|
</cylinder>
|
|
</geometry>
|
|
<surface>
|
|
<contact>
|
|
<ode/>
|
|
</contact>
|
|
<friction>
|
|
<ode/>
|
|
</friction>
|
|
</surface>
|
|
</collision>
|
|
<visual name='rotor_puller_visual'>
|
|
<geometry>
|
|
<mesh>
|
|
<uri>model://foxtech_loong_2160/meshes/propeller_cw.dae</uri>
|
|
</mesh>
|
|
</geometry>
|
|
</visual>
|
|
<gravity>1</gravity>
|
|
<velocity_decay/>
|
|
<self_collide>0</self_collide>
|
|
</link>
|
|
<joint name='rotor_puller_joint' type='revolute'>
|
|
<pose>0.0 0 0.0 0 -1.57 0</pose>
|
|
<child>rotor_puller</child>
|
|
<parent>base_link</parent>
|
|
<axis>
|
|
<xyz>1 0 0</xyz>
|
|
<limit>
|
|
<lower>-1e+16</lower>
|
|
<upper>1e+16</upper>
|
|
</limit>
|
|
<dynamics>
|
|
<spring_reference>0</spring_reference>
|
|
<spring_stiffness>0</spring_stiffness>
|
|
</dynamics>
|
|
</axis>
|
|
</joint>
|
|
|
|
<plugin filename="gz-sim-multicopter-motor-model-system" name="gz::sim::systems::MulticopterMotorModel">
|
|
<jointName>rotor_0_joint</jointName>
|
|
<linkName>rotor_0</linkName>
|
|
<turningDirection>ccw</turningDirection>
|
|
<timeConstantUp>0.0125</timeConstantUp>
|
|
<timeConstantDown>0.025</timeConstantDown>
|
|
<maxRotVelocity>1500</maxRotVelocity>
|
|
<motorConstant>2e-05</motorConstant>
|
|
<momentConstant>0.06</momentConstant>
|
|
<commandSubTopic>command/motor_speed</commandSubTopic>
|
|
<motorNumber>0</motorNumber>
|
|
<rotorDragCoefficient>0.000106428</rotorDragCoefficient>
|
|
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
|
<rotorVelocitySlowdownSim>20</rotorVelocitySlowdownSim>
|
|
<motorType>velocity</motorType>
|
|
</plugin>
|
|
<!-- <plugin name='back_left_motor_model' filename='libgazebo_motor_model.so'> -->
|
|
<plugin filename="gz-sim-multicopter-motor-model-system" name="gz::sim::systems::MulticopterMotorModel">
|
|
<jointName>rotor_1_joint</jointName>
|
|
<linkName>rotor_1</linkName>
|
|
<turningDirection>ccw</turningDirection>
|
|
<timeConstantUp>0.0125</timeConstantUp>
|
|
<timeConstantDown>0.025</timeConstantDown>
|
|
<maxRotVelocity>1500</maxRotVelocity>
|
|
<motorConstant>2e-05</motorConstant>
|
|
<momentConstant>0.06</momentConstant>
|
|
<commandSubTopic>command/motor_speed</commandSubTopic>
|
|
<motorNumber>1</motorNumber>
|
|
<rotorDragCoefficient>0.000106428</rotorDragCoefficient>
|
|
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
|
<rotorVelocitySlowdownSim>20</rotorVelocitySlowdownSim>
|
|
<motorType>velocity</motorType>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-multicopter-motor-model-system"
|
|
name="gz::sim::systems::MulticopterMotorModel">
|
|
<jointName>rotor_2_joint</jointName>
|
|
<linkName>rotor_2</linkName>
|
|
<turningDirection>cw</turningDirection>
|
|
<timeConstantUp>0.0125</timeConstantUp>
|
|
<timeConstantDown>0.025</timeConstantDown>
|
|
<maxRotVelocity>1500</maxRotVelocity>
|
|
<motorConstant>2e-05</motorConstant>
|
|
<momentConstant>0.06</momentConstant>
|
|
<commandSubTopic>command/motor_speed</commandSubTopic>
|
|
<motorNumber>2</motorNumber>
|
|
<rotorDragCoefficient>0.000106428</rotorDragCoefficient>
|
|
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
|
<rotorVelocitySlowdownSim>20</rotorVelocitySlowdownSim>
|
|
<motorType>velocity</motorType>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-multicopter-motor-model-system"
|
|
name="gz::sim::systems::MulticopterMotorModel">
|
|
<jointName>rotor_3_joint</jointName>
|
|
<linkName>rotor_3</linkName>
|
|
<turningDirection>cw</turningDirection>
|
|
<timeConstantUp>0.0125</timeConstantUp>
|
|
<timeConstantDown>0.025</timeConstantDown>
|
|
<maxRotVelocity>1500</maxRotVelocity>
|
|
<motorConstant>2e-05</motorConstant>
|
|
<momentConstant>0.06</momentConstant>
|
|
<commandSubTopic>command/motor_speed</commandSubTopic>
|
|
<motorNumber>3</motorNumber>
|
|
<rotorDragCoefficient>0.000106428</rotorDragCoefficient>
|
|
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
|
<rotorVelocitySlowdownSim>20</rotorVelocitySlowdownSim>
|
|
<motorType>velocity</motorType>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-multicopter-motor-model-system"
|
|
name="gz::sim::systems::MulticopterMotorModel">
|
|
<jointName>rotor_puller_joint</jointName>
|
|
<linkName>rotor_puller</linkName>
|
|
<turningDirection>cw</turningDirection>
|
|
<timeConstantUp>0.0125</timeConstantUp>
|
|
<timeConstantDown>0.025</timeConstantDown>
|
|
<maxRotVelocity>3500</maxRotVelocity>
|
|
<motorConstant>8.54858e-06</motorConstant>
|
|
<momentConstant>0.01</momentConstant>
|
|
<commandSubTopic>command/motor_speed</commandSubTopic>
|
|
<motorNumber>4</motorNumber>
|
|
<rotorDragCoefficient>0.000106428</rotorDragCoefficient>
|
|
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
|
<rotorVelocitySlowdownSim>20</rotorVelocitySlowdownSim>
|
|
<motorType>velocity</motorType>
|
|
</plugin>
|
|
<plugin filename="gz-sim-lift-drag-system" name="gz::sim::systems::LiftDrag">
|
|
<a0>0.05984281113</a0>
|
|
<cla>4.752798721</cla>
|
|
<cda>0.6417112299</cda>
|
|
<cma>0.0</cma>
|
|
<alpha_stall>0.3391428111</alpha_stall>
|
|
<cla_stall>-3.85</cla_stall>
|
|
<cda_stall>-0.9233984055</cda_stall>
|
|
<cma_stall>0</cma_stall>
|
|
<cp>-0.05 0.3 0.05</cp>
|
|
<area>0.50</area>
|
|
<air_density>1.2041</air_density>
|
|
<forward>1 0 0</forward>
|
|
<upward>0 0 1</upward>
|
|
<link_name>base_link</link_name>
|
|
<control_joint_name>servo_0</control_joint_name>
|
|
<control_joint_rad_to_cl>-1.0</control_joint_rad_to_cl>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-joint-position-controller-system" name="gz::sim::systems::JointPositionController">
|
|
<joint_name>servo_0</joint_name>
|
|
<sub_topic>servo_0</sub_topic>
|
|
</plugin>
|
|
<plugin filename="gz-sim-lift-drag-system" name="gz::sim::systems::LiftDrag">
|
|
<a0>0.05984281113</a0>
|
|
<cla>4.752798721</cla>
|
|
<cda>0.6417112299</cda>
|
|
<cma>0.0</cma>
|
|
<alpha_stall>0.3391428111</alpha_stall>
|
|
<cla_stall>-3.85</cla_stall>
|
|
<cda_stall>-0.9233984055</cda_stall>
|
|
<cma_stall>0</cma_stall>
|
|
<cp>-0.05 -0.3 0.05</cp>
|
|
<area>0.50</area>
|
|
<air_density>1.2041</air_density>
|
|
<forward>1 0 0</forward>
|
|
<upward>0 0 1</upward>
|
|
<link_name>base_link</link_name>
|
|
<control_joint_name>servo_1</control_joint_name>
|
|
<control_joint_rad_to_cl>-1.0</control_joint_rad_to_cl>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-joint-position-controller-system" name="gz::sim::systems::JointPositionController">
|
|
<joint_name>servo_1</joint_name>
|
|
<sub_topic>servo_1</sub_topic>
|
|
</plugin>
|
|
<plugin filename="gz-sim-lift-drag-system" name="gz::sim::systems::LiftDrag">
|
|
<a0>-0.2</a0>
|
|
<cla>4.752798721</cla>
|
|
<cda>0.6417112299</cda>
|
|
<cma>0.0</cma>
|
|
<alpha_stall>0.3391428111</alpha_stall>
|
|
<cla_stall>-3.85</cla_stall>
|
|
<cda_stall>-0.9233984055</cda_stall>
|
|
<cma_stall>0</cma_stall>
|
|
<cp>-0.5 0 0</cp>
|
|
<area>0.01</area>
|
|
<air_density>1.2041</air_density>
|
|
<forward>1 0 0</forward>
|
|
<upward>0 0 1</upward>
|
|
<link_name>base_link</link_name>
|
|
<control_joint_name>servo_2</control_joint_name>
|
|
<control_joint_rad_to_cl>-12.0</control_joint_rad_to_cl>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-joint-position-controller-system" name="gz::sim::systems::JointPositionController">
|
|
<joint_name>servo_2</joint_name>
|
|
<sub_topic>servo_2</sub_topic>
|
|
</plugin>
|
|
<plugin filename="gz-sim-lift-drag-system" name="gz::sim::systems::LiftDrag">
|
|
<a0>0.0</a0>
|
|
<cla>4.752798721</cla>
|
|
<cda>0.6417112299</cda>
|
|
<cma>0.0.</cma>
|
|
<alpha_stall>0.3391428111</alpha_stall>
|
|
<cla_stall>-3.85</cla_stall>
|
|
<cda_stall>-0.9233984055</cda_stall>
|
|
<cma_stall>0</cma_stall>
|
|
<cp>-0.5 0 0.05</cp>
|
|
<area>0.02</area>
|
|
<air_density>1.2041</air_density>
|
|
<forward>1 0 0</forward>
|
|
<upward>0 1 0</upward>
|
|
<link_name>base_link</link_name>
|
|
<control_joint_name>servo_3</control_joint_name>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-joint-position-controller-system" name="gz::sim::systems::JointPositionController">
|
|
<joint_name>servo_3</joint_name>
|
|
<sub_topic>servo_3</sub_topic>
|
|
</plugin>
|
|
<plugin filename="gz-sim-lift-drag-system" name="gz::sim::systems::LiftDrag">
|
|
<a0>0.0</a0>
|
|
<cla>4.752798721</cla>
|
|
<cda>0.6417112299</cda>
|
|
<cma>0.0.</cma>
|
|
<alpha_stall>0.3391428111</alpha_stall>
|
|
<cla_stall>-3.85</cla_stall>
|
|
<cda_stall>-0.9233984055</cda_stall>
|
|
<cma_stall>0</cma_stall>
|
|
<cp>-0.5 0 0.05</cp>
|
|
<area>0.02</area>
|
|
<air_density>1.2041</air_density>
|
|
<forward>1 0 0</forward>
|
|
<upward>0 1 0</upward>
|
|
<link_name>base_link</link_name>
|
|
<control_joint_name>servo_4</control_joint_name>
|
|
</plugin>
|
|
<plugin
|
|
filename="gz-sim-joint-position-controller-system" name="gz::sim::systems::JointPositionController">
|
|
<joint_name>servo_4</joint_name>
|
|
<sub_topic>servo_4</sub_topic>
|
|
</plugin>
|
|
</model>
|
|
</sdf>
|