Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model pr 428 -Improved UAV drift && Updated camera topic names #467

Merged
merged 6 commits into from
Jun 18, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
201 changes: 101 additions & 100 deletions submitted_models/marble_qav500_sensor_config_1/launch/spawner.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,104 +47,105 @@ def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw)
<static_update_frequency>1</static_update_frequency>
</plugin>
<plugin filename="libignition-gazebo-multicopter-motor-model-system.so"
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_0_joint</jointName>
<linkName>rotor_0</linkName>
<turningDirection>ccw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>0</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/0</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<plugin filename="libignition-gazebo-multicopter-motor-model-system.so"
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_1_joint</jointName>
<linkName>rotor_1</linkName>
<turningDirection>cw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>1</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/1</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<plugin filename="libignition-gazebo-multicopter-motor-model-system.so"
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_2_joint</jointName>
<linkName>rotor_2</linkName>
<turningDirection>ccw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>2</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/2</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<plugin filename="libignition-gazebo-multicopter-motor-model-system.so"
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_3_joint</jointName>
<linkName>rotor_3</linkName>
<turningDirection>cw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>3</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/3</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<plugin
filename="libignition-gazebo-multicopter-control-system.so"
name="ignition::gazebo::systems::MulticopterVelocityControl">
<robotNamespace>model/#{_name}</robotNamespace>
<commandSubTopic>cmd_vel</commandSubTopic>
<motorControlPubTopic>command/motor_speed</motorControlPubTopic>
<enableSubTopic>velocity_controller/enable</enableSubTopic>
<comLinkName>base_link</comLinkName>
<velocityGain>8 8 10</velocityGain>
<attitudeGain>6 6 6</attitudeGain>
<angularRateGain>2.5 2.5 4.0</angularRateGain>
<maximumLinearAcceleration>5 5 5</maximumLinearAcceleration>
<maximumLinearVelocity>4 4 4</maximumLinearVelocity>
<maximumAngularVelocity>5 5 10</maximumAngularVelocity>
<linearVelocityNoiseMean>0 0 0</linearVelocityNoiseMean>
<!-- linearVelocityNoiseStdDev based on error values reported in the paper Shen et. al., -->
<!-- Vision-Based State Estimation and Trajectory Control Towards High-Speed Flight with a Quadrotor -->
<!-- http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.490.7958&rep=rep1&type=pdf -->
<linearVelocityNoiseStdDev>0.1105 0.1261 0.0947</linearVelocityNoiseStdDev>
<angularVelocityNoiseMean>0 0 0</angularVelocityNoiseMean>
<!-- angularVelocityNoiseStdDev values based on ADIS16448's Rate Noise Density with a sample -->
<!-- time of 0.004 ms. -->
<angularVelocityNoiseStdDev>0.004 0.004 0.004</angularVelocityNoiseStdDev>
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_0_joint</jointName>
<linkName>rotor_0</linkName>
<turningDirection>ccw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>0</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/0</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<plugin filename="libignition-gazebo-multicopter-motor-model-system.so"
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_1_joint</jointName>
<linkName>rotor_1</linkName>
<turningDirection>ccw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>1</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/1</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<plugin filename="libignition-gazebo-multicopter-motor-model-system.so"
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_2_joint</jointName>
<linkName>rotor_2</linkName>
<turningDirection>cw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>2</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/2</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<plugin filename="libignition-gazebo-multicopter-motor-model-system.so"
name="ignition::gazebo::systems::MulticopterMotorModel">
<robotNamespace>model/#{_name}</robotNamespace>
<jointName>rotor_3_joint</jointName>
<linkName>rotor_3</linkName>
<turningDirection>cw</turningDirection>
<timeConstantUp>0.0182</timeConstantUp>
<timeConstantDown>0.0182</timeConstantDown>
<maxRotVelocity>1000.0</maxRotVelocity>
<motorConstant>1.269e-05</motorConstant>
<momentConstant>0.016754</momentConstant>
<commandSubTopic>command/motor_speed</commandSubTopic>
<motorNumber>3</motorNumber>
<rotorDragCoefficient>2.0673e-04</rotorDragCoefficient>
<rollingMomentCoefficient>0</rollingMomentCoefficient>
<motorSpeedPubTopic>motor_speed/3</motorSpeedPubTopic>
<rotorVelocitySlowdownSim>10</rotorVelocitySlowdownSim>
<motorType>velocity</motorType>
</plugin>
<!-- MulticopterVelocityControl plugin -->
<plugin
filename="libignition-gazebo-multicopter-control-system.so"
name="ignition::gazebo::systems::MulticopterVelocityControl">
<robotNamespace>model/#{_name}</robotNamespace>
<commandSubTopic>cmd_vel</commandSubTopic>
<motorControlPubTopic>command/motor_speed</motorControlPubTopic>
<enableSubTopic>velocity_controller/enable</enableSubTopic>
<comLinkName>base_link</comLinkName>
<velocityGain>8 8 10</velocityGain>
<attitudeGain>6 6 6</attitudeGain>
<angularRateGain>2.5 2.5 4.0</angularRateGain>
<maximumLinearAcceleration>5 5 3</maximumLinearAcceleration>
<maximumLinearVelocity>10 10 5</maximumLinearVelocity>
<maximumAngularVelocity>3 3 6</maximumAngularVelocity>
<linearVelocityNoiseMean>0 0 0</linearVelocityNoiseMean>
<!-- linearVelocityNoiseStdDev based on error values reported in the paper Shen et. al., -->
<!-- Vision-Based State Estimation and Trajectory Control Towards High-Speed Flight with a Quadrotor -->
<!-- http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.490.7958&rep=rep1&type=pdf -->
<linearVelocityNoiseStdDev>0.1105 0.1261 0.0947</linearVelocityNoiseStdDev>
<angularVelocityNoiseMean>0 0 0</angularVelocityNoiseMean>
<!-- angularVelocityNoiseStdDev values based on ADIS16448's Rate Noise Density with a sample -->
<!-- time of 0.004 ms. -->
<angularVelocityNoiseStdDev>0.004 0.004 0.004</angularVelocityNoiseStdDev>

<rotorConfiguration>
<rotor>
Expand All @@ -157,13 +158,13 @@ def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw)
<jointName>rotor_1_joint</jointName>
<forceConstant>1.269e-05</forceConstant>
<momentConstant>1.6754e-2</momentConstant>
<direction>-1</direction>
<direction>1</direction>
</rotor>
<rotor>
<jointName>rotor_2_joint</jointName>
<forceConstant>1.269e-05</forceConstant>
<momentConstant>1.6754e-2</momentConstant>
<direction>1</direction>
<direction>-1</direction>
</rotor>
<rotor>
<jointName>rotor_3_joint</jointName>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
type="image_bridge"
name="ros_ign_image_tof_top"
args="$(arg sensor_prefix)/tof_top/depth_image">
<remap from="$(arg sensor_prefix)/tof_top/depth_image" to="top/depth"/>
<remap from="$(arg sensor_prefix)/tof_top/depth_image" to="tof_top/depth"/>
</node>
</group>

Expand All @@ -120,7 +120,7 @@
type="image_bridge"
name="ros_ign_image_tof_bottom"
args="$(arg sensor_prefix)/tof_bottom/depth_image">
<remap from="$(arg sensor_prefix)/tof_bottom/depth_image" to="bottom/depth"/>
<remap from="$(arg sensor_prefix)/tof_bottom/depth_image" to="tof_bottom/depth"/>
</node>
</group>

Expand Down
29 changes: 18 additions & 11 deletions submitted_models/marble_qav500_sensor_config_1/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,21 @@
<pose frame="">0 0 0 0 -0 0</pose>
<inertial>
<pose frame="">0 0 0 0 -0 0</pose>
<mass>3</mass>
<!-- <mass>3</mass> -->
<mass>2.06</mass>
<inertia>
<ixx>0.03567</ixx>
<!-- <ixx>0.03567</ixx>
<ixy>0</ixy>
<ixz>0.0006</ixz>
<ixz>0.0</ixz>
<iyy>0.05534</iyy>
<iyz>0</iyz>
<izz>0.0847</izz>
<izz>0.0847</izz> -->
<ixx>0.03566</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.05535</iyy>
<iyz>0</iyz>
<izz>0.08475</izz>
</inertia>
</inertial>
<collision name="base_link_inertia_collision">
Expand Down Expand Up @@ -587,7 +594,7 @@
</sensor> -->
</link>
<link name="rotor_0">
<pose frame="">0.206069 0.206092 0.028 0 0 0.523599</pose>
<pose frame="">0.206069 -0.205944 0.028 0 0 0.523599</pose>
<inertial>
<pose frame="">0 0 0 0 -0 0</pose>
<mass>0.005</mass>
Expand Down Expand Up @@ -628,7 +635,7 @@
<material>
<diffuse>1 0 0 1</diffuse>
<script>
<name>Gazebo/Red</name>
<name>Gazebo/Blue</name>
<uri>materials/scripts/gazebo.material</uri>
</script>
</material>
Expand Down Expand Up @@ -690,13 +697,13 @@
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>meshes/neo11_propeller_cw.dae</uri>
<uri>meshes/neo11_propeller_ccw.dae</uri>
</mesh>
</geometry>
<material>
<diffuse>0 0 1 1</diffuse>
<script>
<name>Gazebo/Blue</name>
<name>Gazebo/Red</name>
<uri>materials/scripts/gazebo.material</uri>
</script>
</material>
Expand Down Expand Up @@ -789,7 +796,7 @@
</axis>
</joint> -->
<link name="rotor_2">
<pose frame="">-0.206432 -0.205944 0.028 0 -0 -2.61799</pose>
<pose frame="">0.206432 0.205944 0.028 0 -0 -2.61799</pose>
<inertial>
<pose frame="">0 0 0 0 -0 0</pose>
<mass>0.005</mass>
Expand Down Expand Up @@ -824,7 +831,7 @@
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>meshes/neo11_propeller_ccw.dae</uri>
<uri>meshes/neo11_propeller_cw.dae</uri>
</mesh>
</geometry>
<material>
Expand Down Expand Up @@ -923,7 +930,7 @@
</axis>
</joint> -->
<link name="rotor_3">
<pose frame="">0.206432 -0.205944 0.028 0 0 -0.523599</pose>
<pose frame="">-0.206432 -0.205944 0.028 0 0 -0.523599</pose>
<inertial>
<pose frame="">0 0 0 0 -0 0</pose>
<mass>0.005</mass>
Expand Down