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

Convert ignitionrobotics to gazebosim in tutorials #1759

Merged
merged 1 commit into from
Oct 13, 2022
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
2 changes: 1 addition & 1 deletion src/ign_TEST.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ TEST(CmdLine, CachedFuelWorld)
std::string projectPath = std::string(PROJECT_SOURCE_PATH) + "/test/worlds";
ignition::common::setenv("IGN_FUEL_CACHE_PATH", projectPath.c_str());
std::string cmd = kIgnCommand + " -r -v 4 --iterations 5" +
" https://fuel.ignitionrobotics.org/1.0/OpenRobotics/worlds/Test%20world";
" https://fuel.gazebosim.org/1.0/OpenRobotics/worlds/Test%20world";
std::cout << "Running command [" << cmd << "]" << std::endl;

std::string output = customExecStr(cmd);
Expand Down
2 changes: 1 addition & 1 deletion tutorials/battery.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Next, you can find a description of the SDF parameters used:

* `<power_load>`: Power load on battery (W).

* `<fix_issue_225>`: As reported [here](https://github.com/ignitionrobotics/ign-gazebo/issues/225),
* `<fix_issue_225>`: As reported [here](https://github.com/gazebosim/gz-sim/issues/225),
there are some issues affecting batteries in Ignition Blueprint and Citadel.
This parameter fixes the issues. Feel free to omit the parameter if you have
legacy code and want to preserve the old behavior.
Expand Down
2 changes: 1 addition & 1 deletion tutorials/collada_world_exporter.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ ign gazebo -v 4 -s -r --iterations 1 WORLD_FILE_NAME

3. A subdirectory, named after the world, has been created in the current working directory. Within this subdirectory is the mesh and materials for the world.

Refer to the [collada_world_exporter.sdf](https://github.com/ignitionrobotics/ign-gazebo/blob/ign-gazebo4/examples/worlds/collada_world_exporter.sdf) example.
Refer to the [collada_world_exporter.sdf](https://github.com/gazebosim/gz-sim/blob/ign-gazebo4/examples/worlds/collada_world_exporter.sdf) example.
2 changes: 1 addition & 1 deletion tutorials/detachable_joints.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ kinematic topology has to be a tree, i.e., kinematic loops are not currently
supported. This affects the choice of the parent link, and therefore, the
parent model, which is the model that contains the `DetachableJoint` system.

For example, [detachable_joint.sdf](https://github.com/ignitionrobotics/ign-gazebo/blob/ign-gazebo2/examples/worlds/detachable_joint.sdf)
For example, [detachable_joint.sdf](https://github.com/gazebosim/gz-sim/blob/ign-gazebo2/examples/worlds/detachable_joint.sdf)
demonstrates a four wheel vehicle that holds three objects that are later
detached from the vehicle. As seen in this example, the parent model is the
vehicle. The kinematic topology is the following.
Expand Down
2 changes: 1 addition & 1 deletion tutorials/distributed_simulation.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ keeps all performers loaded, but performs no physics simulation.
Stepping happens in 2 stages: the primary update and the secondaries update,
according to the diagram below:

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/ign-gazebo3/tutorials/files/distributed_step.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/ign-gazebo3/tutorials/files/distributed_step.png"/>

1. The primary publishes a `SimulationStep` message on the `/step` topic,
containing:
Expand Down
8 changes: 4 additions & 4 deletions tutorials/erb_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Some of them are listed below and demonstrated in this [example ERB file](https:
## Set up Ruby

Firstly, Ruby needs to be installed.
If you have gone through [Ignition's installation guide](https://ignitionrobotics.org/docs/latest/install), it's most likely you already have Ruby installed.
If you have gone through [Ignition's installation guide](https://gazebosim.org/docs/latest/install), it's most likely you already have Ruby installed.
To check if Ruby is installed, use
```{.sh}
ruby --version
Expand Down Expand Up @@ -102,7 +102,7 @@ Each box model also has a different name and pose to ensure they show up as indi
%>
```

[Here](https://github.com/ignitionrobotics/ign-gazebo/blob/ign-gazebo3/examples/worlds/shapes_population.sdf.erb) is a complete shapes simulation world example.
[Here](https://github.com/gazebosim/gz-sim/blob/ign-gazebo3/examples/worlds/shapes_population.sdf.erb) is a complete shapes simulation world example.

Instead of simple shapes, you can also use a nested loop to generate 100 actors spaced out evenly in a simulation world.

Expand All @@ -116,11 +116,11 @@ Instead of simple shapes, you can also use a nested loop to generate 100 actors

<actor name="actor_<%= 10*i+j %>">
<skin>
<filename>https://fuel.ignitionrobotics.org/1.0/Mingfei/models/actor/tip/files/meshes/talk_b.dae</filename>
<filename>https://fuel.gazebosim.org/1.0/Mingfei/models/actor/tip/files/meshes/talk_b.dae</filename>
<scale>1.0</scale>
</skin>
<animation name="talk_b">
<filename>https://fuel.ignitionrobotics.org/1.0/Mingfei/models/actor/tip/files/meshes/talk_b.dae</filename>
<filename>https://fuel.gazebosim.org/1.0/Mingfei/models/actor/tip/files/meshes/talk_b.dae</filename>
<scale>0.055</scale>
<interpolate_x>true</interpolate_x>
</animation>
Expand Down
8 changes: 4 additions & 4 deletions tutorials/gui_config.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
\page gui_config GUI Configuration

Ignition Gazebo's graphical user interface is powered by
[Ignition GUI](https://ignitionrobotics.org/libs/gui). Therefore, Gazebo's
[Ignition GUI](https://gazebosim.org/libs/gui). Therefore, Gazebo's
GUI layout can be defined in
[Ignition GUI configuration files](https://ignitionrobotics.org/api/gui/2.1/config.html).
[Ignition GUI configuration files](https://gazebosim.org/api/gui/2.1/config.html).
These are XML files that describe what plugins to be loaded and with what
settings.

Expand Down Expand Up @@ -103,11 +103,11 @@ favorite editor and save this file as `fuel_preview.sdf`:
</gui>

<include>
<uri>https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Sun</uri>
<uri>https://fuel.gazebosim.org/1.0/OpenRobotics/models/Sun</uri>
</include>

<include>
<uri>https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Gazebo</uri>
<uri>https://fuel.gazebosim.org/1.0/OpenRobotics/models/Gazebo</uri>
</include>

</world>
Expand Down
12 changes: 6 additions & 6 deletions tutorials/levels.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ being added and removed.
Take a look at the 2D example below. This example focuses on a single performer,
but the same logic can be extended to multiple performers.

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/01.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/01.png"/>

* The **green area** represents the area of the world which this simulation
is expected to take place in.
Expand Down Expand Up @@ -115,23 +115,23 @@ Let's take a look at how levels are loaded / unloaded as the performer moves:
* `M1` and `M3`, because they belong to the level.
* `M6`, because it is global.

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/02.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/02.png"/>

2. The performer moves south towards `L3` and enters its buffer zone, triggering
a load of that level's models, `M4` and `M5`. Note that at this moment, both
`L1` and `L3` are loaded.

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/03.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/03.png"/>

3. The performer moves further south, exiting `L1` and entering `L3`. However,
`L1` is still loaded, since `R1` is still within its buffer zone.

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/04.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/04.png"/>

4. Eventually `R1` moves beyond `L1`'s buffer, triggering an unload of `L1`. The
main effect is unloading `M1`.

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/05.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/05.png"/>

## SDF elements

Expand Down Expand Up @@ -248,7 +248,7 @@ ign service -s /world/levels/level/set_performer --reqtype ignition.msgs.StringM
The following is a world file that could be an instance of the world shown in
the figure

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/06.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/d62080da95edbb172c47eac883ec4b707b59bb38/doc/architecture_design/06.png"/>

```xml
<?xml version="1.0" ?>
Expand Down
4 changes: 2 additions & 2 deletions tutorials/log.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Ignition records two types of information to files:
* Always recorded
* Simulation state
* Entity poses, insertion and deletion
* Logged to an [Ignition Transport `state.tlog` file](https://ignitionrobotics.org/api/transport/7.0/logging.html)
* Logged to an [Ignition Transport `state.tlog` file](https://gazebosim.org/api/transport/7.0/logging.html)
* Recording must be enabled from the command line or the C++ API
* Can be played back using the command line or the C++ API

Expand Down Expand Up @@ -42,7 +42,7 @@ Other options for recording:
### From C++ API

All features available through the command line are also available through
[ignition::gazebo::ServerConfig](https://ignitionrobotics.org/api/gazebo/2.0/classignition_1_1gazebo_1_1ServerConfig.html).
[ignition::gazebo::ServerConfig](https://gazebosim.org/api/gazebo/2.0/classignition_1_1gazebo_1_1ServerConfig.html).
When instantiating a server programmatically, logging options can be passed
to the constructor, for example:

Expand Down
6 changes: 3 additions & 3 deletions tutorials/logical_audio_sensor.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The logical audio plugin does not play actual audio to a device like speakers, b

## Setup

Let's take a look at [logical_audio_sensor_plugin.sdf](https://github.com/ignitionrobotics/ign-gazebo/blob/460d2b1cfbf0addf05a1e61c05e1f7a675a83785/examples/worlds/logical_audio_sensor_plugin.sdf), which defines a simulation world with 4 models (in this case, boxes) that have an audio object attached to them.
Let's take a look at [logical_audio_sensor_plugin.sdf](https://github.com/gazebosim/gz-sim/blob/460d2b1cfbf0addf05a1e61c05e1f7a675a83785/examples/worlds/logical_audio_sensor_plugin.sdf), which defines a simulation world with 4 models (in this case, boxes) that have an audio object attached to them.
This world attaches logical audio sources to the `red_box` and `blue_box` models, and attaches logical microphones to the `green_box` and `yellow_box` models.

Let's take a look at the SDF relevant to the source for `red_box` to understand how to define a logical audio source in SDF:
Expand All @@ -30,7 +30,7 @@ Let's take a look at the SDF relevant to the source for `red_box` to understand
```

As we can see, we use a `<source>` tag to define an audio source.
An explanation of all of the tags can be found in the [plugin documentation](https://github.com/ignitionrobotics/ign-gazebo/blob/314477419d2aa946f384204dc99b17d9fcd963b3/src/systems/logical_audio_sensor_plugin/LogicalAudioSensorPlugin.hh#L35-L130), but there are a few important things to point out:
An explanation of all of the tags can be found in the [plugin documentation](https://github.com/gazebosim/gz-sim/blob/314477419d2aa946f384204dc99b17d9fcd963b3/src/systems/logical_audio_sensor_plugin/LogicalAudioSensorPlugin.hh#L35-L130), but there are a few important things to point out:
* `<id>` is used to identify this source when operating on it via services (services will be discussed later).
Since a model can have multiple sources and microphones attached to it, each source attached to a particular model must have a unique ID.
This means that no other sources attached to `red_box` can have an ID of 1, but sources attached to other models can have an ID of 1 (assuming that other models don't already have a source with an ID of 1 attached to it).
Expand All @@ -55,7 +55,7 @@ Let's now take a look at the SDF relevant to the microphone for `green_box` to u
```

The same rules regarding `<id>` and `<pose>` for a logical audio source also apply to a logical microphone.
You can also take a look at the [microphone documentation](https://github.com/ignitionrobotics/ign-gazebo/blob/314477419d2aa946f384204dc99b17d9fcd963b3/src/systems/logical_audio_sensor_plugin/LogicalAudioSensorPlugin.hh#L35-L130) for a detailed explanation of the tags embedded in the `<microphone>` tag.
You can also take a look at the [microphone documentation](https://github.com/gazebosim/gz-sim/blob/314477419d2aa946f384204dc99b17d9fcd963b3/src/systems/logical_audio_sensor_plugin/LogicalAudioSensorPlugin.hh#L35-L130) for a detailed explanation of the tags embedded in the `<microphone>` tag.

## Testing Source and Microphone Behavior

Expand Down
18 changes: 9 additions & 9 deletions tutorials/mesh_to_fuel.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
\page meshtofuel Importing a Mesh to Fuel

This tutorial will explain how to import a mesh to the [Ignition Fuel](https://app.ignitionrobotics.org) web application.
This tutorial will explain how to import a mesh to the [Ignition Fuel](https://app.gazebosim.org) web application.
Adding models and/or worlds to Fuel will make your content readily available to the open source robotics simulation community, and easier to use with the Ignition GUI.

## Prerequisites

To import meshes to Fuel, you need to have a user account.
Go to [app.ignitionrobotics.org](https://app.ignitionrobotics.org) and click Login in the top right corner of the screen, then click Sign Up.
Go to [app.gazebosim.org](https://app.gazebosim.org) and click Login in the top right corner of the screen, then click Sign Up.
Once you verify your email address, your account will be ready.

You'll need a mesh ready before trying to import to Fuel.
There are several ways to acquire a mesh. <!--point cloud to mesh tutorial, cad to mesh tutorial-->
To save time, we'll use this [Electrical Box model](https://app.ignitionrobotics.org/openrobotics/fuel/models/Electrical%20Box) that you can download from Fuel.
To save time, we'll use this [Electrical Box model](https://app.gazebosim.org/openrobotics/fuel/models/Electrical%20Box) that you can download from Fuel.

## Model Directory Structure

Expand Down Expand Up @@ -126,17 +126,17 @@ Click the `Add folders` button, or drag and drop the `Electrical Box` folder you
All the files in your model description will be listed there.
Press `Upload`, and the "Fuel Model Info" page for your model will open.

![Electrical Box Test](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/mesh_to_fuel/model_info2.png)
![Electrical Box Test](https://raw.githubusercontent.com/gazebosim/gz-sim/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/mesh_to_fuel/model_info2.png)

You can always delete a model by clicking the "Edit model" button and then selecting "Delete model" at the bottom of the page

![Delete model](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/mesh_to_fuel/delete2.png)
![Delete model](https://raw.githubusercontent.com/gazebosim/gz-sim/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/mesh_to_fuel/delete2.png)

## Include the Model in a World

With your mesh successfully uploaded to Fuel, you can now easily include it in a world SDF file.

Copy [this example world code](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/blob/ign-gazebo3/examples/worlds/import_mesh.sdf) into a text editor and save it as `import_mesh.sdf`.
Copy [this example world code](https://raw.githubusercontent.com/gazebosim/gz-sim/blob/ign-gazebo3/examples/worlds/import_mesh.sdf) into a text editor and save it as `import_mesh.sdf`.
This is a simple world SDF file, which you can learn more about on the [SDF website](http://sdformat.org/).

Scroll all the way to the bottom of the file until you see the `include` tag section following the `<!-- mesh -->` comment line.
Expand All @@ -156,7 +156,7 @@ Scroll all the way to the bottom of the file until you see the `include` tag sec
<static>true</static>
<name>Electrical Box</name>
<pose>0 0 0 0 0 0</pose>
<uri>https://fuel.ignitionrobotics.org/1.0/openrobotics/models/Electrical Box</uri>
<uri>https://fuel.gazebosim.org/1.0/openrobotics/models/Electrical Box</uri>
</include>

</world>
Expand All @@ -171,7 +171,7 @@ Change `Electrical Box` to `Electrical Box Test`.
The syntax for including any model from Fuel is:

```xml
<uri>https://fuel.ignitionrobotics.org/1.0/<user account name>/models/<model name></uri>
<uri>https://fuel.gazebosim.org/1.0/<user account name>/models/<model name></uri>
```

### Launch World
Expand All @@ -182,4 +182,4 @@ To launch the world and see your mesh, run Ignition from inside the directory wh
ign gazebo import_mesh.sdf
```

![Launch sample world with mesh](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/mesh_to_fuel/launch_world2.png)
![Launch sample world with mesh](https://raw.githubusercontent.com/gazebosim/gz-sim/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/mesh_to_fuel/launch_world2.png)
6 changes: 3 additions & 3 deletions tutorials/migrating_ardupilot_plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ documentation](https://ardupilot.org/dev/docs/using-gazebo-simulator-with-sitl.h
As context to understand what we're migrating, here's a system diagram for how
the ArduPilot Gazebo plugin works is used:

<img src="https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/ign-gazebo3/tutorials/files/ardupilot_diagram.png"/>
<img src="https://raw.githubusercontent.com/gazebosim/gz-sim/ign-gazebo3/tutorials/files/ardupilot_diagram.png"/>

*UAV icon credit: By Julian Herzog, CC BY 4.0, https://commons.wikimedia.org/w/index.php?curid=60965475*

Expand Down Expand Up @@ -224,8 +224,8 @@ To better understand the ECS pattern as it is used in Ignition, it's helpful to
learn about the EntityComponentManager (ECM), which is responsible for managing
the ECS graph. A great resource to understand the logic under the hood of the
ECM is the `SdfEntityCreator` class
([header](https://github.com/ignitionrobotics/ign-gazebo/blob/ign-gazebo3/include/ignition/gazebo/SdfEntityCreator.hh),
[source](https://github.com/ignitionrobotics/ign-gazebo/blob/ign-gazebo3/src/SdfEntityCreator.cc)).
([header](https://github.com/gazebosim/gz-sim/blob/ign-gazebo3/include/ignition/gazebo/SdfEntityCreator.hh),
[source](https://github.com/gazebosim/gz-sim/blob/ign-gazebo3/src/SdfEntityCreator.cc)).
This class is responsible for mapping the content of an SDF file to the
entities and components that form the graph handled by the ECM. For example, if
you wonder which components can be accessed by default from the plugin, this
Expand Down
12 changes: 6 additions & 6 deletions tutorials/migration_link_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class.

If you're trying to use some API which doesn't have an equivalent on Ignition
yet, feel free to
[ticket an issue](https://github.com/ignitionrobotics/ign-gazebo/issues/).
[ticket an issue](https://github.com/gazebosim/gz-sim/issues/).

## Link API

Expand All @@ -34,14 +34,14 @@ can be divided in these categories:

You'll find the Ignition APIs below on the following headers:

* [ignition/gazebo/Link.hh](https://ignitionrobotics.org/api/gazebo/3.3/Link_8hh.html)
* [ignition/gazebo/Util.hh](https://ignitionrobotics.org/api/gazebo/3.3/Util_8hh.html)
* [ignition/gazebo/SdfEntityCreator.hh](https://ignitionrobotics.org/api/gazebo/3.3/SdfEntityCreator_8hh.html)
* [ignition/gazebo/EntityComponentManager.hh](https://ignitionrobotics.org/api/gazebo/3.3/classignition_1_1gazebo_1_1EntityComponentManager.html)
* [ignition/gazebo/Link.hh](https://gazebosim.org/api/gazebo/3.3/Link_8hh.html)
* [ignition/gazebo/Util.hh](https://gazebosim.org/api/gazebo/3.3/Util_8hh.html)
* [ignition/gazebo/SdfEntityCreator.hh](https://gazebosim.org/api/gazebo/3.3/SdfEntityCreator_8hh.html)
* [ignition/gazebo/EntityComponentManager.hh](https://gazebosim.org/api/gazebo/3.3/classignition_1_1gazebo_1_1EntityComponentManager.html)

It's worth remembering that most of this functionality can be performed using
the
[EntityComponentManager](https://ignitionrobotics.org/api/gazebo/3.3/classignition_1_1gazebo_1_1EntityComponentManager.html)
[EntityComponentManager](https://gazebosim.org/api/gazebo/3.3/classignition_1_1gazebo_1_1EntityComponentManager.html)
directly. The functions presented here exist for convenience and readability.

### Properties
Expand Down
Loading