first commit
This commit is contained in:
+160
File diff suppressed because one or more lines are too long
+160
File diff suppressed because one or more lines are too long
+160
File diff suppressed because one or more lines are too long
Executable
+37
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<model>
|
||||
<name>drone_with_lidar</name>
|
||||
<version>1.0</version>
|
||||
<sdf version="1.6">model.sdf</sdf>
|
||||
<author>
|
||||
<name>Eric Johnson</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Fadri Furrer</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Michael Burri</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Mina Kamel</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Janosch Nikolic</name>
|
||||
</author>
|
||||
<author>
|
||||
<name>Markus Achtelik</name>
|
||||
</author>
|
||||
|
||||
<maintainer>Eric Johnson</maintainer>
|
||||
|
||||
|
||||
<description>
|
||||
A copy of the 3DR Iris model taken from
|
||||
https://github.com/PX4/sitl_gazebo/tree/master/models
|
||||
Local modifications include adding standoffs,
|
||||
inertia and collision updates..
|
||||
|
||||
added lidar
|
||||
</description>
|
||||
</model>
|
||||
Executable
+288
@@ -0,0 +1,288 @@
|
||||
<?xml version='1.0'?>
|
||||
<sdf version="1.6" >
|
||||
<model name="drone_with_lidar">
|
||||
<include>
|
||||
<uri>model://iris_base</uri>
|
||||
</include>
|
||||
|
||||
<!--add lidar-->
|
||||
<link name="hokuyo_link">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<collision name="collision">
|
||||
<pose>0 0 0.3 0 0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.1 0.1 0.1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name="visual">
|
||||
<pose>0 0 0.27 0 0 0</pose>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<uri>model://hokuyo/meshes/hokuyo.dae</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</visual>
|
||||
<inertial>
|
||||
<mass>0.016</mass>
|
||||
<inertia>
|
||||
<ixx>0.0001</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.0001</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.0001</izz>
|
||||
<!-- low intertia necessary to avoid not disturb the drone -->
|
||||
</inertia>
|
||||
</inertial>
|
||||
|
||||
<sensor type="ray" name="laser">
|
||||
<pose>0 0 0.3 0 0 1.57</pose>
|
||||
<visualize>true</visualize>
|
||||
<update_rate>10</update_rate>
|
||||
<ray>
|
||||
<scan>
|
||||
<horizontal>
|
||||
<samples>1024</samples>
|
||||
<resolution>1</resolution>
|
||||
<min_angle>-3.141593</min_angle>
|
||||
<max_angle>3.141593</max_angle>
|
||||
</horizontal>
|
||||
</scan>
|
||||
<range>
|
||||
<min>0.1</min>
|
||||
<max>30</max>
|
||||
<resolution>0.1</resolution>
|
||||
</range>
|
||||
<!-- <noise>
|
||||
<type>Gaussian</type>
|
||||
<mean>0.0</mean>
|
||||
<stddev>0.01</stddev>
|
||||
</noise> -->
|
||||
</ray>
|
||||
<plugin name="hokuyo_node" filename="libgazebo_ros_laser.so">
|
||||
<robotNamespace></robotNamespace>
|
||||
<topicName>/spur/laser/scan</topicName>
|
||||
<frameName>/hokuyo_sensor_link</frameName>
|
||||
</plugin>
|
||||
</sensor>
|
||||
</link>
|
||||
|
||||
<joint name="hokuyo_joint" type="fixed">
|
||||
<pose>0 0 0 0 0 0</pose>
|
||||
<parent>iris::base_link</parent>
|
||||
<child>hokuyo_link</child>
|
||||
</joint>
|
||||
|
||||
<!-- plugins -->
|
||||
<plugin name="rotor_0_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_0_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_0</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_1_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_1_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_1</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_2_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_2_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_2</link_name>
|
||||
</plugin>
|
||||
|
||||
<plugin name="rotor_3_blade_1" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>0.084 0 0</cp>
|
||||
<forward>0 -1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="rotor_3_blade_2" filename="libLiftDragPlugin.so">
|
||||
<a0>0.3</a0>
|
||||
<alpha_stall>1.4</alpha_stall>
|
||||
<cla>4.2500</cla>
|
||||
<cda>0.10</cda>
|
||||
<cma>0.00</cma>
|
||||
<cla_stall>-0.025</cla_stall>
|
||||
<cda_stall>0.0</cda_stall>
|
||||
<cma_stall>0.0</cma_stall>
|
||||
<area>0.002</area>
|
||||
<air_density>1.2041</air_density>
|
||||
<cp>-0.084 0 0</cp>
|
||||
<forward>0 1 0</forward>
|
||||
<upward>0 0 1</upward>
|
||||
<link_name>iris::rotor_3</link_name>
|
||||
</plugin>
|
||||
<plugin name="arducopter_plugin" filename="libArduPilotPlugin.so">
|
||||
<fdm_addr>127.0.0.1</fdm_addr>
|
||||
<fdm_port_in>9002</fdm_port_in>
|
||||
<fdm_port_out>9003</fdm_port_out>
|
||||
<!--
|
||||
Require by APM :
|
||||
Only change model and gazebo from XYZ to XY-Z coordinates
|
||||
-->
|
||||
<modelXYZToAirplaneXForwardZDown>0 0 0 3.141593 0 0</modelXYZToAirplaneXForwardZDown>
|
||||
<gazeboXYZToNED>0 0 0 3.141593 0 0</gazeboXYZToNED>
|
||||
<imuName>iris::iris/imu_link::imu_sensor</imuName>
|
||||
<connectionTimeoutMaxCount>5</connectionTimeoutMaxCount>
|
||||
<control channel="0">
|
||||
<!--
|
||||
incoming control command [0, 1]
|
||||
so offset it by 0 to get [0, 1]
|
||||
and divide max target by 1.
|
||||
offset = 0
|
||||
multiplier = 838 max rpm / 1 = 838
|
||||
-->
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_0_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="1">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_1_joint</jointName>
|
||||
<multiplier>838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="2">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_2_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
<control channel="3">
|
||||
<type>VELOCITY</type>
|
||||
<offset>0</offset>
|
||||
<p_gain>0.20</p_gain>
|
||||
<i_gain>0</i_gain>
|
||||
<d_gain>0</d_gain>
|
||||
<i_max>0</i_max>
|
||||
<i_min>0</i_min>
|
||||
<cmd_max>2.5</cmd_max>
|
||||
<cmd_min>-2.5</cmd_min>
|
||||
<jointName>iris::rotor_3_joint</jointName>
|
||||
<multiplier>-838</multiplier>
|
||||
<controlVelocitySlowdownSim>1</controlVelocitySlowdownSim>
|
||||
</control>
|
||||
</plugin>
|
||||
|
||||
</model>
|
||||
</sdf>
|
||||
Reference in New Issue
Block a user