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

Don't mark entities with a ComponentState::NoChange component as modified #1391

Merged
merged 3 commits into from Mar 15, 2022

Conversation

adlarkin
Copy link
Contributor

@adlarkin adlarkin commented Mar 15, 2022

Signed-off-by: Ashton Larkin 42042756+adlarkin@users.noreply.github.com

🦟 Bug fix

Summary

The implementation of EntityComponentManager::SetChanged was always calling this->dataPtr->AddModifiedComponent at the end, even if the component state was NoChange. If the component hasn't been changed, this->dataPtr->AddModifiedComponent shouldn't be called.

I have added a test case to verify that this PR corrects the behavior. Before the changes made in the PR, the test will fail.

Checklist

  • Signed all commits for DCO
  • Added tests
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

…fied

Signed-off-by: Ashton Larkin <42042756+adlarkin@users.noreply.github.com>
@github-actions github-actions bot added the 🏯 fortress Ignition Fortress label Mar 15, 2022
@osrf-triage osrf-triage added this to Inbox in Core development Mar 15, 2022
@codecov
Copy link

codecov bot commented Mar 15, 2022

Codecov Report

Merging #1391 (7aaf445) into ign-gazebo6 (a9563f5) will increase coverage by 0.00%.
The diff coverage is 100.00%.

❗ Current head 7aaf445 differs from pull request most recent head 5d2ea73. Consider uploading reports for the commit 5d2ea73 to get more accurate results

@@             Coverage Diff              @@
##           ign-gazebo6    #1391   +/-   ##
============================================
  Coverage        62.96%   62.96%           
============================================
  Files              301      301           
  Lines            24243    24244    +1     
============================================
+ Hits             15265    15266    +1     
  Misses            8978     8978           
