Skip to content

Commit

Permalink
fixed Doxygen rendering links for simTime in tutorial
Browse files Browse the repository at this point in the history
Signed-off-by: Ashton Larkin <ashton@openrobotics.org>
  • Loading branch information
adlarkin committed Dec 1, 2020
1 parent e8a3401 commit 0153ef8
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions tutorials/create_system_plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@ there are currently three additional available interfaces:

1. ISystemPreUpdate
1. Has read-write access to world entities and components.
2. This is where systems say what they'd like to happen at time `UpdateInfo::simTime`.
2. This is where systems say what they'd like to happen at time ignition::gazebo::UpdateInfo::simTime.
3. Can be used to modify state before physics runs, for example for applying control signals or performing network synchronization.
2. ISystemUpdate
1. Has read-write access to world entities and components.
2. Used for physics simulation step (i.e., simulates what happens at time `UpdateInfo::simTime`).
2. Used for physics simulation step (i.e., simulates what happens at time ignition::gazebo::UpdateInfo::simTime).
3. ISystemPostUpdate
1. Has read-only access to world entities and components.
2. Captures everything that happened at time `UpdateInfo::simTime`.
2. Captures everything that happened at time ignition::gazebo::UpdateInfo::simTime.
3. Used to read out results at the end of a simulation step to be used for sensor or controller updates.

It's important to note that `UpdateInfo::simTime` does not refer to the current time, but the time reached after the `PreUpdate` and `Update` calls have finished.
It's important to note that ignition::gazebo::UpdateInfo::simTime does not refer to the current time, but the time reached after the `PreUpdate` and `Update` calls have finished.
So, if any of the `*Update` functions are called with simulation paused, time does not advance, which means the time reached after `PreUpdate` and `Update` is the same as the starting time.
This explains why `UpdateInfo::simTime` is initially 0 if simulation is started paused, while `UpdateInfo::simTime` is initially `UpdateInfo::dt` if simulation is started un-paused.
This explains why ignition::gazebo::UpdateInfo::simTime is initially 0 if simulation is started paused, while ignition::gazebo::UpdateInfo::simTime is initially ignition::gazebo::UpdateInfo::dt if simulation is started un-paused.

Systems that are only used to read the current state of the world (sensors,
graphics, and rendering) should implement `ISystemPostUpdate`.
Expand Down

0 comments on commit 0153ef8

Please sign in to comment.