Week 3: June 10 ~ June 16

The goal for this week was to migrate the models in drone_assets to Gazebo Harmonic.

Objectives

  • drone_assets migration to Gz Harmonic

Issues Fixed

PRs Created

Work Done

  • Updated the simple_circuit_followingcam.launch.py file for dummy client testing
  • Determined the issue with commands used for configuring the browser screen dimensions for Gazebo GUI
  • Migrated drone_assets to Gazebo Harmonic

Last week, I encountered difficulties while testing the new RAM launcher with the dummy client. During our meeting, Pedro guided me on debugging and development with the dummy client. In the dummy client, for the second step of launch_world, the simple_circuit_followingcam.launch.py file is launched. My focus was on modifying this file to make it compatible with Gazebo Harmonic. I updated the file, replacing gazebo_ros with ros_gz and the gzserver.launch.py file with the corresponding one from the ros_gz package. Using the dummy client, I successfully executed the first two steps: connect and launch_world. The third step, prepare_visualization, which launches the Gazebo GUI, was commented out. I managed to launch the Gazebo GUI from another terminal inside the container, but encountered a black screen. Running the gz sim -g command with the -v4 argument showed that the GUI was requesting a list of world names and the server was downloading resources. I am currently working on resolving this issue.

Previously, I had found that the default configuration file for the Gazebo SIM GUI is located at $HOME/.gz/gui/default.config. However, for Gazebo Harmonic, the correct path is $HOME/.gz/sim/<#>/gui.config (where <#> represents Gazebo Sim’s major version). I attempted to launch an empty_world with a modified config file specifying only the window dimensions. However, I observed that a specific set of plugins is necessary to launch an empty_world, and if these are missing, the default config file is used. My next task would be to create a new config file containing only the required plugins, removing unnecessary elements from the Gazebo GUI.

While migrating models in drone_assets to Gazebo Harmonic, I discovered that Gazebo SIM does not support Ogre material files like Classic does, due to its compatibility with multiple rendering engines. In Gazebo Sim, textures can be passed as the albedo map. Therefore, in the sdf files of the models the following code:

<material>
  <script>
    <uri>model://number1/materials/scripts</uri>
    <uri>model://number1/materials/textures</uri>
    <name>Number/One</name>
  </script>
</material>

was replaced with:

<material>
  <pbr>
    <metal>
      <albedo_map>model://number1/materials/textures/texture.png</albedo_map>
    </metal>
  </pbr>
</material>

I added new models for ocean and polaris_ranger_ev. The models yet to be migrated are: gas_station, house_3, UAVs (iris and typhoon h480). Also the system plugin libwall2plugin.so used in the cylinder and wall models is to be migrated.

Models from Rescue People exercise migrated to Gazebo Harmonic



Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Week 11 and Week 12: August 05 ~ August 18
  • Week 10: July 29 ~ August 04
  • Week 8 and Week 9: July 15 ~ July 28
  • Week 7: July 08 ~ July 14
  • Week 5 and Week 6: June 24 ~ July 07