-
Notifications
You must be signed in to change notification settings - Fork 251
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
Tracks periodic changes in scene broadcaster #2010
Tracks periodic changes in scene broadcaster #2010
Conversation
This commit proposes a change to the scene broadcaster which enables tracking of all components with periodic changes. This way if a component has a periodic change the scene broadcaster does not miss it. For more info see this discussion #2001 (comment) where @azeey proposes this solution. This commit is WIP and I still need to handle entity/component removal and add tests. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
* Removes clone made of BaseComponent. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
|
I did not check the test, but other than that it seems to work: I can publish position command messages and the pose is updated accordingly. |
Codecov Report
@@ Coverage Diff @@
## arjo/fix/1997 #2010 +/- ##
================================================
Coverage ? 65.36%
================================================
Files ? 327
Lines ? 26929
Branches ? 0
================================================
Hits ? 17601
Misses ? 9328
Partials ? 0 |
Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
Test failures are unrelated. This looks like its good for a round of review. |
Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com>
Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
…:gazebosim/gz-sim into arjo/fix/scene_broadcaster_track_changes
* Fix Joint Position Controller Behaviour Described in #1997 There are several issues at play. First the target velcity calculation was wrong as described in #1997. Secondly, even if we corrected that there was still incorrect behaviour. This is due to the fact that we use the PID's CmdMax to determine what the maximum velocity for the joint is. However, in the event a user does not set a `<cmd_max>` this defaults to zero and the joint does not move. Finally this PR updates the tests. Previously our tests were only testing the case where the position command was well above the position's maximum velocity, hence it would slide into position. This PR introduces a test where we snap the position of the joint into place instead. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Address PR feedback with regards to style. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Just one more thing Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * style Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * More minor style fixes Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * More minor style fixes Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Tracks periodic changes in scene broadcaster (#2010) * Tracks periodic changes in scene broadcaster This commit proposes a change to the scene broadcaster which enables tracking of all components with periodic changes. This way if a component has a periodic change the scene broadcaster does not miss it. For more info see this discussion #2001 (comment) where @azeey proposes this solution. This commit is WIP and I still need to handle entity/component removal and add tests. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Rework changes * Removes clone made of BaseComponent. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * More reworks of added APIs to ECM. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Fix tests Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Add ECM related tests. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Address spelling issue Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * Get rid of TODO Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> --------- Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai> * Migrate to new header. Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update test paths Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Update include/gz/sim/EntityComponentManager.hh Co-authored-by: Addisu Z. Taddese <addisu@openrobotics.org> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> * Rename methods Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * style Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Flipped data structure around Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> * Fix GCC warning Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> --------- Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai> Signed-off-by: Arjo Chakravarty <arjo129@gmail.com> Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai> Co-authored-by: Addisu Z. Taddese <addisu@openrobotics.org>
This commit proposes a change to the scene broadcaster which enables tracking of all components with periodic changes. This way if a component has a periodic change the scene broadcaster does not miss it.
For more info see this discussion #2001 (comment) where @azeey proposes this solution.
This commit is WIP (Work In Progress) and I still need to handle entity/component removal and add tests.