<?xml version='1.0'?> <sdf version='1.5'> <model name='f450'> <link name='base_link'> <pose frame=''>0 0 0 0 -0 0</pose> <inertial> <pose frame=''>0 0 0 0 -0 0</pose> <mass>2</mass> <inertia> <ixx>0.0337</ixx> <ixy>0</ixy> <ixz>0</ixz> <iyy>0.0337</iyy> <iyz>0</iyz> <izz>0.0185</izz> </inertia> </inertial> <self_collide>0</self_collide> <kinematic>0</kinematic> <velocity_decay/> <gravity>1</gravity> <visual name='base_link_inertia_visual'> <pose frame=''>0 0 0 0 -0 0</pose> <geometry> <mesh> <scale>1 1 1</scale> <uri>model://f450/meshes/f450.dae</uri> </mesh> </geometry> <material> <script> <name>Gazebo/White</name> <uri>file://media/materials/scripts/gazebo.material</uri> </script> <ambient>1 1 1 1</ambient> <diffuse>1 1 1 1</diffuse> <specular>0 0 0 1</specular> <emissive>0 0 0 1</emissive> <shader type='vertex'> <normal_map>__default__</normal_map> </shader> </material> <cast_shadows>1</cast_shadows> <transparency>0</transparency> </visual> <collision name='base_link_inertia_collision'> <laser_retro>0</laser_retro> <max_contacts>10</max_contacts> <pose frame=''>0 0 0 0 -0 0</pose> <geometry> <mesh> <uri>model://f450/meshes/f450.dae</uri> </mesh> </geometry> <surface> <friction> <ode> <mu>1</mu> <mu2>1</mu2> <fdir1>0 0 0</fdir1> <slip1>0</slip1> <slip2>0</slip2> </ode> </friction> <bounce> <restitution_coefficient>0</restitution_coefficient> <threshold>1e+06</threshold> </bounce> <contact> <collide_without_contact>0</collide_without_contact> <collide_without_contact_bitmask>1</collide_without_contact_bitmask> <collide_bitmask>1</collide_bitmask> <ode> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> <max_vel>0.01</max_vel> <min_depth>0</min_depth> </ode> <bullet> <split_impulse>1</split_impulse> <split_impulse_penetration_threshold>-0.01</split_impulse_penetration_threshold> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> </bullet> </contact> </surface> </collision> </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> <self_collide>0</self_collide> <kinematic>0</kinematic> </link> <link name='f450/robot_camera'> <pose frame=''>0.12 -0 0.06 0 -0 0</pose> <inertial> <pose frame=''>0 0 0 0 -0 0</pose> <mass>0.015</mass> <inertia> <ixx>1e-06</ixx> <ixy>0</ixy> <ixz>0</ixz> <iyy>1e-06</iyy> <iyz>0</iyz> <izz>1e-06</izz> </inertia> </inertial> <self_collide>0</self_collide> <kinematic>0</kinematic> <sensor name='camera' type='camera'> <always_on>1</always_on> <update_rate>30</update_rate> <camera name='__default__'> <horizontal_fov>1.14</horizontal_fov> <image> <width>640</width> <height>480</height> </image> <clip> <near>0.1</near> <far>100</far> </clip> </camera> <plugin name='camera_plugin' filename='libgazebo_ros_camera.so'> <alwaysOn>true</alwaysOn> <imageTopicName>image_raw_front</imageTopicName> <cameraInfoTopicName>camera_info</cameraInfoTopicName> <updateRate>10.0</updateRate> <cameraName>uav_camera</cameraName> <frameName>f450/robot_camera</frameName> <CxPrime>320.5</CxPrime> <Cx>320.5</Cx> <Cy>240.5</Cy> <hackBaseline>0</hackBaseline> <focalLength>499.244462</focalLength> <distortionK1>0.0</distortionK1> <distortionK2>0.0</distortionK2> <distortionK3>0.0</distortionK3> <distortionT1>0.0</distortionT1> <distortionT2>0.0</distortionT2> <robotNamespace>/</robotNamespace> </plugin> </sensor> <visual name='visual'> <geometry> <box> <size>0.001 0.001 0.001</size> </box> </geometry> <pose frame=''>0 0 0 0 -0 0</pose> <cast_shadows>1</cast_shadows> <transparency>0</transparency> <material> <shader type='pixel'/> </material> </visual> </link> <link name='f450/robot_camera_down'> <pose frame=''>0 0 -0.005 -9.4e-05 1.57079 -9.4e-05</pose> <inertial> <pose frame=''>0 0 0 0 -0 0</pose> <mass>0.015</mass> <inertia> <ixx>1e-06</ixx> <ixy>0</ixy> <ixz>0</ixz> <iyy>1e-06</iyy> <iyz>0</iyz> <izz>1e-06</izz> </inertia> </inertial> <self_collide>0</self_collide> <kinematic>0</kinematic> <sensor name='camera' type='camera'> <always_on>1</always_on> <update_rate>30</update_rate> <camera name='__default__'> <horizontal_fov>1.13446</horizontal_fov> <image> <width>1280</width> <height>720</height> </image> <clip> <near>0.1</near> <far>100</far> </clip> </camera> <plugin name='camera_plugin' filename='libgazebo_ros_camera.so'> <alwaysOn>true</alwaysOn> <imageTopicName>image_raw_down</imageTopicName> <cameraInfoTopicName>camera_info</cameraInfoTopicName> <updateRate>10.0</updateRate> <cameraName>uav_camera</cameraName> <frameName>f450/robot_camera_down</frameName> <CxPrime>640.5</CxPrime> <Cx>640.5</Cx> <Cy>360.5</Cy> <hackBaseline>0</hackBaseline> <focalLength>1004.603218</focalLength> <distortionK1>0.0</distortionK1> <distortionK2>0.0</distortionK2> <distortionK3>0.0</distortionK3> <distortionT1>0.0</distortionT1> <distortionT2>0.0</distortionT2> <robotNamespace>/</robotNamespace> </plugin> </sensor> <visual name='visual'> <geometry> <box> <size>0.001 0.001 0.001</size> </box> </geometry> <pose frame=''>0 0 0 0 -0 0</pose> <cast_shadows>1</cast_shadows> <transparency>0</transparency> <material> <shader type='pixel'/> </material> </visual> </link> <link name='f450/robot_sonar_down'> <pose frame=''>-0.15 0 0.01 -9.4e-05 1.57079 -9.4e-05</pose> <inertial> <pose frame=''>0 0 0 0 -0 0</pose> <mass>0.015</mass> <inertia> <ixx>1e-06</ixx> <ixy>0</ixy> <ixz>0</ixz> <iyy>1e-06</iyy> <iyz>0</iyz> <izz>1e-06</izz> </inertia> </inertial> <self_collide>0</self_collide> <kinematic>0</kinematic> <sensor name='sonar' type='ray'> <always_on>1</always_on> <update_rate>100</update_rate> <ray> <range> <min>0.2</min> <max>40</max> <resolution>0.01</resolution> </range> <scan> <horizontal> <samples>100</samples> <min_angle>-3</min_angle> <max_angle>3</max_angle> <resolution>1</resolution> </horizontal> </scan> </ray> <plugin name='gazebo_ros_sonar_controller' filename='libhector_gazebo_ros_sonar.so'> <gaussianNoise>0.02</gaussianNoise> <topicName>sonar</topicName> <frameId>sonar_link</frameId> <robotNamespace>/</robotNamespace> </plugin> </sensor> <visual name='visual'> <geometry> <box> <size>0.001 0.001 0.001</size> </box> </geometry> <pose frame=''>0 0 0 0 -0 0</pose> <cast_shadows>1</cast_shadows> <transparency>0</transparency> <material> <shader type='pixel'/> </material> </visual> </link> <link name='rotor_0'> <pose frame=''>0.159 -0.159 0.11 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> <self_collide>0</self_collide> <kinematic>0</kinematic> <velocity_decay/> <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/Green</name> <uri>file://media/materials/scripts/gazebo.material</uri> </script> <ambient>0 1 0 1</ambient> <diffuse>0 1 0 1</diffuse> <specular>0.1 0.1 0.1 1</specular> <emissive>0 0 0 1</emissive> <shader type='pixel'/> </material> <cast_shadows>1</cast_shadows> <transparency>0</transparency> </visual> <collision name='rotor_0_collision'> <laser_retro>0</laser_retro> <max_contacts>10</max_contacts> <pose frame=''>0 0 0 0 -0 0</pose> <geometry> <cylinder> <radius>0.128</radius> <length>0.005</length> </cylinder> </geometry> <surface> <friction> <ode> <mu>1</mu> <mu2>1</mu2> <fdir1>0 0 0</fdir1> <slip1>0</slip1> <slip2>0</slip2> </ode> </friction> <bounce> <restitution_coefficient>0</restitution_coefficient> <threshold>1e+06</threshold> </bounce> <contact> <collide_without_contact>0</collide_without_contact> <collide_without_contact_bitmask>1</collide_without_contact_bitmask> <collide_bitmask>1</collide_bitmask> <ode> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> <max_vel>0.01</max_vel> <min_depth>0</min_depth> </ode> <bullet> <split_impulse>1</split_impulse> <split_impulse_penetration_threshold>-0.01</split_impulse_penetration_threshold> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> </bullet> </contact> </surface> </collision> </link> <link name='rotor_1'> <pose frame=''>-0.159 0.159 0.11 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> <self_collide>0</self_collide> <kinematic>0</kinematic> <velocity_decay/> <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/Red</name> <uri>file://media/materials/scripts/gazebo.material</uri> </script> <ambient>1 0 0 1</ambient> <diffuse>1 0 0 1</diffuse> <specular>0.1 0.1 0.1 1</specular> <emissive>0 0 0 1</emissive> <shader type='pixel'/> </material> <cast_shadows>1</cast_shadows> <transparency>0</transparency> </visual> <collision name='rotor_1_collision'> <laser_retro>0</laser_retro> <max_contacts>10</max_contacts> <pose frame=''>0 0 0 0 -0 0</pose> <geometry> <cylinder> <radius>0.128</radius> <length>0.005</length> </cylinder> </geometry> <surface> <friction> <ode> <mu>1</mu> <mu2>1</mu2> <fdir1>0 0 0</fdir1> <slip1>0</slip1> <slip2>0</slip2> </ode> </friction> <bounce> <restitution_coefficient>0</restitution_coefficient> <threshold>1e+06</threshold> </bounce> <contact> <collide_without_contact>0</collide_without_contact> <collide_without_contact_bitmask>1</collide_without_contact_bitmask> <collide_bitmask>1</collide_bitmask> <ode> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> <max_vel>0.01</max_vel> <min_depth>0</min_depth> </ode> <bullet> <split_impulse>1</split_impulse> <split_impulse_penetration_threshold>-0.01</split_impulse_penetration_threshold> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> </bullet> </contact> </surface> </collision> </link> <link name='rotor_2'> <pose frame=''>0.159 0.159 0.11 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> <self_collide>0</self_collide> <kinematic>0</kinematic> <velocity_decay/> <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/Green</name> <uri>file://media/materials/scripts/gazebo.material</uri> </script> <ambient>0 1 0 1</ambient> <diffuse>0 1 0 1</diffuse> <specular>0.1 0.1 0.1 1</specular> <emissive>0 0 0 1</emissive> <shader type='pixel'/> </material> <cast_shadows>1</cast_shadows> <transparency>0</transparency> </visual> <collision name='rotor_2_collision'> <laser_retro>0</laser_retro> <max_contacts>10</max_contacts> <pose frame=''>0 0 0 0 -0 0</pose> <geometry> <cylinder> <radius>0.128</radius> <length>0.005</length> </cylinder> </geometry> <surface> <friction> <ode> <mu>1</mu> <mu2>1</mu2> <fdir1>0 0 0</fdir1> <slip1>0</slip1> <slip2>0</slip2> </ode> </friction> <bounce> <restitution_coefficient>0</restitution_coefficient> <threshold>1e+06</threshold> </bounce> <contact> <collide_without_contact>0</collide_without_contact> <collide_without_contact_bitmask>1</collide_without_contact_bitmask> <collide_bitmask>1</collide_bitmask> <ode> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> <max_vel>0.01</max_vel> <min_depth>0</min_depth> </ode> <bullet> <split_impulse>1</split_impulse> <split_impulse_penetration_threshold>-0.01</split_impulse_penetration_threshold> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> </bullet> </contact> </surface> </collision> </link> <link name='rotor_3'> <pose frame=''>-0.159 -0.159 0.11 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> <self_collide>0</self_collide> <kinematic>0</kinematic> <velocity_decay/> <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/Red</name> <uri>file://media/materials/scripts/gazebo.material</uri> </script> <ambient>1 0 0 1</ambient> <diffuse>1 0 0 1</diffuse> <specular>0.1 0.1 0.1 1</specular> <emissive>0 0 0 1</emissive> <shader type='pixel'/> </material> <cast_shadows>1</cast_shadows> <transparency>0</transparency> </visual> <collision name='rotor_3_collision'> <laser_retro>0</laser_retro> <max_contacts>10</max_contacts> <pose frame=''>0 0 0 0 -0 0</pose> <geometry> <cylinder> <radius>0.128</radius> <length>0.005</length> </cylinder> </geometry> <surface> <friction> <ode> <mu>1</mu> <mu2>1</mu2> <fdir1>0 0 0</fdir1> <slip1>0</slip1> <slip2>0</slip2> </ode> </friction> <bounce> <restitution_coefficient>0</restitution_coefficient> <threshold>1e+06</threshold> </bounce> <contact> <collide_without_contact>0</collide_without_contact> <collide_without_contact_bitmask>1</collide_without_contact_bitmask> <collide_bitmask>1</collide_bitmask> <ode> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> <max_vel>0.01</max_vel> <min_depth>0</min_depth> </ode> <bullet> <split_impulse>1</split_impulse> <split_impulse_penetration_threshold>-0.01</split_impulse_penetration_threshold> <soft_cfm>0</soft_cfm> <soft_erp>0.2</soft_erp> <kp>1e+13</kp> <kd>1</kd> </bullet> </contact> </surface> </collision> </link> <joint name='/imu_joint' type='revolute'> <parent>base_link</parent> <child>/imu_link</child> <axis> <xyz>1 0 0</xyz> <use_parent_model_frame>1</use_parent_model_frame> <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> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <joint name='f450/down_cam_joint' type='revolute'> <parent>base_link</parent> <child>f450/robot_camera_down</child> <axis> <xyz>1 0 0</xyz> <use_parent_model_frame>1</use_parent_model_frame> <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> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <joint name='f450/down_sonar_joint' type='revolute'> <parent>base_link</parent> <child>f450/robot_sonar_down</child> <axis> <xyz>1 0 0</xyz> <use_parent_model_frame>1</use_parent_model_frame> <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> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <joint name='f450/front_cam_joint' type='revolute'> <parent>base_link</parent> <child>f450/robot_camera</child> <axis> <xyz>1 0 0</xyz> <use_parent_model_frame>1</use_parent_model_frame> <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> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <joint name='rotor_0_joint' type='revolute'> <parent>base_link</parent> <child>rotor_0</child> <axis> <xyz>0 0 1</xyz> <use_parent_model_frame>1</use_parent_model_frame> <limit> <lower>-1e+16</lower> <upper>1e+16</upper> <effort>-1</effort> <velocity>-1</velocity> </limit> <dynamics> <spring_reference>0</spring_reference> <spring_stiffness>0</spring_stiffness> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <joint name='rotor_1_joint' type='revolute'> <parent>base_link</parent> <child>rotor_1</child> <axis> <xyz>0 0 1</xyz> <use_parent_model_frame>1</use_parent_model_frame> <limit> <lower>-1e+16</lower> <upper>1e+16</upper> <effort>-1</effort> <velocity>-1</velocity> </limit> <dynamics> <spring_reference>0</spring_reference> <spring_stiffness>0</spring_stiffness> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <joint name='rotor_2_joint' type='revolute'> <parent>base_link</parent> <child>rotor_2</child> <axis> <xyz>0 0 1</xyz> <use_parent_model_frame>1</use_parent_model_frame> <limit> <lower>-1e+16</lower> <upper>1e+16</upper> <effort>-1</effort> <velocity>-1</velocity> </limit> <dynamics> <spring_reference>0</spring_reference> <spring_stiffness>0</spring_stiffness> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <joint name='rotor_3_joint' type='revolute'> <parent>base_link</parent> <child>rotor_3</child> <axis> <xyz>0 0 1</xyz> <use_parent_model_frame>1</use_parent_model_frame> <limit> <lower>-1e+16</lower> <upper>1e+16</upper> <effort>-1</effort> <velocity>-1</velocity> </limit> <dynamics> <spring_reference>0</spring_reference> <spring_stiffness>0</spring_stiffness> <damping>0</damping> <friction>0</friction> </dynamics> </axis> <physics> <ode> <limit> <cfm>0</cfm> <erp>0.2</erp> </limit> <suspension> <cfm>0</cfm> <erp>0.2</erp> </suspension> </ode> </physics> </joint> <static>0</static> <allow_auto_disable>1</allow_auto_disable> <plugin name='rosbag' filename='librotors_gazebo_multirotor_base_plugin.so'> <robotNamespace/> <linkName>base_link</linkName> <rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim> </plugin> <plugin name='front_right_motor_model' filename='librotors_gazebo_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.000806428</rotorDragCoefficient> <rollingMomentCoefficient>1e-06</rollingMomentCoefficient> <motorSpeedPubTopic>/motor_speed/0</motorSpeedPubTopic> <rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim> </plugin> <plugin name='back_left_motor_model' filename='librotors_gazebo_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.000806428</rotorDragCoefficient> <rollingMomentCoefficient>1e-06</rollingMomentCoefficient> <motorSpeedPubTopic>/motor_speed/1</motorSpeedPubTopic> <rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim> </plugin> <plugin name='front_left_motor_model' filename='librotors_gazebo_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.000806428</rotorDragCoefficient> <rollingMomentCoefficient>1e-06</rollingMomentCoefficient> <motorSpeedPubTopic>/motor_speed/2</motorSpeedPubTopic> <rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim> </plugin> <plugin name='back_right_motor_model' filename='librotors_gazebo_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.000806428</rotorDragCoefficient> <rollingMomentCoefficient>1e-06</rollingMomentCoefficient> <motorSpeedPubTopic>/motor_speed/3</motorSpeedPubTopic> <rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim> </plugin> <plugin name='mavlink_interface' filename='librotors_gazebo_mavlink_interface.so'> <robotNamespace/> <imuSubTopic>/imu</imuSubTopic> <mavlink_addr>INADDR_ANY</mavlink_addr> <mavlink_udp_port>14560</mavlink_udp_port> <motorSpeedCommandPubTopic>/gazebo/command/motor_speed</motorSpeedCommandPubTopic> <control_channels> <channel name='rotor1'> <input_index>0</input_index> <input_offset>1</input_offset> <input_scaling>550</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>1</input_offset> <input_scaling>550</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>1</input_offset> <input_scaling>550</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>1</input_offset> <input_scaling>550</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='rotors_gazebo_imu_plugin' filename='librotors_gazebo_imu_plugin.so'> <robotNamespace/> <linkName>/imu_link</linkName> <imuTopic>/imu</imuTopic> <gyroscopeNoiseDensity>0.0</gyroscopeNoiseDensity> <gyroscopeRandomWalk>0.0</gyroscopeRandomWalk> <gyroscopeBiasCorrelationTime>1000.0</gyroscopeBiasCorrelationTime> <gyroscopeTurnOnBiasSigma>0.0</gyroscopeTurnOnBiasSigma> <accelerometerNoiseDensity>0.0</accelerometerNoiseDensity> <accelerometerRandomWalk>0.0</accelerometerRandomWalk> <accelerometerBiasCorrelationTime>300.0</accelerometerBiasCorrelationTime> <accelerometerTurnOnBiasSigma>0.0</accelerometerTurnOnBiasSigma> </plugin> </model> </sdf>