Set of plugins used by the Phantom Simbot Gazebo simulation. Tested with Gazebo Harmonic.
- odometer_example - simple demo plugin from Gazebo repo
- camera_encoder - replacement for the default Gazebo camera sensor that also encoders H.264 frames on the GPU
Clone this repo:
cd /root
git clone [email protected]:PhantomCybernetics/simbot_gz_plugins.git simbot_gz_plugins
cd simbot_gz_plugins
For the next step, GZ_SIM_SYSTEM_PLUGIN_PATH must be set to /root/simbot_gz_plugins/bin
, this is where Gazebo will look for plugins.
For each plugin, do:
cd PLUGIN_DIR/build
cmake .. && make && make install
Plugin's .so will be installed into GZ_SIM_SYSTEM_PLUGIN_PATH.
To buil dit, first, load the plugin for the whole SDF world (scope must be a parent of where the plugin is then used!)
<?xml version="1.0"?>
<sdf version="1.9">
<world name="demo_world">
<plugin
filename="OdometerExampleSystem"
name="custom::MyOdometerSystem">
</plugin>
</world>
</sdf>
Then use it inside your URDF like so:
<sensor name="odometer_example" type="custom" gz:type="odometer_example">
<always_on>true</always_on>
<update_rate>30</update_rate>
<topic>odometer_test</topic>
<gz:odometer_example>
<noise type="gaussian">
<mean>0.00001</mean>
<stddev>0.00001</stddev>
</noise>
</gz:odometer_example>
</sensor>
Launch the simulation, then gz topic -l
should show the /odometer_test topic.