Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" ?>
- <robot name="plane">
- <link name="base_link">
- <inertial>
- <mass value="1.5"/>
- <origin xyz="0 0 0" rpy="0 0 0"/>
- <inertia ixx="0.197563" ixy="0" ixz="0" iyy="0.1458929" iyz="0" izz="0.1477"/>
- </inertial>
- <collision name="base_link_collision">
- <origin xyz="0 0 0.176" rpy="0 0 0"/>
- <geometry>
- <box size="0.47 0.47 0.11"/>
- </geometry>
- </collision>
- <visual name="base_link_visual">
- <origin xyz="0.07 0 0.166" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/body.dae" scale="0.1 0.1 0.1"/>
- </geometry>
- </visual>
- </link>
- <link name="imu_link">
- <inertial>
- <mass value="0.015"/>
- <origin xyz="0 0 0" rpy="0 0 0"/>
- <!-- <inertia ixx="1e-05" ixy="0" ixz="0" iyy="1e-05" iyz="0" izz="1e-05"/> -->
- </inertial>
- </link>
- <link name="airspeed_link">
- <inertial>
- <mass value="0.015"/>
- <origin xyz="0 0 0" rpy="0 0 0"/>
- <inertia ixx="1e-05" ixy="0" ixz="0" iyy="1e-05" iyz="0" izz="1e-05"/>
- </inertial>
- </link>
- <link name="rotor_puller">
- <inertial>
- <mass value="0.005"/>
- <origin xyz="0 0 0" rpy="0 0 0"/>
- <inertia ixx="9.75e-07" ixy="0" ixz="0" iyy="0.000166704" iyz="0" izz="0.000167604"/>
- </inertial>
- <collision name="rotor_puller_collision">
- <origin xyz="0 0 0" rpy="0 0 0"/>
- <geometry>
- <cylinder radius="0.1" length="0.005"/>
- </geometry>
- </collision>
- <visual name="rotor_puller_visual">
- <origin xyz="0 0 -0.09" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/iris_prop_ccw.dae" scale="1 1 1"/>
- </geometry>
- </visual>
- </link>
- <link name="left_elevon">
- <inertial>
- <mass value="0.001"/>
- <origin xyz="0 0.3 0" rpy="0 0 0"/>
- <inertia ixx="0.000001" ixy="0.0" ixz="0.0" iyy="0.000001" iyz="0.0" izz="0.000001"/>
- </inertial>
- <visual name="left_elevon_visual">
- <origin xyz="0.14 -0.4 -0.16" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/left_aileron.dae" scale="0.1 0.1 0.1"/>
- </geometry>
- </visual>
- </link>
- <link name="right_elevon">
- <inertial>
- <mass value="0.001"/>
- <origin xyz="0 -0.3 0" rpy="0 0 0"/>
- <inertia ixx="0.000001" ixy="0.0" ixz="0.0" iyy="0.000001" iyz="0.0" izz="0.000001"/>
- </inertial>
- <visual name="right_elevon_visual">
- <origin xyz="0.14 0.4 -0.16" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/right_aileron.dae" scale="0.1 0.1 0.1"/>
- </geometry>
- </visual>
- </link>
- <link name="left_flap">
- <inertial>
- <mass value="0.0001"/>
- <origin xyz="0 0.15 0" rpy="0 0 0"/>
- <inertia ixx="0.000001" ixy="0.0" ixz="0.0" iyy="0.000001" iyz="0.0" izz="0.000001"/>
- </inertial>
- <visual name="left_flap_visual">
- <origin xyz="0.14 -0.2 -0.16" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/left_flap.dae" scale="0.1 0.1 0.1"/>
- </geometry>
- </visual>
- </link>
- <link name="right_flap">
- <inertial>
- <mass value="0.0001"/>
- <origin xyz="0 -0.15 0" rpy="0 0 0"/>
- <inertia ixx="0.000001" ixy="0.0" ixz="0.0" iyy="0.000001" iyz="0.0" izz="0.000001"/>
- </inertial>
- <visual name="right_flap_visual">
- <origin xyz="0.14 0.2 -0.16" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/right_flap.dae" scale="0.1 0.1 0.1"/>
- </geometry>
- </visual>
- </link>
- <link name="elevator">
- <inertial>
- <mass value="0.0001"/>
- <origin xyz="-0.5 0 0" rpy="0 0 0"/>
- <inertia ixx="0.000001" ixy="0.0" ixz="0.0" iyy="0.000001" iyz="0.0" izz="0.000001"/>
- </inertial>
- <visual name="elevator_visual">
- <origin xyz="0.56999 0 -0.08" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/elevators.dae" scale="0.1 0.1 0.1"/>
- </geometry>
- </visual>
- </link>
- <link name="rudder">
- <inertial>
- <mass value="0.0001"/>
- <origin xyz="-0.5 0 0.05" rpy="0 0 0"/>
- <inertia ixx="0.000001" ixy="0.0" ixz="0.0" iyy="0.000001" iyz="0.0" izz="0.000001"/>
- </inertial>
- <visual name="rudder_visual">
- <origin xyz="0.56999 0 -0.13" rpy="0 0 0"/>
- <geometry>
- <mesh filename="package://plane_simulation/models/plane/meshes/rudder.dae" scale="0.1 0.1 0.1"/>
- </geometry>
- </visual>
- </link>
- <joint name="imu_joint" type="revolute">
- <parent link="base_link"/>
- <child link="imu_link"/>
- <origin xyz="0 0 0.246" rpy="0 0 0"/>
- <!-- <axis xyz="0 0 0"/> -->
- <limit lower="0.0" upper="0.0" effort="0.0" velocity="0.0"/>
- </joint>
- <joint name="airspeed_joint" type="revolute">
- <parent link="base_link"/>
- <child link="airspeed_link"/>
- <origin xyz="0 0 0.246" rpy="0 0 0"/>
- <axis xyz="1 0 0"/>
- <limit lower="0.0" upper="0.0" effort="0.0" velocity="0.0"/>
- </joint>
- <joint name="rotor_puller_joint" type="revolute">
- <parent link="base_link"/>
- <child link="rotor_puller"/>
- <origin xyz="0.3 0 0.246" rpy="0 1.57 0"/>
- <axis xyz="7.9e-04 0.0e+00 1.0e+00"/>
- <limit lower="-1e+16" upper="1e+16" effort="0.0" velocity="0.0"/>
- </joint>
- <joint name="left_elevon_joint" type="revolute">
- <parent link="base_link"/>
- <child link="left_elevon"/>
- <origin xyz="-0.07 0.4 0.326" rpy="0 0 0"/>
- <axis xyz="0 1 0"/>
- <limit lower="-1e+16" upper="1e+16" effort="0.0" velocity="0.0"/>
- <!-- <limit lower="-0.53" upper="0.53" effort="2000.0" velocity="0.0"/> -->
- </joint>
- <joint name="right_elevon_joint" type="revolute">
- <parent link="base_link"/>
- <child link="right_elevon"/>
- <origin xyz="-0.07 -0.4 0.326" rpy="0 0 0"/>
- <axis xyz="0 1 0"/>
- <limit lower="-0.53" upper="0.53" effort="0.0" velocity="0.0"/>
- </joint>
- <joint name="left_flap_joint" type="revolute">
- <parent link="base_link"/>
- <child link="left_flap"/>
- <origin xyz="-0.07 0.2 0.326" rpy="0 0 0"/>
- <axis xyz="0 1 0"/>
- <limit lower="-0.53" upper="0.53" effort="0.0" velocity="0.0"/>
- </joint>
- <joint name="right_flap_joint" type="revolute">
- <parent link="base_link"/>
- <child link="right_flap"/>
- <origin xyz="-0.07 -0.2 0.326" rpy="0 0 0"/>
- <axis xyz="0 1 0"/>
- <limit lower="-0.53" upper="0.53" effort="0.0" velocity="0.0"/>
- </joint>
- <joint name="elevator_joint" type="revolute">
- <parent link="base_link"/>
- <child link="elevator"/>
- <origin xyz="-0.5 0 0.246" rpy="0 0 0"/>
- <axis xyz="0 1 0"/>
- <limit lower="-0.53" upper="0.53" effort="0.0" velocity="0.0"/>
- </joint>
- <joint name="rudder_joint" type="revolute">
- <parent link="base_link"/>
- <child link="rudder"/>
- <origin xyz="-0.5 0 0.296" rpy="0 0 0"/>
- <axis xyz="0 0 1"/>
- <limit lower="-0.53" upper="0.53" effort="0.0" velocity="0.0"/>
- </joint>
- <gazebo>
- <plugin name="left_wing" filename="libLiftDragPlugin.so">
- <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.45 0.05</cp>
- <area>0.6</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>
- left_elevon_joint
- </control_joint_name>
- <control_joint_rad_to_cl>-0.5</control_joint_rad_to_cl>
- <robotNamespace></robotNamespace>
- <windSubTopic>world_wind</windSubTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name="right_wing" filename="libLiftDragPlugin.so">
- <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.45 0.05</cp>
- <area>0.6</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>
- right_elevon_joint
- </control_joint_name>
- <control_joint_rad_to_cl>-0.5</control_joint_rad_to_cl>
- <robotNamespace></robotNamespace>
- <windSubTopic>world_wind</windSubTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name="left_flap" filename="libLiftDragPlugin.so">
- <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.15 0.05</cp>
- <area>0.6</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>
- left_flap_joint
- </control_joint_name>
- <control_joint_rad_to_cl>-0.5</control_joint_rad_to_cl>
- <robotNamespace></robotNamespace>
- <windSubTopic>world_wind</windSubTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name="right_flap" filename="libLiftDragPlugin.so">
- <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.15 0.05</cp>
- <area>0.6</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>
- right_flap_joint
- </control_joint_name>
- <control_joint_rad_to_cl>-0.5</control_joint_rad_to_cl>
- <robotNamespace></robotNamespace>
- <windSubTopic>world_wind</windSubTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name="elevator" filename="libLiftDragPlugin.so">
- <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>
- elevator_joint
- </control_joint_name>
- <control_joint_rad_to_cl>-4.0</control_joint_rad_to_cl>
- <robotNamespace></robotNamespace>
- <windSubTopic>world_wind</windSubTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name="rudder" filename="libLiftDragPlugin.so">
- <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>
- <robotNamespace></robotNamespace>
- <windSubTopic>world_wind</windSubTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name='puller' filename='libgazebo_motor_model.so'>
- <robotNamespace></robotNamespace>
- <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>/gazebo/command/motor_speed</commandSubTopic>
- <motorNumber>4</motorNumber>
- <rotorDragCoefficient>8.06428e-05</rotorDragCoefficient>
- <rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
- <motorSpeedPubTopic>/motor_speed/4</motorSpeedPubTopic>
- <rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
- <robotNamespace></robotNamespace>
- <windSubTopic>world_wind</windSubTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name='gazebo_imu_plugin' filename='libgazebo_imu_plugin.so'>
- <robotNamespace></robotNamespace>
- <linkName>imu_link</linkName>
- <imuTopic>/imu</imuTopic>
- <gyroscopeNoiseDensity>0.0003394</gyroscopeNoiseDensity>
- <gyroscopeRandomWalk>3.8785e-05</gyroscopeRandomWalk>
- <gyroscopeBiasCorrelationTime>1000.0</gyroscopeBiasCorrelationTime>
- <gyroscopeTurnOnBiasSigma>0.0087</gyroscopeTurnOnBiasSigma>
- <accelerometerNoiseDensity>0.004</accelerometerNoiseDensity>
- <accelerometerRandomWalk>0.006</accelerometerRandomWalk>
- <accelerometerBiasCorrelationTime>300.0</accelerometerBiasCorrelationTime>
- <accelerometerTurnOnBiasSigma>0.196</accelerometerTurnOnBiasSigma>
- </plugin>
- </gazebo>
- <!-- <gazebo> -->
- <!-- <plugin name='groundtruth_plugin' filename='libgazebo_groundtruth_plugin.so'> -->
- <!-- <robotNamespace/> -->
- <!-- </plugin> -->
- <!-- </gazebo> -->
- <gazebo>
- <plugin name='magnetometer_plugin' filename='libgazebo_magnetometer_plugin.so'>
- <robotNamespace/>
- <pubRate>100</pubRate>
- <noiseDensity>0.0004</noiseDensity>
- <randomWalk>6.4e-06</randomWalk>
- <biasCorrelationTime>600</biasCorrelationTime>
- <magTopic>/mag</magTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name='barometer_plugin' filename='libgazebo_barometer_plugin.so'>
- <robotNamespace/>
- <pubRate>50</pubRate>
- <baroTopic>/baro</baroTopic>
- </plugin>
- </gazebo>
- <gazebo>
- <plugin name='airspeed_plugin' filename='libgazebo_airspeed_plugin.so'>
- <robotNamespace/>
- <linkName>airspeed_link</linkName>
- </plugin>
- </gazebo>
- <gazebo name="gps_gazebo">
- <link name="gps_link">
- <pose>0 0 0 0 0 0</pose>
- <inertial>
- <pose>0 0 0 0 0 0</pose>
- <mass>0.01</mass>
- <inertia>
- <ixx>2.1733e-6</ixx>
- <ixy>0</ixy>
- <ixz>0</ixz>
- <iyy>2.1733e-6</iyy>
- <iyz>0</iyz>
- <izz>1.8e-7</izz>
- </inertia>
- </inertial>
- <sensor name="gps" type="gps">
- <pose>0 0 0 0 0 0</pose>
- <plugin name="gps_plugin" filename="libgazebo_gps_plugin.so">
- <robotNamespace></robotNamespace>
- <gpsNoise>true</gpsNoise>
- <gpsXYRandomWalk>2.0</gpsXYRandomWalk>
- <gpsZRandomWalk>4.0</gpsZRandomWalk>
- <gpsXYNoiseDensity>2.0e-4</gpsXYNoiseDensity>
- <gpsZNoiseDensity>4.0e-4</gpsZNoiseDensity>
- <gpsVXYNoiseDensity>0.2</gpsVXYNoiseDensity>
- <gpsVZNoiseDensity>0.4</gpsVZNoiseDensity>
- <update_rate>10</update_rate>
- <topic>gps</topic>
- </plugin>
- </sensor>
- </link>
- <joint name="gps_joint" type='fixed'>
- <parent>base_link</parent>
- <child>gps_link</child>
- </joint>
- </gazebo>
- <gazebo>
- <plugin name='mavlink_interface' filename='libgazebo_mavlink_interface.so'>
- <robotNamespace></robotNamespace>
- <imuSubTopic>/imu</imuSubTopic>
- <magSubTopic>/mag</magSubTopic>
- <baroSubTopic>/baro</baroSubTopic>
- <gpsSubTopic>/gps</gpsSubTopic>
- <mavlink_addr>INADDR_ANY</mavlink_addr>
- <mavlink_udp_port>14560</mavlink_udp_port>
- <serialEnabled>false</serialEnabled>
- <serialDevice>/dev/ttyACM0</serialDevice>
- <baudRate>921600</baudRate>
- <qgc_addr>INADDR_ANY</qgc_addr>
- <qgc_udp_port>14550</qgc_udp_port>
- <sdk_addr>INADDR_ANY</sdk_addr>
- <sdk_udp_port>14540</sdk_udp_port>
- <hil_mode>false</hil_mode>
- <hil_state_level>false</hil_state_level>
- <enable_lockstep>true</enable_lockstep>
- <use_tcp>true</use_tcp>
- <motorSpeedCommandPubTopic>/gazebo/command/motor_speed</motorSpeedCommandPubTopic>
- <control_channels>
- <channel name="rudder">
- <input_index>2</input_index>
- <input_offset>0</input_offset>
- <input_scaling>1</input_scaling>
- <zero_position_disarmed>0</zero_position_disarmed>
- <zero_position_armed>0</zero_position_armed>
- <joint_control_type>position_kinematic</joint_control_type>
- <joint_name>rudder_joint</joint_name>
- </channel>
- <channel name="rotor4">
- <input_index>4</input_index>
- <input_offset>0</input_offset>
- <input_scaling>3500</input_scaling>
- <zero_position_disarmed>0</zero_position_disarmed>
- <zero_position_armed>0</zero_position_armed>
- <joint_control_type>velocity</joint_control_type>
- <joint_name>rotor_puller_joint</joint_name>
- </channel>
- <channel name="left_elevon">
- <input_index>5</input_index>
- <input_offset>0</input_offset>
- <input_scaling>1</input_scaling>
- <zero_position_disarmed>0</zero_position_disarmed>
- <zero_position_armed>0</zero_position_armed>
- <joint_control_type>position_kinematic</joint_control_type>
- <joint_name>left_elevon_joint</joint_name>
- </channel>
- <channel name="right_elevon">
- <input_index>6</input_index>
- <input_offset>0</input_offset>
- <input_scaling>1</input_scaling>
- <zero_position_disarmed>0</zero_position_disarmed>
- <zero_position_armed>0</zero_position_armed>
- <joint_control_type>position_kinematic</joint_control_type>
- <joint_name>right_elevon_joint</joint_name>
- </channel>
- <channel name="elevator">
- <input_index>7</input_index>
- <input_offset>0</input_offset>
- <input_scaling>1</input_scaling>
- <zero_position_disarmed>0</zero_position_disarmed>
- <zero_position_armed>0</zero_position_armed>
- <joint_control_type>position_kinematic</joint_control_type>
- <joint_name>elevator_joint</joint_name>
- </channel>
- <channel name="left_flap">
- <input_index>3</input_index>
- <input_offset>0</input_offset>
- <input_scaling>-1</input_scaling>
- <zero_position_disarmed>0</zero_position_disarmed>
- <zero_position_armed>0</zero_position_armed>
- <joint_control_type>position_kinematic</joint_control_type>
- <joint_name>left_flap_joint</joint_name>
- </channel>
- <channel name="right_flap">
- <input_index>8</input_index>
- <input_offset>0</input_offset>
- <input_scaling>-1</input_scaling>
- <zero_position_disarmed>0</zero_position_disarmed>
- <zero_position_armed>0</zero_position_armed>
- <joint_control_type>position_kinematic</joint_control_type>
- <joint_name>right_flap_joint</joint_name>
- </channel>
- </control_channels>
- </plugin>
- </gazebo>
- </robot>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement