delete some models
This commit is contained in:
parent
527175761b
commit
631860926d
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0"?>
|
||||
<sdf version="1.5">
|
||||
<model name="3d_lidar">
|
||||
<link name="link">
|
||||
|
||||
<inertial>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<mass>0.001</mass>
|
||||
<inertia>
|
||||
<ixx>4.15e-6</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>2.407e-6</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>2.407e-6</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<mesh>
|
||||
<uri>model://hokuyo/meshes/hokuyo.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
|
||||
<sensor name='3d_lidar' type='gpu_ray'>
|
||||
<ray>
|
||||
<scan>
|
||||
<horizontal>
|
||||
<samples>512</samples>
|
||||
<resolution>1</resolution>
|
||||
<min_angle>-3.1415926535897931</min_angle>
|
||||
<max_angle>3.1415926535897931</max_angle>
|
||||
</horizontal>
|
||||
<vertical>
|
||||
<samples>32</samples>
|
||||
<min_angle>-0.2617993877991494365</min_angle>
|
||||
<max_angle>0.2617993877991494365</max_angle>
|
||||
</vertical>
|
||||
</scan>
|
||||
<range>
|
||||
<min>0.2</min>
|
||||
<max>30</max>
|
||||
<resolution>0.01</resolution>
|
||||
</range>
|
||||
</ray>
|
||||
<plugin name='3d_laser' filename='libgazebo_ros_velodyne_gpu_laser.so'>
|
||||
<topicName>/velodyne_points</topicName>
|
||||
<frameName>laser_3d</frameName>
|
||||
<gaussianNoise>0.008</gaussianNoise>
|
||||
</plugin>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>500</update_rate>
|
||||
<visualize>0</visualize>
|
||||
</sensor>
|
||||
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>3d_lidar</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">3d_gpu_lidar.sdf</sdf>
|
||||
<author>
|
||||
<name>TanShaochang</name>
|
||||
<email>478710209@qq.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
3D lidar 32
|
||||
</description>
|
||||
|
||||
</model>
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0"?>
|
||||
<sdf version="1.5">
|
||||
<model name="3d_lidar">
|
||||
<link name="link">
|
||||
|
||||
<inertial>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<mass>0.001</mass>
|
||||
<inertia>
|
||||
<ixx>4.15e-6</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>2.407e-6</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>2.407e-6</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<mesh>
|
||||
<uri>model://hokuyo/meshes/hokuyo.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
|
||||
<sensor name='3d_lidar' type='ray'>
|
||||
<ray>
|
||||
<scan>
|
||||
<horizontal>
|
||||
<samples>512</samples>
|
||||
<resolution>1</resolution>
|
||||
<min_angle>-3.1415926535897931</min_angle>
|
||||
<max_angle>3.1415926535897931</max_angle>
|
||||
</horizontal>
|
||||
<vertical>
|
||||
<samples>32</samples>
|
||||
<min_angle>-0.2617993877991494365</min_angle>
|
||||
<max_angle>0.2617993877991494365</max_angle>
|
||||
</vertical>
|
||||
</scan>
|
||||
<range>
|
||||
<min>0.2</min>
|
||||
<max>30</max>
|
||||
<resolution>0.01</resolution>
|
||||
</range>
|
||||
</ray>
|
||||
<plugin name='3d_laser' filename='libgazebo_ros_velodyne_laser.so'>
|
||||
<topicName>/velodyne_points</topicName>
|
||||
<frameName>laser_3d</frameName>
|
||||
<gaussianNoise>0.008</gaussianNoise>
|
||||
</plugin>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>500</update_rate>
|
||||
<visualize>0</visualize>
|
||||
</sensor>
|
||||
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>3d_lidar</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">3d_lidar.sdf</sdf>
|
||||
<author>
|
||||
<name>TanShaochang</name>
|
||||
<email>478710209@qq.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
3D lidar 32
|
||||
</description>
|
||||
|
||||
</model>
|
|
@ -0,0 +1,777 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- DO NOT EDIT: Generated from matrice_100.sdf.jinja -->
|
||||
<sdf version="1.5">
|
||||
|
||||
<model name="matrice_100">
|
||||
|
||||
<pose>0 0 0.2 0 0 0</pose>
|
||||
|
||||
<self_collide>false</self_collide>
|
||||
|
||||
<static>false</static>
|
||||
|
||||
|
||||
<link name="fuselage">
|
||||
<inertial>
|
||||
<mass>2.0</mass>
|
||||
<inertia>
|
||||
<ixx>0.0216666666667</ixx>
|
||||
<iyy>0.0216666666667</iyy>
|
||||
<izz>0.04</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
|
||||
<gravity>true</gravity>
|
||||
<self_collide>false</self_collide>
|
||||
<velocity_decay/>
|
||||
|
||||
<visual name="fuselage_visual">
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://matrice_100/meshes/Matrice_100.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
|
||||
<collision name="fuselage_collision">
|
||||
<pose>0 0 -0.025 0 0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.459619407771 0.459619407771 0.25</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>
|
||||
|
||||
<!--Rotor 0 -->
|
||||
<link name="rotor_0">
|
||||
|
||||
<gravity>true</gravity>
|
||||
<self_collide>false</self_collide>
|
||||
<velocity_decay/>
|
||||
|
||||
<pose>0.229809703886 -0.229809703886 0.06 0 0 0</pose>
|
||||
<inertial>
|
||||
<mass>0.019</mass>
|
||||
<inertia>
|
||||
<ixx>6.34916666667e-07</ixx>
|
||||
<iyy>4.31078333333e-05</iyy>
|
||||
<izz>4.37395833333e-05</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name="rotor_0_visual">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://matrice_100/meshes/dji_13455_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
|
||||
<collision name="rotor_0_collision">
|
||||
<pose>0 0 0 0 0 0 </pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.33 0.02 0.001</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>fuselage</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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!--<plugin name="rotor_0_top_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_0</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<!--<plugin name="rotor_0_bottom_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_0</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<plugin name='rotor_0_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_0_joint</jointName>
|
||||
<linkName>rotor_0</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>0</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/0</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--Rotor 1 -->
|
||||
<link name="rotor_1">
|
||||
|
||||
<gravity>true</gravity>
|
||||
<self_collide>false</self_collide>
|
||||
<velocity_decay/>
|
||||
|
||||
<pose>-0.229809703886 0.229809703886 0.06 0 0 0</pose>
|
||||
<inertial>
|
||||
<mass>0.019</mass>
|
||||
<inertia>
|
||||
<ixx>6.34916666667e-07</ixx>
|
||||
<iyy>4.31078333333e-05</iyy>
|
||||
<izz>4.37395833333e-05</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name="rotor_1_visual">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://matrice_100/meshes/dji_13455_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
|
||||
<collision name="rotor_1_collision">
|
||||
<pose>0 0 0 0 0 0 </pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.33 0.02 0.001</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>fuselage</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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!--<plugin name="rotor_1_top_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_1</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<!--<plugin name="rotor_1_bottom_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_1</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<plugin name='rotor_1_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_1_joint</jointName>
|
||||
<linkName>rotor_1</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>1</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/1</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--Rotor 2 -->
|
||||
<link name="rotor_2">
|
||||
|
||||
<gravity>true</gravity>
|
||||
<self_collide>false</self_collide>
|
||||
<velocity_decay/>
|
||||
|
||||
<pose>0.229809703886 0.229809703886 0.06 0 0 0</pose>
|
||||
<inertial>
|
||||
<mass>0.019</mass>
|
||||
<inertia>
|
||||
<ixx>6.34916666667e-07</ixx>
|
||||
<iyy>4.31078333333e-05</iyy>
|
||||
<izz>4.37395833333e-05</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name="rotor_2_visual">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://matrice_100/meshes/dji_13455_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
|
||||
<collision name="rotor_2_collision">
|
||||
<pose>0 0 0 0 0 0 </pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.33 0.02 0.001</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>fuselage</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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!--<plugin name="rotor_2_top_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 -1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_2</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<!--<plugin name="rotor_2_bottom_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 -1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_2</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<plugin name='rotor_2_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_2_joint</jointName>
|
||||
<linkName>rotor_2</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>2</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/2</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--Rotor 3 -->
|
||||
<link name="rotor_3">
|
||||
|
||||
<gravity>true</gravity>
|
||||
<self_collide>false</self_collide>
|
||||
<velocity_decay/>
|
||||
|
||||
<pose>-0.229809703886 -0.229809703886 0.06 0 0 0</pose>
|
||||
<inertial>
|
||||
<mass>0.019</mass>
|
||||
<inertia>
|
||||
<ixx>6.34916666667e-07</ixx>
|
||||
<iyy>4.31078333333e-05</iyy>
|
||||
<izz>4.37395833333e-05</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name="rotor_3_visual">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://matrice_100/meshes/dji_13455_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
|
||||
<collision name="rotor_3_collision">
|
||||
<pose>0 0 0 0 0 0 </pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.33 0.02 0.001</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>fuselage</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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!--<plugin name="rotor_3_top_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 -1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_3</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<!--<plugin name="rotor_3_bottom_blade" filename="libLiftDragPlugin.so">-->
|
||||
<!--<a0>0.05984281113</a0>-->
|
||||
<!--<cla>4.752798721</cla>-->
|
||||
<!--<cda>0.6417112299</cda>-->
|
||||
<!--<cma>-1.8</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.0825 0 0</cp>-->
|
||||
<!--<area>0.0033</area>-->
|
||||
<!--<air_density>1.2041</air_density>-->
|
||||
<!--<forward>0 -1 0</forward>-->
|
||||
<!--<upward>0 0 1</upward>-->
|
||||
<!--<link_name>rotor_3</link_name>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<plugin name='rotor_3_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_3_joint</jointName>
|
||||
<linkName>rotor_3</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>3</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/3</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
|
||||
|
||||
|
||||
<!--Pixhawk autopilot-->
|
||||
<!--<include>-->
|
||||
<!--<uri>model://pixhawk</uri>-->
|
||||
<!--<pose>0 0 0.03 0 0 0</pose>-->
|
||||
<!--</include>-->
|
||||
|
||||
<!--<joint name="pixhawk_joint" type="fixed">-->
|
||||
<!--<parent>fuselage</parent>-->
|
||||
<!--<child>pixhawk::link</child>-->
|
||||
<!--</joint>-->
|
||||
|
||||
<!--3DR GPS and Magnetometer-->
|
||||
<!--<include>-->
|
||||
<!--<uri>model://3DR_gps_mag</uri>-->
|
||||
<!--<pose> 0 0 0.07 0 0 0</pose>-->
|
||||
<!--</include>-->
|
||||
|
||||
<!--<joint name="3DR_gps_mag_joint" type="fixed">-->
|
||||
<!--<parent>fuselage</parent>-->
|
||||
<!--<child>3DR_gps_mag::link</child>-->
|
||||
<!--</joint>-->
|
||||
|
||||
<!--This is what plugin should look like if using standard sensors-->
|
||||
<!--<plugin name="mavlink" filename="libgazebo_mavlink.so">-->
|
||||
<!--<imu_topic>fuselage/pixhawk/link/mpu-6000/imu</imu_topic>-->
|
||||
<!--<gps_topic>fuselage/3DR_gps_mag/link/ublox-neo-7</gps_topic>-->
|
||||
<!--<mag_topic>fuselage/3DR_gps_mag/link/HMC5883L</mag_topic>-->
|
||||
<!--<sonar_topic>fuselage/mb1240-xl-ez4/link/sonar</sonar_topic>-->
|
||||
<!--</plugin>-->
|
||||
|
||||
<plugin name="gps_plugin" filename="libgazebo_gps_plugin.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<gpsNoise>true</gpsNoise>
|
||||
</plugin>
|
||||
|
||||
<plugin name='mavlink_interface' filename='libgazebo_mavlink_interface.so'>
|
||||
<robotNamespace/>
|
||||
<imuSubTopic>/imu</imuSubTopic>
|
||||
<gpsSubTopic>/gps</gpsSubTopic>
|
||||
<magSubTopic>/mag</magSubTopic>
|
||||
<baroSubTopic>/baro</baroSubTopic>
|
||||
<mavlink_addr>INADDR_ANY</mavlink_addr>
|
||||
<mavlink_udp_port>14560</mavlink_udp_port>
|
||||
<mavlink_tcp_port>4560</mavlink_tcp_port>
|
||||
<serialEnabled>0</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>0</hil_mode>
|
||||
<hil_state_level>0</hil_state_level>
|
||||
<vehicle_is_tailsitter>0</vehicle_is_tailsitter>
|
||||
<send_vision_estimation>1</send_vision_estimation>
|
||||
<send_odometry>0</send_odometry>
|
||||
<enable_lockstep>1</enable_lockstep>
|
||||
<use_tcp>1</use_tcp>
|
||||
<motorSpeedCommandPubTopic>/gazebo/command/motor_speed</motorSpeedCommandPubTopic>
|
||||
<control_channels>
|
||||
<channel name='rotor1'>
|
||||
<input_index>0</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor2'>
|
||||
<input_index>1</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor3'>
|
||||
<input_index>2</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor4'>
|
||||
<input_index>3</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor5'>
|
||||
<input_index>4</input_index>
|
||||
<input_offset>1</input_offset>
|
||||
<input_scaling>324.6</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
<joint_control_pid>
|
||||
<p>0.1</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0.0</iMax>
|
||||
<iMin>0.0</iMin>
|
||||
<cmdMax>2</cmdMax>
|
||||
<cmdMin>-2</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_name>zephyr_delta_wing::propeller_joint</joint_name>
|
||||
</channel>
|
||||
<channel name='rotor6'>
|
||||
<input_index>5</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
<joint_name>zephyr_delta_wing::flap_left_joint</joint_name>
|
||||
<joint_control_pid>
|
||||
<p>10.0</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>20</cmdMax>
|
||||
<cmdMin>-20</cmdMin>
|
||||
</joint_control_pid>
|
||||
</channel>
|
||||
<channel name='rotor7'>
|
||||
<input_index>6</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
<joint_name>zephyr_delta_wing::flap_right_joint</joint_name>
|
||||
<joint_control_pid>
|
||||
<p>10.0</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>20</cmdMax>
|
||||
<cmdMin>-20</cmdMin>
|
||||
</joint_control_pid>
|
||||
</channel>
|
||||
<channel name='rotor8'>
|
||||
<input_index>7</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
</channel>
|
||||
</control_channels>
|
||||
</plugin>
|
||||
|
||||
<plugin name='gazebo_imu_plugin' filename='libgazebo_imu_plugin.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<linkName>fuselage</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>
|
||||
|
||||
</model>
|
||||
|
||||
</sdf>
|
||||
|
||||
|
||||
<!-- vim: set et ft=xml fenc=utf-8 ff=unix sts=0 sw=2 ts=2 : -->
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>DJI Matrice 100 Quadcopter</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">M100.sdf</sdf>
|
||||
<description>
|
||||
DJI Matrice 100 Quadcopter
|
||||
</description>
|
||||
|
||||
</model>
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>Hokuyo</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.2">model-1_2.sdf</sdf>
|
||||
<sdf version="1.3">model-1_3.sdf</sdf>
|
||||
<sdf version="1.4">model-1_4.sdf</sdf>
|
||||
<sdf version="1.5">model.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>John Hsu</name>
|
||||
<email>hsu@osrfoundation.org</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
Hokuyo model
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version="1.5">
|
||||
<model name="hokuyo_lidar">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<link name="link">
|
||||
<inertial>
|
||||
<mass>0.001</mass>
|
||||
<inertia> <!-- inertias are tricky to compute -->
|
||||
<ixx>0.001</ixx>
|
||||
<!-- for a box: ixx = 0.083 * mass * (y*y + z*z) -->
|
||||
<ixy>0.0</ixy>
|
||||
<!-- for a box: ixy = 0 -->
|
||||
<ixz>0.0</ixz>
|
||||
<!-- for a box: ixz = 0 -->
|
||||
<iyy>0.001</iyy>
|
||||
<!-- for a box: iyy = 0.083 * mass * (x*x + z*z) -->
|
||||
<iyz>0.0</iyz>
|
||||
<!-- for a box: iyz = 0 -->
|
||||
<izz>0.001</izz>
|
||||
<!-- for a box: izz = 0.083 * mass * (x*x + y*y) -->
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<mesh>
|
||||
<uri>model://hokuyo_lidar/meshes/hokuyo.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
<collision name="collision-base">
|
||||
<pose>0 0 -0.0145 0 0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.05 0.05 0.041</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<collision name="collision-top">
|
||||
<pose>0 0 0.0205 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<radius>0.021</radius>
|
||||
<length>0.029</length>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
</collision>
|
||||
<sensor name="laser" type="ray">
|
||||
<pose>0.01 0 0.0175 0 -0 0</pose>
|
||||
<ray>
|
||||
<scan>
|
||||
<horizontal>
|
||||
<samples>640</samples>
|
||||
<resolution>1</resolution>
|
||||
<min_angle>-3.14</min_angle>
|
||||
<max_angle>3.14</max_angle>
|
||||
</horizontal>
|
||||
</scan>
|
||||
<range>
|
||||
<min>0.08</min>
|
||||
<max>10</max>
|
||||
<resolution>0.01</resolution>
|
||||
</range>
|
||||
</ray>
|
||||
|
||||
<plugin name="gazebo_ros_head_hokuyo_controller" filename="libgazebo_ros_laser.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<topicName>scan</topicName>
|
||||
<frameName>laser_2d</frameName>
|
||||
</plugin>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>500</update_rate>
|
||||
<visualize>true</visualize>
|
||||
</sensor>
|
||||
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version="1.5">
|
||||
<model name="imu_gazebo">
|
||||
<link name="link">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<inertial>
|
||||
<mass>0.001</mass>
|
||||
<inertia>
|
||||
<ixx>0.000000166667</ixx>
|
||||
<iyy>0.000000166667</iyy>
|
||||
<izz>0.000000166667</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
|
||||
<sensor name="imu_sensor" type="imu">
|
||||
<always_on>true</always_on>
|
||||
<parent>link</parent>
|
||||
<update_rate>500</update_rate>
|
||||
<visualize>true</visualize>
|
||||
<topic>imu_gazebo</topic>
|
||||
<plugin filename="libgazebo_ros_imu_sensor.so" name="imu_plugin">
|
||||
<topicName>imu_gazebo</topicName>
|
||||
<bodyName>imu_link_stereo</bodyName>
|
||||
<updateRateHZ>500.0</updateRateHZ>
|
||||
<gaussianNoise>0.0</gaussianNoise>
|
||||
<xyzOffset>0 0 0</xyzOffset>
|
||||
<rpyOffset>0 0 0</rpyOffset>
|
||||
<frameName>imu_link_stereo</frameName>
|
||||
|
||||
<gyroscopeNoiseDensity>0.0006</gyroscopeNoiseDensity>
|
||||
<gyroscopeRandomWalk>0.000003</gyroscopeRandomWalk>
|
||||
<gyroscopeTurnOnBiasSigma>0.03</gyroscopeTurnOnBiasSigma>
|
||||
|
||||
<accelerometerNoiseDensity>0.002</accelerometerNoiseDensity>
|
||||
<accelerometerRandomWalk>0.00002</accelerometerRandomWalk>
|
||||
<accelerometerTurnOnBiasSigma>0.1</accelerometerTurnOnBiasSigma>
|
||||
|
||||
</plugin>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</sensor>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>Stereo</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">imu_gazebo.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Nate Koenig</name>
|
||||
<email>nate@osrfoundation.org</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_lidar'>
|
||||
|
||||
<include>
|
||||
<uri>model://iris</uri>
|
||||
</include>
|
||||
|
||||
<!-- For Hokuyo Lidar Payload -->
|
||||
<include>
|
||||
<uri>model://hokuyo_lidar</uri>
|
||||
<pose>0 0 0.5 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="lidar_joint" type="fixed">
|
||||
<child>hokuyo_lidar::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Iris with 2D LIDAR </name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_2d_lidar.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Tan Shaochang</name>
|
||||
<email>478710209@qq.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor with a 2D LIDAR.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_3d_lidar'>
|
||||
|
||||
<include>
|
||||
<uri>model://iris</uri>
|
||||
</include>
|
||||
|
||||
<!-- For Velodyne Lidar Payload -->
|
||||
<include>
|
||||
<uri>model://3d_gpu_lidar</uri>
|
||||
<pose>0 0 0.08 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="lidar_joint" type="fixed">
|
||||
<child>3d_lidar::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For Stereo Camera Payload -->
|
||||
<include>
|
||||
<uri>model://stereo_camera</uri>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="stereo_joint" type="fixed">
|
||||
<child>stereo_camera::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Iris with 3D LIDAR (GPU) </name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_3d_gpu_lidar.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Tan Shaochang</name>
|
||||
<email>478710209@qq.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor with a 3D LIDAR.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_3d_lidar'>
|
||||
|
||||
<include>
|
||||
<uri>model://iris</uri>
|
||||
</include>
|
||||
|
||||
<!-- For Velodyne Lidar Payload -->
|
||||
<include>
|
||||
<uri>model://3d_lidar</uri>
|
||||
<pose>0 0 0.08 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="lidar_joint" type="fixed">
|
||||
<child>3d_lidar::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For Stereo Camera Payload -->
|
||||
<include>
|
||||
<uri>model://stereo_camera</uri>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="stereo_joint" type="fixed">
|
||||
<child>stereo_camera::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Iris with 3D LIDAR </name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_2d_lidar.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Tan Shaochang</name>
|
||||
<email>478710209@qq.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor with a 3D LIDAR.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_arm'>
|
||||
|
||||
<include>
|
||||
<uri>model://iris</uri>
|
||||
</include>
|
||||
<!-- For Stereo Camera Payload -->
|
||||
<include>
|
||||
<uri>model://stereo_camera</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="stereo_joint" type="fixed">
|
||||
<child>stereo_camera::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!-- For Arm Payload -->
|
||||
<include>
|
||||
<uri>model://MY_ARM</uri>
|
||||
<pose>0 0 -0.1 1.57 0 0</pose>
|
||||
</include>
|
||||
<joint name="MY_ARM" type="fixed">
|
||||
<child>arm::link_0</child>
|
||||
<parent>MY_ARM::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>iris with arm</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_arm.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
Haoran Song added a pair of stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_vi_camera'>
|
||||
|
||||
<include>
|
||||
<uri>model://iris</uri>
|
||||
</include>
|
||||
|
||||
<!-- For vi_camera -->
|
||||
<include>
|
||||
<uri>model://vi_camera</uri>
|
||||
<pose>0 0 -0.09 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="vi_camera_joint" type="revolute">
|
||||
<child>vi_camera::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>iris with vi camera</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_vi_camera.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
Shaochang Tan added a pair of vi camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,622 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_downward_camera'>
|
||||
<!--iris body-->
|
||||
<link name='base_link'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<mass>1.5</mass>
|
||||
<inertia>
|
||||
<ixx>0.029125</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.029125</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.055225</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='base_link_inertia_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.47 0.47 0.11</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<min_depth>0.001</min_depth>
|
||||
<max_vel>0</max_vel>
|
||||
</ode>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='base_link_inertia_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
|
||||
|
||||
<link name='/imu_link'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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>
|
||||
</link>
|
||||
<joint name='/imu_joint' type='revolute'>
|
||||
<child>/imu_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>0</effort>
|
||||
<velocity>0</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<spring_reference>0</spring_reference>
|
||||
<spring_stiffness>0</spring_stiffness>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<link name='rotor_0'>
|
||||
<pose frame=''>0.13 -0.22 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_0_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_0_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_0_joint' type='revolute'>
|
||||
<child>rotor_0</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_1'>
|
||||
<pose frame=''>-0.13 0.2 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_1_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_1_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_1_joint' type='revolute'>
|
||||
<child>rotor_1</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_2'>
|
||||
<pose frame=''>0.13 0.22 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_2_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_2_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_2_joint' type='revolute'>
|
||||
<child>rotor_2</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_3'>
|
||||
<pose frame=''>-0.13 -0.2 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_3_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_3_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_3_joint' type='revolute'>
|
||||
<child>rotor_3</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
|
||||
|
||||
|
||||
<plugin name='rosbag' filename='libgazebo_multirotor_base_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<linkName>base_link</linkName>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_0_joint</jointName>
|
||||
<linkName>rotor_0</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>0</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/0</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_1_joint</jointName>
|
||||
<linkName>rotor_1</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>1</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/1</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_2_joint</jointName>
|
||||
<linkName>rotor_2</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>2</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/2</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_3_joint</jointName>
|
||||
<linkName>rotor_3</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>3</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/3</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='gps_plugin' filename='libgazebo_gps_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<gpsNoise>1</gpsNoise>
|
||||
</plugin>
|
||||
<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>
|
||||
<plugin name='barometer_plugin' filename='libgazebo_barometer_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<pubRate>50</pubRate>
|
||||
<baroTopic>/baro</baroTopic>
|
||||
</plugin>
|
||||
<plugin name='mavlink_interface' filename='libgazebo_mavlink_interface.so'>
|
||||
<robotNamespace/>
|
||||
<imuSubTopic>/imu</imuSubTopic>
|
||||
<gpsSubTopic>/gps</gpsSubTopic>
|
||||
<magSubTopic>/mag</magSubTopic>
|
||||
<baroSubTopic>/baro</baroSubTopic>
|
||||
<mavlink_addr>INADDR_ANY</mavlink_addr>
|
||||
<mavlink_udp_port>14560</mavlink_udp_port>
|
||||
<mavlink_tcp_port>4560</mavlink_tcp_port>
|
||||
<serialEnabled>0</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>0</hil_mode>
|
||||
<hil_state_level>0</hil_state_level>
|
||||
<vehicle_is_tailsitter>0</vehicle_is_tailsitter>
|
||||
<send_vision_estimation>1</send_vision_estimation>
|
||||
<send_odometry>0</send_odometry>
|
||||
<enable_lockstep>1</enable_lockstep>
|
||||
<use_tcp>1</use_tcp>
|
||||
<motorSpeedCommandPubTopic>/gazebo/command/motor_speed</motorSpeedCommandPubTopic>
|
||||
<control_channels>
|
||||
<channel name='rotor1'>
|
||||
<input_index>0</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor2'>
|
||||
<input_index>1</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor3'>
|
||||
<input_index>2</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor4'>
|
||||
<input_index>3</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor5'>
|
||||
<input_index>4</input_index>
|
||||
<input_offset>1</input_offset>
|
||||
<input_scaling>324.6</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
<joint_control_pid>
|
||||
<p>0.1</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0.0</iMax>
|
||||
<iMin>0.0</iMin>
|
||||
<cmdMax>2</cmdMax>
|
||||
<cmdMin>-2</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_name>zephyr_delta_wing::propeller_joint</joint_name>
|
||||
</channel>
|
||||
<channel name='rotor6'>
|
||||
<input_index>5</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
<joint_name>zephyr_delta_wing::flap_left_joint</joint_name>
|
||||
<joint_control_pid>
|
||||
<p>10.0</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>20</cmdMax>
|
||||
<cmdMin>-20</cmdMin>
|
||||
</joint_control_pid>
|
||||
</channel>
|
||||
<channel name='rotor7'>
|
||||
<input_index>6</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
<joint_name>zephyr_delta_wing::flap_right_joint</joint_name>
|
||||
<joint_control_pid>
|
||||
<p>10.0</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>20</cmdMax>
|
||||
<cmdMin>-20</cmdMin>
|
||||
</joint_control_pid>
|
||||
</channel>
|
||||
<channel name='rotor8'>
|
||||
<input_index>7</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
</channel>
|
||||
</control_channels>
|
||||
</plugin>
|
||||
<static>0</static>
|
||||
<plugin name='rotors_gazebo_imu_plugin' filename='libgazebo_imu_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<linkName>/imu_link</linkName>
|
||||
<imuTopic>/imu</imuTopic>
|
||||
<gyroscopeNoiseDensity>0.00018665</gyroscopeNoiseDensity>
|
||||
<gyroscopeRandomWalk>3.8785e-05</gyroscopeRandomWalk>
|
||||
<gyroscopeBiasCorrelationTime>1000.0</gyroscopeBiasCorrelationTime>
|
||||
<gyroscopeTurnOnBiasSigma>0.0087</gyroscopeTurnOnBiasSigma>
|
||||
<accelerometerNoiseDensity>0.00186</accelerometerNoiseDensity>
|
||||
<accelerometerRandomWalk>0.006</accelerometerRandomWalk>
|
||||
<accelerometerBiasCorrelationTime>300.0</accelerometerBiasCorrelationTime>
|
||||
<accelerometerTurnOnBiasSigma>0.196</accelerometerTurnOnBiasSigma>
|
||||
</plugin>
|
||||
|
||||
|
||||
|
||||
<include>
|
||||
<uri>model://monocular_camera</uri>
|
||||
<pose>0 0 -0.05 0 1.5707963 0</pose>
|
||||
</include>
|
||||
<joint name="monocular_down_joint" type="fixed">
|
||||
<child>monocular_camera::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Iris with downward camera </name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_downward_camera.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Guanzheng Wang</name>
|
||||
<email>gaunzhengcn@foxmail.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor with a downward camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,977 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_gimbal'>
|
||||
<!--iris body-->
|
||||
<link name='base_link'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<mass>1.5</mass>
|
||||
<inertia>
|
||||
<ixx>0.029125</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.029125</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.055225</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='base_link_inertia_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.47 0.47 0.11</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<min_depth>0.001</min_depth>
|
||||
<max_vel>0</max_vel>
|
||||
</ode>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='base_link_inertia_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<link name='/imu_link'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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>
|
||||
</link>
|
||||
<joint name='/imu_joint' type='revolute'>
|
||||
<child>/imu_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>0</effort>
|
||||
<velocity>0</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<spring_reference>0</spring_reference>
|
||||
<spring_stiffness>0</spring_stiffness>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<!--gimbal-->
|
||||
<link name="cgo3_mount_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.152 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='cgo3_mount_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_mount_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name='cgo3_mount_joint' type='revolute'>
|
||||
<child>cgo3_mount_link</child>
|
||||
<parent>base_link</parent>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
<link name="cgo3_vertical_arm_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.162 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='cgo3_vertical_arm_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_vertical_arm_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name='cgo3_vertical_arm_joint' type='revolute'>
|
||||
<child>cgo3_vertical_arm_link</child>
|
||||
<parent>cgo3_mount_link</parent>
|
||||
<pose>-0.026 0 -0.10 0 0 0</pose>
|
||||
<!--
|
||||
<controlIndex>6</controlIndex>
|
||||
-->
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<lower>-1e16</lower>
|
||||
<upper>1e16</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>0.1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
<limit>
|
||||
<!-- testing soft limits -->
|
||||
<cfm>0.1</cfm>
|
||||
<erp>0.2</erp>
|
||||
</limit>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
<link name="cgo3_horizontal_arm_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.081 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='cgo3_horizontal_arm_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_horizontal_arm_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name='cgo3_horizontal_arm_joint' type='revolute'>
|
||||
<child>cgo3_horizontal_arm_link</child>
|
||||
<parent>cgo3_vertical_arm_link</parent>
|
||||
<pose>0.026 0 -0.162 0 0 0</pose>
|
||||
<!--
|
||||
<controlIndex>7</controlIndex>
|
||||
-->
|
||||
<axis>
|
||||
<xyz>-1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>-0.785398</lower>
|
||||
<upper>0.785398</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>0.1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
<limit>
|
||||
<!-- testing soft limits -->
|
||||
<cfm>0.1</cfm>
|
||||
<erp>0.2</erp>
|
||||
</limit>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
<link name="cgo3_camera_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.162 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='cgo3_camera_collision'>
|
||||
<pose>-0.041 0 -0.162 0 0 0</pose>
|
||||
<geometry>
|
||||
<sphere>
|
||||
<radius>0.035</radius>
|
||||
</sphere>
|
||||
</geometry>
|
||||
<surface>
|
||||
<friction>
|
||||
<ode>
|
||||
<mu>1</mu>
|
||||
<mu2>1</mu2>
|
||||
</ode>
|
||||
</friction>
|
||||
<contact>
|
||||
<ode>
|
||||
<kp>1e+8</kp>
|
||||
<kd>1</kd>
|
||||
<max_vel>0.01</max_vel>
|
||||
<min_depth>0.001</min_depth>
|
||||
</ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='cgo3_camera_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_camera_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<sensor name="camera_imu" type="imu">
|
||||
<always_on>1</always_on>
|
||||
</sensor>
|
||||
<sensor name="camera" type="camera">
|
||||
<pose>-0.051 0 -0.162 0 0 3.14159</pose>
|
||||
<camera>
|
||||
<horizontal_fov>2.0</horizontal_fov>
|
||||
<image>
|
||||
<format>R8G8B8</format>
|
||||
<width>640</width>
|
||||
<height>360</height>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.05</near>
|
||||
<far>15000</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>10</update_rate>
|
||||
<visualize>false</visualize>
|
||||
<!-- how to make this work without using urdf?-->
|
||||
<plugin name="cgo3_camera_controller" filename="libgazebo_ros_camera.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<alwaysOn>true</alwaysOn>
|
||||
<updateRate>0.0</updateRate>
|
||||
<cameraName>cgo3_camera</cameraName>
|
||||
<imageTopicName>image_raw</imageTopicName>
|
||||
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
||||
<frameName>cgo3_camera_optical_frame</frameName>
|
||||
<hackBaseline>0.0</hackBaseline>
|
||||
<distortionK1>0.0</distortionK1>
|
||||
<distortionK2>0.0</distortionK2>
|
||||
<distortionK3>0.0</distortionK3>
|
||||
<distortionT1>0.0</distortionT1>
|
||||
<distortionT2>0.0</distortionT2>
|
||||
</plugin>
|
||||
|
||||
<!-- GStreamer camera plugin (needs a lot of CPU! Consider lowering the
|
||||
camera image size)
|
||||
<plugin name="GstCameraPlugin" filename="libgazebo_gst_camera_plugin.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<udpHost>localhost</udpHost>
|
||||
<udpPort>5600</udpPort>
|
||||
</plugin>
|
||||
<plugin name="GeotaggedImagesPlugin" filename="libgazebo_geotagged_images_plugin.so">
|
||||
<robotNamespace>typhoon_h480</robotNamespace>
|
||||
<interval>1</interval>
|
||||
<width>3840</width>
|
||||
<height>2160</height>
|
||||
<maximum_zoom>8.0</maximum_zoom>
|
||||
</plugin>
|
||||
-->
|
||||
</sensor>
|
||||
</link>
|
||||
<joint name='cgo3_camera_joint' type='revolute'>
|
||||
<child>cgo3_camera_link</child>
|
||||
<parent>cgo3_horizontal_arm_link</parent>
|
||||
<pose>-0.041 0.03 -0.162 0 0 0</pose>
|
||||
<axis>
|
||||
<xyz>0 -1 0</xyz>
|
||||
<limit>
|
||||
<lower>-1.05</lower>
|
||||
<upper>2.09</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>0.1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
<limit>
|
||||
<!-- testing soft limits -->
|
||||
<cfm>0.1</cfm>
|
||||
<erp>0.2</erp>
|
||||
</limit>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
<link name='rotor_0'>
|
||||
<pose frame=''>0.13 -0.22 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_0_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_0_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_0_joint' type='revolute'>
|
||||
<child>rotor_0</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_1'>
|
||||
<pose frame=''>-0.13 0.2 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_1_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_1_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_1_joint' type='revolute'>
|
||||
<child>rotor_1</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_2'>
|
||||
<pose frame=''>0.13 0.22 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_2_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_2_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_2_joint' type='revolute'>
|
||||
<child>rotor_2</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_3'>
|
||||
<pose frame=''>-0.13 -0.2 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_3_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_3_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_3_joint' type='revolute'>
|
||||
<child>rotor_3</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<plugin name='rosbag' filename='libgazebo_multirotor_base_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<linkName>base_link</linkName>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_0_joint</jointName>
|
||||
<linkName>rotor_0</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>0</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/0</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_1_joint</jointName>
|
||||
<linkName>rotor_1</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>1</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/1</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_2_joint</jointName>
|
||||
<linkName>rotor_2</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>2</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/2</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_3_joint</jointName>
|
||||
<linkName>rotor_3</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>3</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/3</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='gps_plugin' filename='libgazebo_gps_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<gpsNoise>1</gpsNoise>
|
||||
</plugin>
|
||||
<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>
|
||||
<plugin name='barometer_plugin' filename='libgazebo_barometer_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<pubRate>50</pubRate>
|
||||
<baroTopic>/baro</baroTopic>
|
||||
</plugin>
|
||||
<plugin name='mavlink_interface' filename='libgazebo_mavlink_interface.so'>
|
||||
<robotNamespace/>
|
||||
<imuSubTopic>/imu</imuSubTopic>
|
||||
<gpsSubTopic>/gps</gpsSubTopic>
|
||||
<magSubTopic>/mag</magSubTopic>
|
||||
<baroSubTopic>/baro</baroSubTopic>
|
||||
<mavlink_addr>INADDR_ANY</mavlink_addr>
|
||||
<mavlink_udp_port>14560</mavlink_udp_port>
|
||||
<mavlink_tcp_port>4560</mavlink_tcp_port>
|
||||
<serialEnabled>0</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>0</hil_mode>
|
||||
<hil_state_level>0</hil_state_level>
|
||||
<vehicle_is_tailsitter>0</vehicle_is_tailsitter>
|
||||
<send_vision_estimation>1</send_vision_estimation>
|
||||
<send_odometry>0</send_odometry>
|
||||
<enable_lockstep>1</enable_lockstep>
|
||||
<use_tcp>1</use_tcp>
|
||||
<motorSpeedCommandPubTopic>/gazebo/command/motor_speed</motorSpeedCommandPubTopic>
|
||||
<control_channels>
|
||||
<channel name='rotor1'>
|
||||
<input_index>0</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor2'>
|
||||
<input_index>1</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor3'>
|
||||
<input_index>2</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor4'>
|
||||
<input_index>3</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor5'>
|
||||
<input_index>4</input_index>
|
||||
<input_offset>1</input_offset>
|
||||
<input_scaling>324.6</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
<joint_control_pid>
|
||||
<p>0.1</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0.0</iMax>
|
||||
<iMin>0.0</iMin>
|
||||
<cmdMax>2</cmdMax>
|
||||
<cmdMin>-2</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_name>zephyr_delta_wing::propeller_joint</joint_name>
|
||||
</channel>
|
||||
<channel name='rotor6'>
|
||||
<input_index>5</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
<joint_name>zephyr_delta_wing::flap_left_joint</joint_name>
|
||||
<joint_control_pid>
|
||||
<p>10.0</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>20</cmdMax>
|
||||
<cmdMin>-20</cmdMin>
|
||||
</joint_control_pid>
|
||||
</channel>
|
||||
<channel name="gimbal_roll">
|
||||
<input_index>6</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>-3.1415</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position_gztopic</joint_control_type>
|
||||
<gztopic>/gimbal_roll_cmd</gztopic>
|
||||
<joint_name>iris_gimbal::cgo3_camera_joint</joint_name>
|
||||
</channel>
|
||||
<channel name="gimbal_pitch">
|
||||
<input_index>7</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>3.1415</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position_gztopic</joint_control_type>
|
||||
<gztopic>/gimbal_pitch_cmd</gztopic>
|
||||
<joint_name>iris_gimbal::cgo3_camera_joint</joint_name>
|
||||
</channel>
|
||||
<channel name="gimbal_yaw">
|
||||
<input_index>8</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>-3.1415</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position_gztopic</joint_control_type>
|
||||
<gztopic>/gimbal_yaw_cmd</gztopic>
|
||||
<joint_name>iris_gimbal::cgo3_vertical_arm_joint</joint_name>
|
||||
</channel>
|
||||
</control_channels>
|
||||
</plugin>
|
||||
<plugin name='gimbal_controller' filename='libgazebo_gimbal_controller_plugin.so'>
|
||||
<joint_yaw>iris_gimbal::cgo3_vertical_arm_joint</joint_yaw>
|
||||
<joint_roll>iris_gimbal::cgo3_horizontal_arm_joint</joint_roll>
|
||||
<joint_pitch>iris_gimbal::cgo3_camera_joint</joint_pitch>
|
||||
<control_gimbal_channels>
|
||||
<channel>
|
||||
<joint_control_pid>
|
||||
<p>0.6</p>
|
||||
<i>0.1</i>
|
||||
<d>0.02</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>1.0</cmdMax>
|
||||
<cmdMin>-1.0</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_axis>joint_yaw</joint_axis>
|
||||
</channel>
|
||||
<channel>
|
||||
<joint_control_pid>
|
||||
<p>0.8</p>
|
||||
<i>0.035</i>
|
||||
<d>0.02</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>0.3</cmdMax>
|
||||
<cmdMin>-0.3</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_axis>joint_roll</joint_axis>
|
||||
</channel>
|
||||
<channel>
|
||||
<joint_control_pid>
|
||||
<p>2.068</p>
|
||||
<i>0.01245</i>
|
||||
<d>0.01</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>0.3</cmdMax>
|
||||
<cmdMin>-0.3</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_axis>joint_pitch</joint_axis>
|
||||
</channel>
|
||||
</control_gimbal_channels>
|
||||
<gimbal_imu>camera_imu</gimbal_imu>
|
||||
</plugin>
|
||||
|
||||
<static>0</static>
|
||||
<plugin name='rotors_gazebo_imu_plugin' filename='libgazebo_imu_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<linkName>/imu_link</linkName>
|
||||
<imuTopic>/imu</imuTopic>
|
||||
<gyroscopeNoiseDensity>0.00018665</gyroscopeNoiseDensity>
|
||||
<gyroscopeRandomWalk>3.8785e-05</gyroscopeRandomWalk>
|
||||
<gyroscopeBiasCorrelationTime>1000.0</gyroscopeBiasCorrelationTime>
|
||||
<gyroscopeTurnOnBiasSigma>0.0087</gyroscopeTurnOnBiasSigma>
|
||||
<accelerometerNoiseDensity>0.00186</accelerometerNoiseDensity>
|
||||
<accelerometerRandomWalk>0.006</accelerometerRandomWalk>
|
||||
<accelerometerBiasCorrelationTime>300.0</accelerometerBiasCorrelationTime>
|
||||
<accelerometerTurnOnBiasSigma>0.196</accelerometerTurnOnBiasSigma>
|
||||
</plugin>
|
||||
<!-- For Stereo Camera Payload -->
|
||||
<include>
|
||||
<uri>model://stereo_camera</uri>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="stereo_joint" type="fixed">
|
||||
<child>stereo_camera::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>iris gimbal</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.4'>iris_gimbal.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
Haoran Song added a pair of stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_vi_camera'>
|
||||
|
||||
<include>
|
||||
<uri>model://iris</uri>
|
||||
</include>
|
||||
|
||||
<!-- For vi_camera -->
|
||||
<include>
|
||||
<uri>model://vi_camera</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="vi_camera_joint" type="revolute">
|
||||
<child>vi_camera::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>iris kinect</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_kinect.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_realsense'>
|
||||
|
||||
<include>
|
||||
<uri>model://iris</uri>
|
||||
</include>
|
||||
<!-- For Stereo Camera Payload -->
|
||||
<include>
|
||||
<uri>model://stereo_camera</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="stereo_joint" type="fixed">
|
||||
<child>stereo_camera::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For Kinect -->
|
||||
<include>
|
||||
<uri>model://realsense_camera</uri>
|
||||
<pose>0 0 0.05 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="kinect_joint" type="fixed">
|
||||
<child>realsense_camera::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>iris::base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>iris with Intel realsense</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.5'>iris_realsense.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
Haoran Song added a pair of stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,613 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='iris_stereo_cam'>
|
||||
<!--iris body-->
|
||||
<link name='base_link'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<mass>1.5</mass>
|
||||
<inertia>
|
||||
<ixx>0.029125</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.029125</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.055225</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='base_link_inertia_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.47 0.47 0.11</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<min_depth>0.001</min_depth>
|
||||
<max_vel>0</max_vel>
|
||||
</ode>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='base_link_inertia_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<link name='/imu_link'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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>
|
||||
</link>
|
||||
<joint name='/imu_joint' type='revolute'>
|
||||
<child>/imu_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>0</effort>
|
||||
<velocity>0</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<spring_reference>0</spring_reference>
|
||||
<spring_stiffness>0</spring_stiffness>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_0'>
|
||||
<pose frame=''>0.13 -0.22 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_0_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_0_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_0_joint' type='revolute'>
|
||||
<child>rotor_0</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_1'>
|
||||
<pose frame=''>-0.13 0.2 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_1_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_1_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_ccw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_1_joint' type='revolute'>
|
||||
<child>rotor_1</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_2'>
|
||||
<pose frame=''>0.13 0.22 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_2_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_2_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_2_joint' type='revolute'>
|
||||
<child>rotor_2</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_3'>
|
||||
<pose frame=''>-0.13 -0.2 0.023 0 -0 0</pose>
|
||||
<inertial>
|
||||
<pose frame=''>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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_3_collision'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_3_visual'>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://rotors_description/meshes/iris_prop_cw.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
</link>
|
||||
<joint name='rotor_3_joint' type='revolute'>
|
||||
<child>rotor_3</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<plugin name='rosbag' filename='libgazebo_multirotor_base_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<linkName>base_link</linkName>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_0_joint</jointName>
|
||||
<linkName>rotor_0</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>0</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/0</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_1_joint</jointName>
|
||||
<linkName>rotor_1</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>1</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/1</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_2_joint</jointName>
|
||||
<linkName>rotor_2</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>2</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/2</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace/>
|
||||
<jointName>rotor_3_joint</jointName>
|
||||
<linkName>rotor_3</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1100</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>3</motorNumber>
|
||||
<rotorDragCoefficient>0.000175</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/3</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='gps_plugin' filename='libgazebo_gps_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<gpsNoise>1</gpsNoise>
|
||||
</plugin>
|
||||
<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>
|
||||
<plugin name='barometer_plugin' filename='libgazebo_barometer_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<pubRate>50</pubRate>
|
||||
<baroTopic>/baro</baroTopic>
|
||||
</plugin>
|
||||
<plugin name='mavlink_interface' filename='libgazebo_mavlink_interface.so'>
|
||||
<robotNamespace/>
|
||||
<imuSubTopic>/imu</imuSubTopic>
|
||||
<gpsSubTopic>/gps</gpsSubTopic>
|
||||
<magSubTopic>/mag</magSubTopic>
|
||||
<baroSubTopic>/baro</baroSubTopic>
|
||||
<mavlink_addr>INADDR_ANY</mavlink_addr>
|
||||
<mavlink_udp_port>14560</mavlink_udp_port>
|
||||
<mavlink_tcp_port>4560</mavlink_tcp_port>
|
||||
<serialEnabled>0</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>0</hil_mode>
|
||||
<hil_state_level>0</hil_state_level>
|
||||
<vehicle_is_tailsitter>0</vehicle_is_tailsitter>
|
||||
<send_vision_estimation>1</send_vision_estimation>
|
||||
<send_odometry>0</send_odometry>
|
||||
<enable_lockstep>1</enable_lockstep>
|
||||
<use_tcp>1</use_tcp>
|
||||
<motorSpeedCommandPubTopic>/gazebo/command/motor_speed</motorSpeedCommandPubTopic>
|
||||
<control_channels>
|
||||
<channel name='rotor1'>
|
||||
<input_index>0</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor2'>
|
||||
<input_index>1</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor3'>
|
||||
<input_index>2</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor4'>
|
||||
<input_index>3</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1000</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor5'>
|
||||
<input_index>4</input_index>
|
||||
<input_offset>1</input_offset>
|
||||
<input_scaling>324.6</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
<joint_control_pid>
|
||||
<p>0.1</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0.0</iMax>
|
||||
<iMin>0.0</iMin>
|
||||
<cmdMax>2</cmdMax>
|
||||
<cmdMin>-2</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_name>zephyr_delta_wing::propeller_joint</joint_name>
|
||||
</channel>
|
||||
<channel name='rotor6'>
|
||||
<input_index>5</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
<joint_name>zephyr_delta_wing::flap_left_joint</joint_name>
|
||||
<joint_control_pid>
|
||||
<p>10.0</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>20</cmdMax>
|
||||
<cmdMin>-20</cmdMin>
|
||||
</joint_control_pid>
|
||||
</channel>
|
||||
<channel name='rotor7'>
|
||||
<input_index>6</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
<joint_name>zephyr_delta_wing::flap_right_joint</joint_name>
|
||||
<joint_control_pid>
|
||||
<p>10.0</p>
|
||||
<i>0</i>
|
||||
<d>0</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>20</cmdMax>
|
||||
<cmdMin>-20</cmdMin>
|
||||
</joint_control_pid>
|
||||
</channel>
|
||||
<channel name='rotor8'>
|
||||
<input_index>7</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>0.524</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position</joint_control_type>
|
||||
</channel>
|
||||
</control_channels>
|
||||
</plugin>
|
||||
<static>0</static>
|
||||
<plugin name='rotors_gazebo_imu_plugin' filename='libgazebo_imu_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<linkName>/imu_link</linkName>
|
||||
<imuTopic>/imu</imuTopic>
|
||||
<gyroscopeNoiseDensity>0.00018665</gyroscopeNoiseDensity>
|
||||
<gyroscopeRandomWalk>3.8785e-05</gyroscopeRandomWalk>
|
||||
<gyroscopeBiasCorrelationTime>1000.0</gyroscopeBiasCorrelationTime>
|
||||
<gyroscopeTurnOnBiasSigma>0.0087</gyroscopeTurnOnBiasSigma>
|
||||
<accelerometerNoiseDensity>0.00186</accelerometerNoiseDensity>
|
||||
<accelerometerRandomWalk>0.006</accelerometerRandomWalk>
|
||||
<accelerometerBiasCorrelationTime>300.0</accelerometerBiasCorrelationTime>
|
||||
<accelerometerTurnOnBiasSigma>0.196</accelerometerTurnOnBiasSigma>
|
||||
</plugin>
|
||||
<!-- For Stereo Camera Payload -->
|
||||
<include>
|
||||
<uri>model://stereo_camera</uri>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="stereo_joint" type="fixed">
|
||||
<child>stereo_camera::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>iris with cam</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.4'>iris_stereo_camera.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Iris Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
Haoran Song added a pair of stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version="1.6">
|
||||
<model name="kinect">
|
||||
<pose>0 0 0.036 0 0 0</pose>
|
||||
<link name="link">
|
||||
<inertial>
|
||||
<mass>0.001</mass>
|
||||
<inertia> <!-- inertias are tricky to compute -->
|
||||
<ixx>0.001</ixx>
|
||||
<!-- for a box: ixx = 0.083 * mass * (y*y + z*z) -->
|
||||
<ixy>0.0</ixy>
|
||||
<!-- for a box: ixy = 0 -->
|
||||
<ixz>0.0</ixz>
|
||||
<!-- for a box: ixz = 0 -->
|
||||
<iyy>0.001</iyy>
|
||||
<!-- for a box: iyy = 0.083 * mass * (x*x + z*z) -->
|
||||
<iyz>0.0</iyz>
|
||||
<!-- for a box: iyz = 0 -->
|
||||
<izz>0.001</izz>
|
||||
<!-- for a box: izz = 0.083 * mass * (x*x + y*y) -->
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name="collision">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.073000 0.276000 0.072000</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<mesh>
|
||||
<uri>model://kinect/meshes/kinect.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
<sensor name="camera" type="depth">
|
||||
<update_rate>20</update_rate>
|
||||
<camera>
|
||||
<horizontal_fov>1.047198</horizontal_fov>
|
||||
<image>
|
||||
<width>640</width>
|
||||
<height>480</height>
|
||||
<format>R8G8B8</format>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.05</near>
|
||||
<far>10</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<plugin name="kinect_controller" filename="libgazebo_ros_openni_kinect.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<baseline>0.2</baseline>
|
||||
<alwaysOn>true</alwaysOn>
|
||||
<updateRate>1.0</updateRate>
|
||||
<cameraName>kinect_ir</cameraName>
|
||||
<imageTopicName>kinect/color/image_raw</imageTopicName>
|
||||
<cameraInfoTopicName>kinect/color/camera_info</cameraInfoTopicName>
|
||||
<depthImageTopicName>kinect/depth/image_raw</depthImageTopicName>
|
||||
<depthImageInfoTopicName>kinect/depth/camera_info</depthImageInfoTopicName>
|
||||
<pointCloudTopicName>kinect/depth/points</pointCloudTopicName>
|
||||
<frameName>kinect_base</frameName>
|
||||
<pointCloudCutoff>0.5</pointCloudCutoff>
|
||||
<pointCloudCutoffMax>3.0</pointCloudCutoffMax>
|
||||
<distortionK1>0.00000001</distortionK1>
|
||||
<distortionK2>0.00000001</distortionK2>
|
||||
<distortionK3>0.00000001</distortionK3>
|
||||
<distortionT1>0.00000001</distortionT1>
|
||||
<distortionT2>0.00000001</distortionT2>
|
||||
<CxPrime>0</CxPrime>
|
||||
<Cx>0</Cx>
|
||||
<Cy>0</Cy>
|
||||
<focalLength>0</focalLength>
|
||||
<hackBaseline>0</hackBaseline>
|
||||
</plugin>
|
||||
</sensor>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<version>1.0</version>
|
||||
<name>Kinect</name>
|
||||
<sdf version="1.5">kinect.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Nate Koenig</name>
|
||||
<email>nate@osrfoundation.org</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A model of the kinect sensor
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" ?>
|
||||
<model>
|
||||
<name>monocular_camera</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.0">monocular_camera.sdf</sdf>
|
||||
<author>
|
||||
<name>Guanzheng Wang</name>
|
||||
<email>guanzhengcn@foxmail.com</email>
|
||||
</author>
|
||||
<description>
|
||||
A modified monocular camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,79 @@
|
|||
<?xml version='1.0'?>
|
||||
<sdf version='1.0'>
|
||||
<model name='monocular_camera'>
|
||||
<pose>0.0 0.0 -0.05 0 0 0</pose>
|
||||
<link name='link'>
|
||||
<inertial>
|
||||
<mass>0.001</mass>
|
||||
<inertia>
|
||||
<ixx>4.15e-6</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>2.407e-6</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>2.407e-6</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='visual'>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.01 0.01 0.01</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</visual>
|
||||
<sensor name='camera' type='camera'>
|
||||
<camera name='__default__'>
|
||||
<horizontal_fov>2.0944</horizontal_fov>
|
||||
<image>
|
||||
<width>1280</width>
|
||||
<height>720</height>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.1</near>
|
||||
<far>100</far>
|
||||
</clip>
|
||||
<noise>
|
||||
<type>gaussian</type>
|
||||
<mean>0.0</mean>
|
||||
<stddev>0.001</stddev>
|
||||
</noise>
|
||||
<lens>
|
||||
<type>custom</type>
|
||||
<custom_function>
|
||||
<c1>1.05</c1>
|
||||
<c2>4</c2>
|
||||
<f>1</f>
|
||||
<fun>tan</fun>
|
||||
</custom_function>
|
||||
<scale_to_hfov>1</scale_to_hfov>
|
||||
<cutoff_angle>3.1415</cutoff_angle>
|
||||
</lens>
|
||||
</camera>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>30</update_rate>
|
||||
<visualize>1</visualize>
|
||||
<plugin name='camera_plugin' filename='libgazebo_ros_camera.so'>
|
||||
<robotNamespace>/xtdrone</robotNamespace>
|
||||
<alwaysOn>true</alwaysOn>
|
||||
<imageTopicName>image_raw</imageTopicName>
|
||||
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
||||
<updateRate>30.0</updateRate>
|
||||
<cameraName>camera</cameraName>
|
||||
<frameName>/monocular_link</frameName>
|
||||
<CxPrime>640</CxPrime>
|
||||
<Cx>640</Cx>
|
||||
<Cy>360</Cy>
|
||||
<hackBaseline>0</hackBaseline>
|
||||
<focalLength>369.502083</focalLength>
|
||||
<distortionK1>0.0</distortionK1>
|
||||
<distortionK2>0.0</distortionK2>
|
||||
<distortionK3>0.0</distortionK3>
|
||||
<distortionT1>0.0</distortionT1>
|
||||
<distortionT2>0.0</distortionT2>
|
||||
</plugin>
|
||||
</sensor>
|
||||
<self_collide>0</self_collide>
|
||||
<kinematic>0</kinematic>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
|
@ -0,0 +1,14 @@
|
|||
<model>
|
||||
<name>Polaris Ranger XP900</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">rover_with_lidar_stereo.sdf</sdf>
|
||||
<author>
|
||||
<name>Cole Biesemeyer</name>
|
||||
<email>cole.bsmr@gmail.com</email>
|
||||
</author>
|
||||
<author>
|
||||
<name>Nate Koenig</name>
|
||||
<email>natekoenig@gmail.com</email>
|
||||
</author>
|
||||
<description>A model of the Polaris Ranger XP900.</description>
|
||||
</model>
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Solo_Arm</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">solo.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Igor Napolskikh and Rosalie Kitts</name>
|
||||
<email>igor@3drobotics.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the 3DR Solo.
|
||||
</description>
|
||||
</model>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>solo gimbal</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.4'>solo_gimbal.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the solo Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
Haoran Song added a pair of stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,931 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='solo_gimbal'>
|
||||
|
||||
<!-- Solo body -->
|
||||
<link name='base_link'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<inertial>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<mass>1.47</mass>
|
||||
<inertia>
|
||||
<ixx>0.011</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.015</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.021</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='base_link_inertia_collision'>
|
||||
<pose>0 0 -0.04 0 0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.32 0.32 0.18</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<min_depth>0.001</min_depth>
|
||||
<max_vel>0</max_vel>
|
||||
</ode>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='base_link_inertia_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<link name='imu_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>
|
||||
</link>
|
||||
<joint name='imu_joint' type='revolute'>
|
||||
<child>imu_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>0</effort>
|
||||
<velocity>0</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<spring_reference>0</spring_reference>
|
||||
<spring_stiffness>0</spring_stiffness>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
|
||||
<!--gimbal-->
|
||||
<link name="cgo3_mount_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.112 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='cgo3_mount_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_mount_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name='cgo3_mount_joint' type='revolute'>
|
||||
<child>cgo3_mount_link</child>
|
||||
<parent>base_link</parent>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
<link name="cgo3_vertical_arm_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.162 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='cgo3_vertical_arm_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_vertical_arm_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name='cgo3_vertical_arm_joint' type='revolute'>
|
||||
<child>cgo3_vertical_arm_link</child>
|
||||
<parent>cgo3_mount_link</parent>
|
||||
<pose>-0.026 0 -0.10 0 0 0</pose>
|
||||
<!--
|
||||
<controlIndex>6</controlIndex>
|
||||
-->
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<lower>-1e16</lower>
|
||||
<upper>1e16</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>0.1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
<limit>
|
||||
<!-- testing soft limits -->
|
||||
<cfm>0.1</cfm>
|
||||
<erp>0.2</erp>
|
||||
</limit>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
<link name="cgo3_horizontal_arm_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.081 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='cgo3_horizontal_arm_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_horizontal_arm_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<joint name='cgo3_horizontal_arm_joint' type='revolute'>
|
||||
<child>cgo3_horizontal_arm_link</child>
|
||||
<parent>cgo3_vertical_arm_link</parent>
|
||||
<pose>0.026 0 -0.162 0 0 0</pose>
|
||||
<!--
|
||||
<controlIndex>7</controlIndex>
|
||||
-->
|
||||
<axis>
|
||||
<xyz>-1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>-0.785398</lower>
|
||||
<upper>0.785398</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>0.1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
<limit>
|
||||
<!-- testing soft limits -->
|
||||
<cfm>0.1</cfm>
|
||||
<erp>0.2</erp>
|
||||
</limit>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
<link name="cgo3_camera_link">
|
||||
<inertial>
|
||||
<!-- place holder -->
|
||||
<pose>-0.041 0 -0.162 0 0 0</pose>
|
||||
<mass>0.1</mass>
|
||||
<inertia>
|
||||
<ixx>0.001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.001</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='cgo3_camera_collision'>
|
||||
<pose>-0.041 0 -0.162 0 0 0</pose>
|
||||
<geometry>
|
||||
<sphere>
|
||||
<radius>0.035</radius>
|
||||
</sphere>
|
||||
</geometry>
|
||||
<surface>
|
||||
<friction>
|
||||
<ode>
|
||||
<mu>1</mu>
|
||||
<mu2>1</mu2>
|
||||
</ode>
|
||||
</friction>
|
||||
<contact>
|
||||
<ode>
|
||||
<kp>1e+8</kp>
|
||||
<kd>1</kd>
|
||||
<max_vel>0.01</max_vel>
|
||||
<min_depth>0.001</min_depth>
|
||||
</ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='cgo3_camera_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>0.001 0.001 0.001</scale>
|
||||
<uri>model://typhoon_h480/meshes/cgo3_camera_remeshed_v1.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<sensor name="camera_imu" type="imu">
|
||||
<always_on>1</always_on>
|
||||
</sensor>
|
||||
<sensor name="camera" type="camera">
|
||||
<pose>-0.051 0 -0.162 0 0 3.14159</pose>
|
||||
<camera>
|
||||
<horizontal_fov>2.0</horizontal_fov>
|
||||
<image>
|
||||
<format>R8G8B8</format>
|
||||
<width>640</width>
|
||||
<height>360</height>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.05</near>
|
||||
<far>15000</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>10</update_rate>
|
||||
<visualize>false</visualize>
|
||||
<!-- how to make this work without using urdf?-->
|
||||
<plugin name="cgo3_camera_controller" filename="libgazebo_ros_camera.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<alwaysOn>true</alwaysOn>
|
||||
<updateRate>0.0</updateRate>
|
||||
<cameraName>cgo3_camera</cameraName>
|
||||
<imageTopicName>image_raw</imageTopicName>
|
||||
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
||||
<frameName>cgo3_camera_optical_frame</frameName>
|
||||
<hackBaseline>0.0</hackBaseline>
|
||||
<distortionK1>0.0</distortionK1>
|
||||
<distortionK2>0.0</distortionK2>
|
||||
<distortionK3>0.0</distortionK3>
|
||||
<distortionT1>0.0</distortionT1>
|
||||
<distortionT2>0.0</distortionT2>
|
||||
</plugin>
|
||||
|
||||
<!-- GStreamer camera plugin (needs a lot of CPU! Consider lowering the
|
||||
camera image size)
|
||||
<plugin name="GstCameraPlugin" filename="libgazebo_gst_camera_plugin.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<udpHost>localhost</udpHost>
|
||||
<udpPort>5600</udpPort>
|
||||
</plugin>
|
||||
<plugin name="GeotaggedImagesPlugin" filename="libgazebo_geotagged_images_plugin.so">
|
||||
<robotNamespace>typhoon_h480</robotNamespace>
|
||||
<interval>1</interval>
|
||||
<width>3840</width>
|
||||
<height>2160</height>
|
||||
<maximum_zoom>8.0</maximum_zoom>
|
||||
</plugin>
|
||||
-->
|
||||
</sensor>
|
||||
</link>
|
||||
<joint name='cgo3_camera_joint' type='revolute'>
|
||||
<child>cgo3_camera_link</child>
|
||||
<parent>cgo3_horizontal_arm_link</parent>
|
||||
<pose>-0.041 0.03 -0.162 0 0 0</pose>
|
||||
<axis>
|
||||
<xyz>0 -1 0</xyz>
|
||||
<limit>
|
||||
<lower>-1.05</lower>
|
||||
<upper>2.09</upper>
|
||||
<effort>100</effort>
|
||||
<velocity>-1</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<damping>0.1</damping>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
<physics>
|
||||
<ode>
|
||||
<implicit_spring_damper>1</implicit_spring_damper>
|
||||
<limit>
|
||||
<!-- testing soft limits -->
|
||||
<cfm>0.1</cfm>
|
||||
<erp>0.2</erp>
|
||||
</limit>
|
||||
</ode>
|
||||
</physics>
|
||||
</joint>
|
||||
|
||||
|
||||
|
||||
<link name='rotor_0'>
|
||||
<pose>0.14745 -0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_0_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_0_visual'>
|
||||
<pose>-0.14745 -0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_ccw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_0_joint' type='revolute'>
|
||||
<child>rotor_0</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_1'>
|
||||
<pose>-0.14745 0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_1_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_1_visual'>
|
||||
<pose>-0.14745 -0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_ccw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_1_joint' type='revolute'>
|
||||
<child>rotor_1</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_2'>
|
||||
<pose>0.14745 0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_2_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_2_visual'>
|
||||
<pose>-0.14745 0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_cw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_2_joint' type='revolute'>
|
||||
<child>rotor_2</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_3'>
|
||||
<pose>-0.14745 -0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_3_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_3_visual'>
|
||||
<pose>-0.14745 0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_cw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_3_joint' type='revolute'>
|
||||
<child>rotor_3</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<plugin name='rosbag' filename='libgazebo_multirotor_base_plugin.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<linkName>base_link</linkName>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_0_joint</jointName>
|
||||
<linkName>rotor_0</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>0</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/0</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_1_joint</jointName>
|
||||
<linkName>rotor_1</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>1</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/1</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_2_joint</jointName>
|
||||
<linkName>rotor_2</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>2</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/2</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_3_joint</jointName>
|
||||
<linkName>rotor_3</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>3</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/3</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name="gps_plugin" filename="libgazebo_gps_plugin.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<gpsNoise>true</gpsNoise>
|
||||
</plugin>
|
||||
<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>
|
||||
<plugin name='barometer_plugin' filename='libgazebo_barometer_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<pubRate>50</pubRate>
|
||||
<baroTopic>/baro</baroTopic>
|
||||
</plugin>
|
||||
<plugin name='mavlink_interface' filename='libgazebo_mavlink_interface.so'>
|
||||
<robotNamespace/>
|
||||
<imuSubTopic>/imu</imuSubTopic>
|
||||
<gpsSubTopic>/gps</gpsSubTopic>
|
||||
<magSubTopic>/mag</magSubTopic>
|
||||
<baroSubTopic>/baro</baroSubTopic>
|
||||
<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>
|
||||
<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='rotor1'>
|
||||
<input_index>0</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor2'>
|
||||
<input_index>1</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor3'>
|
||||
<input_index>2</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor4'>
|
||||
<input_index>3</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name="gimbal_roll">
|
||||
<input_index>4</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>-3.1415</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position_gztopic</joint_control_type>
|
||||
<gztopic>/gimbal_roll_cmd</gztopic>
|
||||
<joint_name>solo_gimbal::cgo3_camera_joint</joint_name>
|
||||
</channel>
|
||||
<channel name="gimbal_pitch">
|
||||
<input_index>5</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>3.1415</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position_gztopic</joint_control_type>
|
||||
<gztopic>/gimbal_pitch_cmd</gztopic>
|
||||
<joint_name>solo_gimbal::cgo3_camera_joint</joint_name>
|
||||
</channel>
|
||||
<channel name="gimbal_yaw">
|
||||
<input_index>6</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>-3.1415</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>0</zero_position_armed>
|
||||
<joint_control_type>position_gztopic</joint_control_type>
|
||||
<gztopic>/gimbal_yaw_cmd</gztopic>
|
||||
<joint_name>solo_gimbal::cgo3_vertical_arm_joint</joint_name>
|
||||
</channel>
|
||||
</control_channels>
|
||||
</plugin>
|
||||
|
||||
<plugin name='gimbal_controller' filename='libgazebo_gimbal_controller_plugin.so'>
|
||||
<joint_yaw>solo_gimbal::cgo3_vertical_arm_joint</joint_yaw>
|
||||
<joint_roll>solo_gimbal::cgo3_horizontal_arm_joint</joint_roll>
|
||||
<joint_pitch>solo_gimbal::cgo3_camera_joint</joint_pitch>
|
||||
<control_gimbal_channels>
|
||||
<channel>
|
||||
<joint_control_pid>
|
||||
<p>0.6</p>
|
||||
<i>0.1</i>
|
||||
<d>0.02</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>1.0</cmdMax>
|
||||
<cmdMin>-1.0</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_axis>joint_yaw</joint_axis>
|
||||
</channel>
|
||||
<channel>
|
||||
<joint_control_pid>
|
||||
<p>0.8</p>
|
||||
<i>0.035</i>
|
||||
<d>0.02</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>0.3</cmdMax>
|
||||
<cmdMin>-0.3</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_axis>joint_roll</joint_axis>
|
||||
</channel>
|
||||
<channel>
|
||||
<joint_control_pid>
|
||||
<p>2.068</p>
|
||||
<i>0.01245</i>
|
||||
<d>0.01</d>
|
||||
<iMax>0</iMax>
|
||||
<iMin>0</iMin>
|
||||
<cmdMax>0.3</cmdMax>
|
||||
<cmdMin>-0.3</cmdMin>
|
||||
</joint_control_pid>
|
||||
<joint_axis>joint_pitch</joint_axis>
|
||||
</channel>
|
||||
</control_gimbal_channels>
|
||||
<gimbal_imu>camera_imu</gimbal_imu>
|
||||
</plugin>
|
||||
|
||||
|
||||
<static>0</static>
|
||||
<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>
|
||||
|
||||
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="revolute">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>solo with cam</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.4'>solo_stereo_camera.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier and Thomas Gubler</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the solo Quadrotor. The original model has been created by
|
||||
Thomas Gubler and is maintained by Lorenz Meier.
|
||||
Haoran Song added a pair of stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,552 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version='1.5'>
|
||||
<model name='solo_stereo_cam'>
|
||||
|
||||
<!-- Solo body -->
|
||||
<link name='base_link'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<inertial>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<mass>1.47</mass>
|
||||
<inertia>
|
||||
<ixx>0.011</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.015</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.021</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='base_link_inertia_collision'>
|
||||
<pose>0 0 -0.04 0 0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.32 0.32 0.18</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode>
|
||||
<min_depth>0.001</min_depth>
|
||||
<max_vel>0</max_vel>
|
||||
</ode>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='base_link_inertia_visual'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<link name='imu_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>
|
||||
</link>
|
||||
<joint name='imu_joint' type='revolute'>
|
||||
<child>imu_link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>1 0 0</xyz>
|
||||
<limit>
|
||||
<lower>0</lower>
|
||||
<upper>0</upper>
|
||||
<effort>0</effort>
|
||||
<velocity>0</velocity>
|
||||
</limit>
|
||||
<dynamics>
|
||||
<spring_reference>0</spring_reference>
|
||||
<spring_stiffness>0</spring_stiffness>
|
||||
</dynamics>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_0'>
|
||||
<pose>0.14745 -0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_0_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_0_visual'>
|
||||
<pose>-0.14745 -0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_ccw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_0_joint' type='revolute'>
|
||||
<child>rotor_0</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_1'>
|
||||
<pose>-0.14745 0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_1_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_1_visual'>
|
||||
<pose>-0.14745 -0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_ccw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_1_joint' type='revolute'>
|
||||
<child>rotor_1</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_2'>
|
||||
<pose>0.14745 0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_2_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_2_visual'>
|
||||
<pose>-0.14745 0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_cw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Blue</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_2_joint' type='revolute'>
|
||||
<child>rotor_2</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<link name='rotor_3'>
|
||||
<pose>-0.14745 -0.14525 0.051 0 0 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.000273104</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.000274004</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='rotor_3_collision'>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<geometry>
|
||||
<cylinder>
|
||||
<length>0.005</length>
|
||||
<radius>0.128</radius>
|
||||
</cylinder>
|
||||
</geometry>
|
||||
<surface>
|
||||
<contact>
|
||||
<ode/>
|
||||
</contact>
|
||||
<friction>
|
||||
<ode/>
|
||||
</friction>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name='rotor_3_visual'>
|
||||
<pose>-0.14745 0.14525 -0.051 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>model://solo/meshes/solo_prop_cw.stl</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/DarkGrey</name>
|
||||
<uri>file://media/materials/scripts/gazebo.material</uri>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<gravity>1</gravity>
|
||||
<velocity_decay/>
|
||||
<self_collide>0</self_collide>
|
||||
</link>
|
||||
<joint name='rotor_3_joint' type='revolute'>
|
||||
<child>rotor_3</child>
|
||||
<parent>base_link</parent>
|
||||
<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>
|
||||
<use_parent_model_frame>1</use_parent_model_frame>
|
||||
</axis>
|
||||
</joint>
|
||||
<plugin name='rosbag' filename='libgazebo_multirotor_base_plugin.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<linkName>base_link</linkName>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_0_joint</jointName>
|
||||
<linkName>rotor_0</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>0</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/0</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_1_joint</jointName>
|
||||
<linkName>rotor_1</linkName>
|
||||
<turningDirection>ccw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>1</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/1</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='front_left_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_2_joint</jointName>
|
||||
<linkName>rotor_2</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>2</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/2</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name='back_right_motor_model' filename='libgazebo_motor_model.so'>
|
||||
<robotNamespace></robotNamespace>
|
||||
<jointName>rotor_3_joint</jointName>
|
||||
<linkName>rotor_3</linkName>
|
||||
<turningDirection>cw</turningDirection>
|
||||
<timeConstantUp>0.0125</timeConstantUp>
|
||||
<timeConstantDown>0.025</timeConstantDown>
|
||||
<maxRotVelocity>1500</maxRotVelocity>
|
||||
<motorConstant>8.54858e-06</motorConstant>
|
||||
<momentConstant>0.06</momentConstant>
|
||||
<commandSubTopic>/gazebo/command/motor_speed</commandSubTopic>
|
||||
<motorNumber>3</motorNumber>
|
||||
<rotorDragCoefficient>0.000806428</rotorDragCoefficient>
|
||||
<rollingMomentCoefficient>1e-06</rollingMomentCoefficient>
|
||||
<motorSpeedPubTopic>/motor_speed/3</motorSpeedPubTopic>
|
||||
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
|
||||
</plugin>
|
||||
<plugin name="gps_plugin" filename="libgazebo_gps_plugin.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<gpsNoise>true</gpsNoise>
|
||||
</plugin>
|
||||
<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>
|
||||
<plugin name='barometer_plugin' filename='libgazebo_barometer_plugin.so'>
|
||||
<robotNamespace/>
|
||||
<pubRate>50</pubRate>
|
||||
<baroTopic>/baro</baroTopic>
|
||||
</plugin>
|
||||
<plugin name='mavlink_interface' filename='libgazebo_mavlink_interface.so'>
|
||||
<robotNamespace/>
|
||||
<imuSubTopic>/imu</imuSubTopic>
|
||||
<gpsSubTopic>/gps</gpsSubTopic>
|
||||
<magSubTopic>/mag</magSubTopic>
|
||||
<baroSubTopic>/baro</baroSubTopic>
|
||||
<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>
|
||||
<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='rotor1'>
|
||||
<input_index>0</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor2'>
|
||||
<input_index>1</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor3'>
|
||||
<input_index>2</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
<channel name='rotor4'>
|
||||
<input_index>3</input_index>
|
||||
<input_offset>0</input_offset>
|
||||
<input_scaling>1200</input_scaling>
|
||||
<zero_position_disarmed>0</zero_position_disarmed>
|
||||
<zero_position_armed>100</zero_position_armed>
|
||||
<joint_control_type>velocity</joint_control_type>
|
||||
</channel>
|
||||
</control_channels>
|
||||
</plugin>
|
||||
<static>0</static>
|
||||
<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>
|
||||
|
||||
<!-- For Stereo Camera Payload -->
|
||||
<include>
|
||||
<uri>model://stereo_camera</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<joint name="stereo_joint" type="fixed">
|
||||
<child>stereo_camera::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
<!-- For IMU-->
|
||||
<include>
|
||||
<uri>model://imu_gazebo</uri>
|
||||
<pose>0 0 -0.05 0 0 0</pose>
|
||||
</include>
|
||||
<joint name="imu_gazebo_joint" type="fixed">
|
||||
<child>imu_gazebo::link</child>
|
||||
<parent>base_link</parent>
|
||||
<axis>
|
||||
<xyz>0 0 1</xyz>
|
||||
<limit>
|
||||
<upper>0</upper>
|
||||
<lower>0</lower>
|
||||
</limit>
|
||||
</axis>
|
||||
</joint>
|
||||
</model>
|
||||
</sdf>
|
||||
<!-- vim: set noet fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : -->
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>SONAR</name>
|
||||
<version>1.0</version>
|
||||
<sdf version='1.4'>model.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Martina</name>
|
||||
<email>me@my.email</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
SONAR
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version="1.4">
|
||||
<model name="sonar">
|
||||
<link name="link">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<inertial>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<mass>0.000000000000001</mass>
|
||||
<inertia>
|
||||
<ixx>2.08333333e-7</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>2.08333333e-7</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>4.16666667e-8</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.005 0.015 0.005</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<material>
|
||||
<script>
|
||||
<name>Gazebo/Black</name>
|
||||
</script>
|
||||
</material>
|
||||
</visual>
|
||||
<sensor name="sonar" type="sonar">
|
||||
<pose>0 0 0 0 1.57 0</pose>
|
||||
<sonar>
|
||||
<min>0.02</min>
|
||||
<max>5.0</max>
|
||||
<radius>1.33974388395</radius>
|
||||
</sonar>
|
||||
<plugin name="SonarPlugin" filename="libgazebo_sonar_plugin.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
</plugin>
|
||||
<always_on>1</always_on>
|
||||
<update_rate>20</update_rate>
|
||||
<visualize>false</visualize>
|
||||
</sensor>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>Stereo</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">model.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Nate Koenig</name>
|
||||
<email>nate@osrfoundation.org</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
A stereo camera.
|
||||
</description>
|
||||
</model>
|
|
@ -0,0 +1,73 @@
|
|||
<?xml version="1.0" ?>
|
||||
<sdf version="1.5">
|
||||
<model name="stereo_camera">
|
||||
<link name="link">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<inertial>
|
||||
<mass>0.001</mass>
|
||||
<inertia>
|
||||
<ixx>0.00000166667</ixx>
|
||||
<iyy>0.00000166667</iyy>
|
||||
<izz>0.00000166667</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.015 0.1 0.02</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</visual>
|
||||
<sensor name="camera" type="multicamera">
|
||||
<always_on>1</always_on>
|
||||
<update_rate>30</update_rate>
|
||||
<visualize>false</visualize>
|
||||
<camera name="left">
|
||||
<pose>0 0.06 0 0 0 0</pose>
|
||||
<horizontal_fov>1.5708</horizontal_fov>
|
||||
<image>
|
||||
<width>752</width>
|
||||
<height>480</height>
|
||||
<format>R8G8B8</format>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.1</near>
|
||||
<far>300</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<camera name="right">
|
||||
<pose>0 -0.06 0 0 0 0</pose>
|
||||
<horizontal_fov>1.5708</horizontal_fov>
|
||||
<image>
|
||||
<width>752</width>
|
||||
<height>480</height>
|
||||
<format>R8G8B8</format>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.1</near>
|
||||
<far>300</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<plugin name="stereo_camera_controller" filename="libgazebo_ros_multicamera.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<alwaysOn>true</alwaysOn>
|
||||
<updateRate>30</updateRate>
|
||||
<cameraName>/stereo_camera</cameraName>
|
||||
<imageTopicName>image_raw</imageTopicName>
|
||||
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
||||
<frameName>stereo_camera_frame</frameName>
|
||||
<hackBaseline>0.12</hackBaseline>
|
||||
<Fx>376.0</Fx>
|
||||
<Fy>376.0</Fy>
|
||||
<Cx>376.0</Cx>
|
||||
<Cy>240.0</Cy>
|
||||
<distortionK1>-0.1</distortionK1>
|
||||
<distortionK2>0.01</distortionK2>
|
||||
<distortionK3>0.0</distortionK3>
|
||||
<distortionT1>5e-5</distortionT1>
|
||||
<distortionT2>-1e-4</distortionT2>
|
||||
</plugin>
|
||||
</sensor>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Typhoon H480 RS</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">typhoon_h480.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the Yuneec Typhoon H480 with mounted Intel Realsense module
|
||||
</description>
|
||||
</model>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Typhoon H480 RS</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">typhoon_h480.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the Yuneec Typhoon H480 with mounted Intel Realsense module
|
||||
</description>
|
||||
</model>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<model>
|
||||
<name>Typhoon H480 RS</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.5">typhoon_h480.sdf</sdf>
|
||||
|
||||
<author>
|
||||
<name>Lorenz Meier</name>
|
||||
<email>lorenz@px4.io</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
This is a model of the Yuneec Typhoon H480 with mounted Intel Realsense module
|
||||
</description>
|
||||
</model>
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" ?>
|
||||
<model>
|
||||
<name>vi_camera</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">vi_camera.sdf</sdf>
|
||||
<author>
|
||||
<name>
|
||||
XTDrone (who assemble the imu, stereo camera. and depth camera together)
|
||||
Intel Corporation (who provide the visual model)
|
||||
</name>
|
||||
</author>
|
||||
<description>vi_camera with an Intel realsense visual model</description>
|
||||
</model>
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0"?>
|
||||
<sdf version="1.6">
|
||||
<model name="vi_camera">
|
||||
<pose frame="">0 0 0.015 0 0 0</pose>
|
||||
<link name="link">
|
||||
<inertial>
|
||||
<mass>0.0615752</mass>
|
||||
<inertia>
|
||||
<ixx>9.108e-05</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>2.51e-06</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>8.931e-05</izz>
|
||||
</inertia>
|
||||
<pose frame=''>0 0 0 0 -0 0</pose>
|
||||
</inertial>
|
||||
<self_collide>0</self_collide>
|
||||
<enable_wind>0</enable_wind>
|
||||
<kinematic>0</kinematic>
|
||||
<gravity>1</gravity>
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<mesh>
|
||||
<uri>model://vi_camera/meshes/realsense.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
|
||||
<sensor name="imu_sensor" type="imu">
|
||||
<always_on>true</always_on>
|
||||
<parent>link</parent>
|
||||
<update_rate>500</update_rate>
|
||||
<visualize>true</visualize>
|
||||
<topic>vi/imu</topic>
|
||||
<plugin filename="libgazebo_ros_imu_sensor.so" name="imu_plugin">
|
||||
<topicName>vi/imu_stereo</topicName>
|
||||
<bodyName>imu_link_stereo</bodyName>
|
||||
<updateRateHZ>500.0</updateRateHZ>
|
||||
<gaussianNoise>0.0</gaussianNoise>
|
||||
<xyzOffset>0 0 0</xyzOffset>
|
||||
<rpyOffset>0 0 0</rpyOffset>
|
||||
<frameName>imu_link_stereo</frameName>
|
||||
|
||||
<gyroscopeNoiseDensity>0.0006</gyroscopeNoiseDensity>
|
||||
<gyroscopeRandomWalk>0.000003</gyroscopeRandomWalk>
|
||||
<gyroscopeTurnOnBiasSigma>0.03</gyroscopeTurnOnBiasSigma>
|
||||
|
||||
<accelerometerNoiseDensity>0.002</accelerometerNoiseDensity>
|
||||
<accelerometerRandomWalk>0.00002</accelerometerRandomWalk>
|
||||
<accelerometerTurnOnBiasSigma>0.1</accelerometerTurnOnBiasSigma>
|
||||
|
||||
</plugin>
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
</sensor>
|
||||
|
||||
<sensor name="stereo" type="multicamera">
|
||||
<always_on>1</always_on>
|
||||
<update_rate>30</update_rate>
|
||||
<visualize>false</visualize>
|
||||
<camera name="left">
|
||||
<pose>0 0.06 0 0 0 0</pose>
|
||||
<horizontal_fov>1.5708</horizontal_fov>
|
||||
<image>
|
||||
<width>752</width>
|
||||
<height>480</height>
|
||||
<format>R8G8B8</format>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.1</near>
|
||||
<far>300</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<camera name="right">
|
||||
<pose>0 -0.06 0 0 0 0</pose>
|
||||
<horizontal_fov>1.5708</horizontal_fov>
|
||||
<image>
|
||||
<width>752</width>
|
||||
<height>480</height>
|
||||
<format>R8G8B8</format>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.1</near>
|
||||
<far>300</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<plugin name="stereo_camera_controller" filename="libgazebo_ros_multicamera.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<alwaysOn>true</alwaysOn>
|
||||
<updateRate>30</updateRate>
|
||||
<cameraName>vi/stereo_camera</cameraName>
|
||||
<imageTopicName>image_raw</imageTopicName>
|
||||
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
||||
<frameName>stereo_camera_frame</frameName>
|
||||
<hackBaseline>0.12</hackBaseline>
|
||||
<Fx>376.0</Fx>
|
||||
<Fy>376.0</Fy>
|
||||
<Cx>376.0</Cx>
|
||||
<Cy>240.0</Cy>
|
||||
<distortionK1>-0.1</distortionK1>
|
||||
<distortionK2>0.01</distortionK2>
|
||||
<distortionK3>0.0</distortionK3>
|
||||
<distortionT1>5e-5</distortionT1>
|
||||
<distortionT2>-1e-4</distortionT2>
|
||||
</plugin>
|
||||
</sensor>
|
||||
|
||||
<sensor name="depth" type="depth">
|
||||
<update_rate>20</update_rate>
|
||||
<camera>
|
||||
<horizontal_fov>1.047198</horizontal_fov>
|
||||
<image>
|
||||
<width>640</width>
|
||||
<height>480</height>
|
||||
<format>R8G8B8</format>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.05</near>
|
||||
<far>3</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<plugin name="kinect_controller" filename="libgazebo_ros_openni_kinect.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<baseline>0.2</baseline>
|
||||
<alwaysOn>true</alwaysOn>
|
||||
<updateRate>1.0</updateRate>
|
||||
<cameraName>vi/depth_camera</cameraName>
|
||||
<imageTopicName>color/image_raw</imageTopicName>
|
||||
<cameraInfoTopicName>color/camera_info</cameraInfoTopicName>
|
||||
<depthImageTopicName>depth/image_raw</depthImageTopicName>
|
||||
<depthImageInfoTopicName>depth/camera_info</depthImageInfoTopicName>
|
||||
<pointCloudTopicName>depth/points</pointCloudTopicName>
|
||||
<frameName>depth_camera_base</frameName>
|
||||
<pointCloudCutoff>0.5</pointCloudCutoff>
|
||||
<pointCloudCutoffMax>3.0</pointCloudCutoffMax>
|
||||
<distortionK1>0.00000001</distortionK1>
|
||||
<distortionK2>0.00000001</distortionK2>
|
||||
<distortionK3>0.00000001</distortionK3>
|
||||
<distortionT1>0.00000001</distortionT1>
|
||||
<distortionT2>0.00000001</distortionT2>
|
||||
<CxPrime>0</CxPrime>
|
||||
<Cx>0</Cx>
|
||||
<Cy>0</Cy>
|
||||
<focalLength>0</focalLength>
|
||||
<hackBaseline>0</hackBaseline>
|
||||
</plugin>
|
||||
</sensor>
|
||||
</link>
|
||||
</model>
|
||||
</sdf>
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,67 @@
|
|||
green:
|
||||
<ambient>
|
||||
<color sid="ambient">0.09837106 0.254824 0.07500499 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.09837106 0.254824 0.07500499 1</color>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<color sid="specular">0.05319149 0.05319149 0.05319149 1</color>
|
||||
</specular>
|
||||
|
||||
white:
|
||||
<ambient>
|
||||
<color sid="ambient">0.6220113 0.6209189 0.64 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.6220113 0.6209189 0.64 1</color>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<color sid="specular">1 1 1 1</color>
|
||||
</specular>
|
||||
brown:
|
||||
<ambient>
|
||||
<color sid="ambient">0.1969495 0.07701492 0.03641987 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.1969495 0.07701492 0.03641987 1</color>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<color sid="specular">0.7712766 0.7712766 0.7712766 1</color>
|
||||
</specular>
|
||||
mat:
|
||||
<ambient>
|
||||
<color sid="ambient">0.8 0.5508701 0.3938254 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.8 0.5508701 0.3938254 1</color>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<color sid="specular">0.106383 0.106383 0.106383 1</color>
|
||||
blue:
|
||||
<ambient>
|
||||
<color sid="ambient">0.05706184 0.09248417 0.3508265 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.05706184 0.09248417 0.3508265 1</color>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<color sid="specular">0.1329787 0.1329787 0.1329787 1</color>
|
||||
</specular>
|
||||
black:
|
||||
<ambient>
|
||||
<color sid="ambient">0 0 0 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0 0 0 1</color>
|
||||
</diffuse>
|
||||
red:
|
||||
<ambient>
|
||||
<color sid="ambient">0.53706184 0.01248417 0.0108265 1</color>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.53706184 0.01248417 0.0108265 1</color>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<color sid="specular">0.7329787 0.7329787 0.7329787 1</color>
|
||||
</specular>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<version>1.0</version>
|
||||
<name>walker</name>
|
||||
|
||||
<author>
|
||||
<name>Lan Ma</name>
|
||||
<email>malan9608@163.com</email>
|
||||
</author>
|
||||
|
||||
<description>
|
||||
Actors with different color
|
||||
</description>
|
||||
</model>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue