Skip to content

Commit

Permalink
x500: add magnetometer (#89)
Browse files Browse the repository at this point in the history
* x500: add magnetometer

* add mag sensor to all gz airframes except spacecraft
  • Loading branch information
dakejahl authored Mar 5, 2025
1 parent bbf32e8 commit 6c18846
Show file tree
Hide file tree
Showing 11 changed files with 292 additions and 18 deletions.
25 changes: 25 additions & 0 deletions models/advanced_plane/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,31 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
Expand Down
25 changes: 25 additions & 0 deletions models/lawnmower/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,31 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
Expand Down
25 changes: 25 additions & 0 deletions models/omnicopter/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,31 @@
</linear_acceleration>
</imu>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
Expand Down
26 changes: 25 additions & 1 deletion models/px4vision/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
<specular>0.175 0.175 0.175 1.0</specular>
</material>
</visual>

<sensor name="air_pressure_sensor" type="air_pressure">
<always_on>1</always_on>
<update_rate>50</update_rate>
Expand All @@ -66,6 +65,31 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
Expand Down
25 changes: 25 additions & 0 deletions models/quadtailsitter/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,31 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
Expand Down
59 changes: 42 additions & 17 deletions models/r1_rover/model.sdf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<sdf version='1.6'>
<model name='r1_rover'>
<link name='base_link'>
<pose>0 0 0 0 -0 0</pose>
<link name='base_link'>
<pose>0 0 0 0 -0 0</pose>
<inertial>
<pose>0 0 0 0 -0 0</pose>
<mass>20.0</mass>
Expand Down Expand Up @@ -185,12 +185,37 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
</sensor>
</link>
<link name='lf_wheel_link'>
<link name='lf_wheel_link'>
<pose>0.15 0.16317 0.0215 0 -0 0</pose>
<inertial>
<pose>0 0 0 1.57079632679 0 0</pose>
Expand Down Expand Up @@ -274,9 +299,9 @@
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<link name='lb_wheel_link'>
<pose>-0.15 0.16317 0.0215 0 -0 0</pose>
<inertial>
<link name='lb_wheel_link'>
<pose>-0.15 0.16317 0.0215 0 -0 0</pose>
<inertial>
<pose>0 0 0 1.57079632679 0 0</pose>
<mass>0.414</mass>
<inertia>
Expand Down Expand Up @@ -325,7 +350,7 @@
</ode>
</contact>
</surface>
</collision>
</collision>
<visual name='lb_wheel_link_visual'>
<pose>0 0 0 0 -0 0</pose>
<geometry>
Expand All @@ -341,7 +366,7 @@
</visual>
<gravity>1</gravity>
<velocity_decay/>
</link>
</link>
<joint name='motor_1' type='revolute'>
<child>lb_wheel_link</child>
<parent>base_link</parent>
Expand All @@ -358,7 +383,7 @@
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<link name='rf_wheel_link'>
<link name='rf_wheel_link'>
<pose>0.15 -0.16317 0.0215 0 -0 0</pose>
<inertial>
<pose>0 0 0 1.57079632679 0 0</pose>
Expand Down Expand Up @@ -417,11 +442,11 @@
<scale>1 1 1</scale>
<uri>model://r1_rover/meshes/wheel_link.STL</uri>
</mesh>
</geometry>
<material>
<diffuse>0.0 0.0 0.0</diffuse>
<specular>0.5 0.5 0.5</specular>
</material>
</geometry>
<material>
<diffuse>0.0 0.0 0.0</diffuse>
<specular>0.5 0.5 0.5</specular>
</material>
</visual>
<gravity>1</gravity>
<velocity_decay/>
Expand All @@ -442,7 +467,7 @@
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<link name='rb_wheel_link'>
<link name='rb_wheel_link'>
<pose>-0.15 -0.16317 0.0215 0 -0 0</pose>
<inertial>
<pose>0 0 0 1.57079632679 0 0</pose>
Expand Down Expand Up @@ -507,7 +532,7 @@
</visual>
<gravity>1</gravity>
<velocity_decay/>
</link>
</link>
<joint name='motor_3' type='revolute'>
<child>rb_wheel_link</child>
<parent>base_link</parent>
Expand All @@ -524,7 +549,7 @@
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<static>0</static>
<static>0</static>
<plugin filename="gz-sim-joint-controller-system" name="gz::sim::systems::JointController">
<joint_name>motor_0</joint_name>
<sub_topic>command/motor_speed</sub_topic>
Expand Down
25 changes: 25 additions & 0 deletions models/rc_cessna/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,31 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
</link>
<link name="airspeed">
<pose>0 0 0 0 0 0</pose>
Expand Down
25 changes: 25 additions & 0 deletions models/rover_ackermann/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,31 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
Expand Down
25 changes: 25 additions & 0 deletions models/standard_vtol/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,31 @@
</pressure>
</air_pressure>
</sensor>
<sensor name="magnetometer_sensor" type="magnetometer">
<always_on>1</always_on>
<update_rate>100</update_rate>
<magnetometer>
<!-- TODO: update to fix units and coordinate system when we move past Harmonic -->
<!-- See https://github.com/gazebosim/gz-sim/pull/2460 -->
<!-- 3mgauss RMS: NOTE: noise is in tesla but sensor reports data in gauss -->
<!-- Noise modeled after IIS2MDC -->
<x>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</x>
<y>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</y>
<z>
<noise type="gaussian">
<stddev>0.0001</stddev>
</noise>
</z>
</magnetometer>
</sensor>
<sensor name="navsat_sensor" type="navsat">
<always_on>1</always_on>
<update_rate>30</update_rate>
Expand Down
Loading

0 comments on commit 6c18846

Please sign in to comment.