Skip to content

Commit cac0a51

Browse files
authored
Merge branch 'gz-sim8' into ahcorde/8/gravity_static
2 parents 3ede496 + 5d3c404 commit cac0a51

36 files changed

+1465
-505
lines changed

.github/ci/packages.apt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
binutils-dev
12
freeglut3-dev
23
libbenchmark-dev
4+
libdwarf-dev
5+
libdw-dev
36
libfreeimage-dev
47
libglew-dev
58
libgz-cmake3-dev

.github/workflows/ci.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,3 @@ jobs:
3232
codecov-enabled: true
3333
cppcheck-enabled: true
3434
cpplint-enabled: true
35-
apt-dependencies: libdwarf-dev libdw-dev binutils-dev

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
33
#============================================================================
44
# Initialize the project
55
#============================================================================
6-
project(gz-sim8 VERSION 8.9.0)
6+
project(gz-sim8 VERSION 8.10.0)
77
set (GZ_DISTRIBUTION "Harmonic")
88

99
#============================================================================

Changelog.md

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,152 @@
11
## Gazebo Sim 8.x
22

3+
### Gazebo Sim 8.10.0 (2025-10-23)
4+
5+
1. Clean up temporary home directory to make tests more robust
6+
* [Pull request #3146](https://github.com/gazebosim/gz-sim/pull/3146)
7+
8+
1. Fix UserCommands services so that they return the actual status the executed command
9+
* [Pull request #2999](https://github.com/gazebosim/gz-sim/pull/2999)
10+
11+
1. Add EntitySemantics system that enables setting categories and tags
12+
* [Pull request #3005](https://github.com/gazebosim/gz-sim/pull/3005)
13+
14+
1. Refactor Transport service handlers `UserCommands`
15+
* [Pull request #2996](https://github.com/gazebosim/gz-sim/pull/2996)
16+
17+
1. Expose APIs for clearing the ECMs internal state tracking addition and removal
18+
* [Pull request #3002](https://github.com/gazebosim/gz-sim/pull/3002)
19+
20+
1. Disable failing test on macOS in EntityComponentManager_TEST
21+
* [Pull request #3113](https://github.com/gazebosim/gz-sim/pull/3113)
22+
23+
1. Fix crash when setting debug visualization mode while GI is disabled
24+
* [Pull request #3059](https://github.com/gazebosim/gz-sim/pull/3059)
25+
26+
1. Fix crash and synchronize gui when disabling GI with active debug visualization mode
27+
* [Pull request #3062](https://github.com/gazebosim/gz-sim/pull/3062)
28+
29+
1. Add Null check for scene initialization in `onRefreshCamerasImpl` to prevent crash
30+
* [Pull request #3051](https://github.com/gazebosim/gz-sim/pull/3051)
31+
32+
1. Update logic for setting initial state
33+
* [Pull request #3044](https://github.com/gazebosim/gz-sim/pull/3044)
34+
35+
1. Fix compatibility with protobuf v30
36+
* [Pull request #3034](https://github.com/gazebosim/gz-sim/pull/3034)
37+
38+
1. Adds a regression test for logplayback fix in #2611
39+
* [Pull request #2619](https://github.com/gazebosim/gz-sim/pull/2619)
40+
41+
1. Add missing algorithm include
42+
* [Pull request #3022](https://github.com/gazebosim/gz-sim/pull/3022)
43+
44+
1. Update our usage of workerpools
45+
* [Pull request #2995](https://github.com/gazebosim/gz-sim/pull/2995)
46+
47+
1. Fix log playback GUI display
48+
* [Pull request #2611](https://github.com/gazebosim/gz-sim/pull/2611)
49+
50+
1. Assign new gz-sim maintainer
51+
* [Pull request #3008](https://github.com/gazebosim/gz-sim/pull/3008)
52+
53+
1. Physics System populates link bounding boxes
54+
* [Pull request #2821](https://github.com/gazebosim/gz-sim/pull/2821)
55+
56+
1. Add support to get link AABB from its collisions
57+
* [Pull request #2787](https://github.com/gazebosim/gz-sim/pull/2787)
58+
59+
1. Set IGN_IP=127.0.0.1 in cmd tests
60+
* [Pull request #2959](https://github.com/gazebosim/gz-sim/pull/2959)
61+
* [Pull request #2887](https://github.com/gazebosim/gz-sim/pull/2887)
62+
63+
1. Fix publishing only top level model pose in pose publisher
64+
* [Pull request #2697](https://github.com/gazebosim/gz-sim/pull/2697)
65+
66+
1. Fix crash when adding the `AdvancedLiftDrag` plugin without designating specific entity
67+
* [Pull request #2923](https://github.com/gazebosim/gz-sim/pull/2923)
68+
69+
1. Fix crash when adding the `LiftDrag` plugin without designating specific entity
70+
* [Pull request #2907](https://github.com/gazebosim/gz-sim/pull/2907)
71+
72+
1. Do not create light visuals on server side
73+
* [Pull request #2888](https://github.com/gazebosim/gz-sim/pull/2888)
74+
75+
1. [Documentation] Address #2850: Mention `GZ_SIM_SYSTEM_PLUGIN_PATH`
76+
* [Pull request #2863](https://github.com/gazebosim/gz-sim/pull/2863)
77+
78+
1. Bring back feature for plotting pose attributes from Component Inspector
79+
* [Pull request #2835](https://github.com/gazebosim/gz-sim/pull/2835)
80+
81+
1. Add more documentation to environmental_sensor.sdf example world
82+
* [Pull request #2836](https://github.com/gazebosim/gz-sim/pull/2836)
83+
84+
1. Add MecanumDrive plugin with Odom and Tf, with Tests.
85+
* [Pull request #2297](https://github.com/gazebosim/gz-sim/pull/2297)
86+
87+
1. Also handle SIGTERM gracefully
88+
* [Pull request #2747](https://github.com/gazebosim/gz-sim/pull/2747)
89+
90+
1. Gui.cc: return "" instead of nullptr
91+
* [Pull request #2819](https://github.com/gazebosim/gz-sim/pull/2819)
92+
93+
1. Attempts to print a stacktrace on segfault in our integration tests
94+
* [Pull request #2776](https://github.com/gazebosim/gz-sim/pull/2776)
95+
96+
1. Fix initialization of world components when enabling velocity checks
97+
* [Pull request #2777](https://github.com/gazebosim/gz-sim/pull/2777)
98+
99+
1. Attempt to correct mass matrix in mesh inertia calculator
100+
* [Pull request #2775](https://github.com/gazebosim/gz-sim/pull/2775)
101+
102+
1. Update LogicalCamera plugin to detect nested models
103+
* [Pull request #2788](https://github.com/gazebosim/gz-sim/pull/2788)
104+
105+
1. Support mesh optimization params in mesh inertial calculator
106+
* [Pull request #2770](https://github.com/gazebosim/gz-sim/pull/2770)
107+
108+
1. Reduce/Eliminate `sdf::Model` and `sdf::World` serialization warnings
109+
* [Pull request #2742](https://github.com/gazebosim/gz-sim/pull/2742)
110+
111+
1. Fix mesh import filters not displaying correctly on KDE
112+
* [Pull request #2732](https://github.com/gazebosim/gz-sim/pull/2732)
113+
114+
1. Add parameter for adjust current sign in battery plugin
115+
* [Pull request #2696](https://github.com/gazebosim/gz-sim/pull/2696)
116+
117+
1. Fix uncontrolled cast of size_t to uint
118+
* [Pull request #2687](https://github.com/gazebosim/gz-sim/pull/2687)
119+
120+
1. Improve load times by skipping serialization of entities when unnecessary
121+
* [Pull request #2596](https://github.com/gazebosim/gz-sim/pull/2596)
122+
123+
1. Check valid pointer
124+
* [Pull request #2674](https://github.com/gazebosim/gz-sim/pull/2674)
125+
126+
1. Disable detachable_joint integration test case on Windows
127+
* [Pull request #2523](https://github.com/gazebosim/gz-sim/pull/2523)
128+
129+
1. Initialize threadsNeedCleanUp
130+
* [Pull request #2503](https://github.com/gazebosim/gz-sim/pull/2503)
131+
132+
1. Remove systems if their parent entity is removed
133+
* [Pull request #2232](https://github.com/gazebosim/gz-sim/pull/2232)
134+
135+
1. Disable failing testFixture_TEST for MacOS
136+
* [Pull request #2499](https://github.com/gazebosim/gz-sim/pull/2499)
137+
138+
1. Fix DLL linkage/visibility issues
139+
* [Pull request #2254](https://github.com/gazebosim/gz-sim/pull/2254)
140+
141+
1. Address a few Windows CI Issues
142+
* [Pull request #1911](https://github.com/gazebosim/gz-sim/pull/1911)
143+
144+
1. Fix bug where iterator was used after the underlying item was erased from the container
145+
* [Pull request #2412](https://github.com/gazebosim/gz-sim/pull/2412)
146+
147+
1. Setup rendering environment before cmake runs
148+
* [Pull request #1965](https://github.com/gazebosim/gz-sim/pull/1965)
149+
3150
### Gazebo Sim 8.9.0 (2025-02-10)
4151

5152
1. Physics: Add components to request and receive Ray intersections

include/gz/sim/EntityComponentManager.hh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -684,21 +684,19 @@ namespace gz
684684
const std::string &_name) const;
685685

686686
/// \brief Clear the list of newly added entities so that a call to
687-
/// EachAdded after this will have no entities to iterate. This function
688-
/// is protected to facilitate testing.
689-
protected: void ClearNewlyCreatedEntities();
687+
/// EachAdded after this will have no entities to iterate.
688+
public: void ClearNewlyCreatedEntities();
690689

691690
/// \brief Clear the list of removed components so that a call to
692691
/// RemoveComponent doesn't make the list grow indefinitely.
693-
protected: void ClearRemovedComponents();
692+
public: void ClearRemovedComponents();
694693

695694
/// \brief Process all entity remove requests. This will remove
696-
/// entities and their components. This function is protected to
697-
/// facilitate testing.
698-
protected: void ProcessRemoveEntityRequests();
695+
/// entities and their components.
696+
public: void ProcessRemoveEntityRequests();
699697

700698
/// \brief Mark all components as not changed.
701-
protected: void SetAllComponentsUnchanged();
699+
public: void SetAllComponentsUnchanged();
702700

703701
/// Compute the diff between this EntityComponentManager and _other at the
704702
/// entity level. This does not compute the diff between components of an
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*
2+
* Copyright (C) 2025 Open Source Robotics Foundation
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*
16+
*/
17+
#ifndef GZ_SIM_COMPONENTS_SEMANTIC_CATEGORY_HH_
18+
#define GZ_SIM_COMPONENTS_SEMANTIC_CATEGORY_HH_
19+
20+
#include <cstdint>
21+
22+
#include "gz/sim/components/Component.hh"
23+
#include "gz/sim/components/Factory.hh"
24+
#include "gz/sim/config.hh"
25+
26+
namespace gz
27+
{
28+
namespace sim
29+
{
30+
// Inline bracket to help doxygen filtering.
31+
inline namespace GZ_SIM_VERSION_NAMESPACE {
32+
namespace components
33+
{
34+
/// \brief A component that holds the semantic category of an entity. This is
35+
/// meant to be used by systems such as EntitySemantics to assign categories to
36+
/// entities.
37+
/// See
38+
/// https://github.com/ros-simulation/simulation_interfaces/blob/1.0.0/msg/EntityCategory.msg
39+
using SemanticCategory = Component<uint8_t, class SemanticCategoryTag>;
40+
GZ_SIM_REGISTER_COMPONENT("gz_sim_components.SemanticCategory",
41+
SemanticCategory)
42+
} // namespace components
43+
} // namespace GZ_SIM_VERSION_NAMESPACE
44+
} // namespace sim
45+
} // namespace gz
46+
#endif
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
/*
2+
* Copyright (C) 2025 Open Source Robotics Foundation
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*
16+
*/
17+
#ifndef GZ_SIM_COMPONENTS_SEMANTIC_DESCRIPTION_HH_
18+
#define GZ_SIM_COMPONENTS_SEMANTIC_DESCRIPTION_HH_
19+
20+
#include <gz/msgs/stringmsg.pb.h>
21+
22+
#include <istream>
23+
#include <ostream>
24+
#include <string>
25+
26+
#include "gz/sim/components/Component.hh"
27+
#include "gz/sim/components/Factory.hh"
28+
#include "gz/sim/components/Serialization.hh"
29+
#include "gz/sim/config.hh"
30+
31+
namespace gz
32+
{
33+
namespace sim
34+
{
35+
// Inline bracket to help doxygen filtering.
36+
inline namespace GZ_SIM_VERSION_NAMESPACE {
37+
namespace serializers
38+
{
39+
class SemanticDescriptionSerializer
40+
{
41+
public:
42+
static std::ostream &Serialize(std::ostream &_out, const std::string &_desc)
43+
{
44+
msgs::StringMsg msg;
45+
msg.set_data(_desc);
46+
msg.SerializeToOstream(&_out);
47+
return _out;
48+
}
49+
50+
public:
51+
static std::istream &Deserialize(std::istream &_in, std::string &_desc)
52+
{
53+
msgs::StringMsg msg;
54+
msg.ParsePartialFromIstream(&_in);
55+
_desc = msg.data();
56+
return _in;
57+
}
58+
};
59+
} // namespace serializers
60+
namespace components
61+
{
62+
/// \brief A component that holds the semantic description of an entity. This is
63+
/// meant to be used by systems such as EntitySemantics to assign descriptions
64+
/// to entities. See
65+
/// https://github.com/ros-simulation/simulation_interfaces/blob/1.0.0/msg/EntityInfo.msg
66+
using SemanticDescription = Component<std::string, class SemanticDescriptionTag,
67+
serializers::StringSerializer>;
68+
GZ_SIM_REGISTER_COMPONENT("gz_sim_components.SemanticDescription",
69+
SemanticDescription)
70+
} // namespace components
71+
} // namespace GZ_SIM_VERSION_NAMESPACE
72+
} // namespace sim
73+
} // namespace gz
74+
#endif

0 commit comments

Comments
 (0)