Impacted Files Coverage Δ
src/EntityComponentManager.cc 88.27% <100.00%> (+0.01%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a9563f5...5d2ea73. Read the comment docs.

Copy link
Contributor

@chapulina chapulina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for finding this, it looks correct to me.

Core development automation moved this from Inbox to In review Mar 15, 2022
@adlarkin adlarkin merged commit b6a1133 into ign-gazebo6 Mar 15, 2022
Core development automation moved this from In review to Done Mar 15, 2022
@adlarkin adlarkin deleted the adlarkin/noChangeComponentFix branch March 15, 2022 21:08
chapulina added a commit that referenced this pull request Apr 13, 2022
* GzSceneManager: Prevent crash 💥 when inserted from menu (#1371)

Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: ahcorde <ahcorde@gmail.com>

Co-authored-by: ahcorde <ahcorde@gmail.com>

* Prepare version 6.7.0 (#1373)

* Prepare version 6.7.0

Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>

* Populate GUI plugins that are empty (#1375)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

* Fix visualization python tutorial (#1377)

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Add xyz and rpy offset to published odometry pose (#1341)

* Added xyz and rpy offset to published pose

Signed-off-by: Aditya <aditya050995@gmail.com>

* Added headless rendering tutorial (#1386)

* Added headless rendering tutorial

Signed-off-by: Nate Koenig <nate@openrobotics.org>

* Update tutorials/headless_rendering.md

Co-authored-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Nate Koenig <nate@openrobotics.org>

* Update tutorials/headless_rendering.md

Co-authored-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Nate Koenig <nate@openrobotics.org>

* Mention ogre2

Signed-off-by: Nate Koenig <nate@openrobotics.org>

* Added note about software rendering

Signed-off-by: Nate Koenig <nate@openrobotics.org>

* add 'on linux systems'

Signed-off-by: Nate Koenig <nate@openrobotics.org>

* Add xyz and rpy offset to published odometry pose (#1341)

* Added xyz and rpy offset to published pose

Signed-off-by: Aditya <aditya050995@gmail.com>
Signed-off-by: Nate Koenig <nate@openrobotics.org>

Co-authored-by: Nate Koenig <nate@openrobotics.org>
Co-authored-by: Louise Poubel <louise@openrobotics.org>
Co-authored-by: Aditya Pande <aditya050995@gmail.com>

* Allow to turn on/off lights (#1343)

Signed-off-by: ahcorde <ahcorde@gmail.com>
Co-authored-by: Louise Poubel <louise@openrobotics.org>

* Add gazebo Entity id to rendering sensor's user data (#1381)

Adds the gazebo::Entity id to a rendering::Sensor's UserData object. The main use case is so that we can get back the corresponding gazebo Entity in the rendering thread when processing sensors.

Signed-off-by: Ian Chen <ichen@osrfoundation.org>

Co-authored-by: Nate Koenig <nkoenig@users.noreply.github.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

* Don't mark entities with a ComponentState::NoChange component as modified (#1391)

Signed-off-by: Ashton Larkin <42042756+adlarkin@users.noreply.github.com>

* Disable ModelCommandAPI_TEST.RgbdCameraSensor on macOS (#1397)

Disabling test since it's very flaky.

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>

* Disable PeerTracker.PeerTrackerStale on macOS (#1398)

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>

* Toggle Light visuals (#1387)

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Prevent hanging when world has only non-world plugins (#1383)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

* Component inspector: refactor Pose3d C++ code into a separate class (#1400)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

* add initial_position param to joint controller system (#1406)

Similar to the <initial_position> parameter in the JointTrajectoryController system, this PR adds an <initial_position> parameter to the JointPositionController to let users specifies the initial target pos for a joint.

Signed-off-by: Ian Chen <ichen@osrfoundation.org>

* Fix JointStatePublisher topic name for nested models (#1405)

The joint-state-publisher system currently assumes it's always attached to the top level model and hence generates an incorrect topic name for nested models. This PR updates it to generate the correct topic name.

Signed-off-by: Ian Chen <ichen@osrfoundation.org>

* Added user command to set multiple entities (#1394)

Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: Louise Poubel <louise@openrobotics.org>

Co-authored-by: Louise Poubel <louise@openrobotics.org>

* Disable tests that are expected to fail on Windows (#1408)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

* Fortress: Install Ogre 2.2, simplify docker (#1395)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

* SceneBroadcaster: only send changed state information for change events (#1392)

Signed-off-by: Ashton Larkin <42042756+adlarkin@users.noreply.github.com>

Co-authored-by: Louise Poubel <louise@openrobotics.org>

* Add wheel slip user command (#1241)

Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>

* Distortion camera integration test (#1374)

Signed-off-by: William Lew <WilliamMilesLew@gmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Co-authored-by: Louise Poubel <louise@openrobotics.org>

* Add the Model Photo Shoot system, port of Modelpropshop plugin from Gazebo classic (#1331)

This system can be used to generate thumbnails of models. In comparison to the Modelpropshop plugin in Gazebo classic, this adds the ability to generate thumbnails after randomizing the joint positions of the model.

Signed-off-by: Marco A. Gutierrez <marco@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>

* Referring to Fuel assets within a heightmap (#1419)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

* Disable sensors in sensors system when battery is drained (#1385)

Added a new parameter <disable_on_drained_battery> to the sensors system. If set to true, sensors will be disabled if the model is out of battery.

It listens to the battery state of charge from the battery plugin, and if the charge reaches zero, all child sensors and nested sensors are set to be inactive.

Signed-off-by: Ian Chen <ichen@osrfoundation.org>

* 🏁🎈 5.4.0 (#1420)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

* ServerConfig accepts an sdf::Root DOM object (#1333)

Signed-off-by: Nate Koenig <nate@openrobotics.org>

Co-authored-by: Nate Koenig <nate@openrobotics.org>
Co-authored-by: Michael Carroll <michael@openrobotics.org>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>

* Preparing 6.8.0 release (#1425)

* Prepareing 6.8.0 release

Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>

* Update changelog after merging forward port

Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>

* Add Gaussian noise to Odometry Publisher (#1393)

* Added gaussian noise and odometry with covariance publisher

Signed-off-by: Aditya <aditya050995@gmail.com>

Co-authored-by: Louise Poubel <louise@openrobotics.org>

* Fix deprecation warnings for ModelPhotoShoot (#1437)

Signed-off-by: Louise Poubel <louise@openrobotics.org>

Co-authored-by: ahcorde <ahcorde@gmail.com>
Co-authored-by: Jose Luis Rivero <jrivero@osrfoundation.org>
Co-authored-by: Aditya Pande <aditya050995@gmail.com>
Co-authored-by: Nate Koenig <nkoenig@users.noreply.github.com>
Co-authored-by: Nate Koenig <nate@openrobotics.org>
Co-authored-by: Ian Chen <ichen@osrfoundation.org>
Co-authored-by: Ashton Larkin <42042756+adlarkin@users.noreply.github.com>
Co-authored-by: Addisu Z. Taddese <addisu@openrobotics.org>
Co-authored-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
Co-authored-by: William Lew <WilliamMilesLew@gmail.com>
Co-authored-by: Marco A. Gutiérrez <marcogg@marcogg.com>
Co-authored-by: Michael Carroll <michael@openrobotics.org>
@osrf-triage
Copy link

This pull request has been mentioned on Gazebo Community. There might be relevant details there:

https://community.gazebosim.org/t/new-ignition-releases-2022-04-13-fortress-edifice/1367/1

@j-rivero j-rivero removed this from Done in Core development May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏯 fortress Ignition Fortress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants