-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move to semver and bump version to 0.4.0
starting from this commit all sub-packages in mujoco_ros_pkgs will have the same version number. Semver standard dictates that unstable APIs should have major version number 0. Package versions thus shifted from 3.1.0 to 0.3.1 and now got bumped to 0.4.0. Changelogs use the previous numbers shifted to have more consistent changelogs, even if the versions in the package xmls remain unshifted for previous commits!
- Loading branch information
Showing
8 changed files
with
140 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,141 @@ | ||
# Unreleased | ||
<a name="0.4.0"></a> | ||
## [0.4.0] - 2023-03-16 | ||
|
||
## Changes | ||
1. Better setup and cleanup in init function. This enables running the application multiple times (consecutively) when used as library: | ||
- exitrequest is set to 0 on start. | ||
- if ros time is not zero, the simulation is initialized with the current ros time as start time. | ||
- run i.e. the pause flag is now explicitly set according to the unpause ros param. | ||
- The services are explicitly unregistered on shutdown and the static services list is cleared. | ||
2. Async spinner is now manually shutdown and ros::shutdown is called on server node termination. | ||
3. Added unit tests for `mujoco_ros` single environment library functions. | ||
4. Added possibility to set initial joint positions and velocities for ball and free joints (i.e. joints with more than one DoF) and edited tests to reflect the changes. | ||
5. Changed the way single and parallel env is handled. Instead of using separate functions, most library function check the running simulation type (PARALLEL or SINGLE). In case of parallel env execution, The mj_env_ (renamed to main_env_) variable now contains a pointer to the selected main environment, which will be used for rendering, if enabled. | ||
### Added | ||
* NO_OPTIM and ENABLE_SANITIZER cmake options for valgrind/asan dev build optimization. | ||
* Central launchfile for the server to include from other packages. | ||
* `no_x` parameter to completely disable OpenGL. | ||
* Service calls to set and get gravity. | ||
* Service call to fetch loadrequest state over ROS. | ||
* Option to disable offscreen rendering. | ||
* Made camera stream resolutions configurable. | ||
* Callback to notify plugins of a geom change at runtime. | ||
|
||
## Fixes | ||
1. Fixed step counter ignoring multiple steps during synchronization if desynchronized. | ||
2. Fixed wrong declaration of publishSimTime in header. | ||
3. Fixed bootstrap_launchargs not being passed on to the ns_bootstrapping node | ||
### Changed | ||
* Use same package version for all packages in mujoco_ros_pkgs, following common versioning conventions. | ||
|
||
### Fixed | ||
* Time reset issue caused by delayed ros clock message processing. | ||
* Out of bounds quaternion array access in debug print. | ||
* Make sure env name is not an empty string. | ||
* Memory leaks caused by wrong mjModelPtr and mjDataPtr deallocation. | ||
* Sensor tests. | ||
* Disable x usage in tests. | ||
* Now reusing offscreen buffer glfw window on reset. | ||
* Freeing textures from GPU manually causing an error. | ||
* Stopping simulation on model compilation warning if in headless mode. | ||
* Not setting ctrl signal when loading a keyframe. | ||
* Render callbacks using the wrong scene (#17). | ||
|
||
### Refactored | ||
* Updated and improved tests. | ||
* More thorough memory deallocation. | ||
|
||
# 3.0.0 | ||
Contributors: @DavidPL1, @fpatzelt | ||
|
||
## Changes | ||
1. Changed how `MujocoEnv` is initialized/loaded/reloaded/resetted. | ||
<a name="0.3.1"></a> | ||
## [0.3.1] - 2023-01-17 | ||
|
||
The `mujoco\_server` node will search for a `ns` (robot namespace) parameter, which defaults to "/", i.e. ROS root (no sub-namespace). The single `MujocoEnv` receives this namespace to initialize a ros `NodeHandle` in its assigned namespace. By passing a pointer of the handle to its plugins, the plugins can fetch the namespace from the handle or simply use the handle to register topics and services in the correct namespace. | ||
### Added | ||
* Service call for reset. | ||
* Unit tests for single environment library functions. | ||
* Added support for multi-DoF for initial positions and velocities (#3). | ||
* Added support for supplying a model as rosparam (generated e.g. by urdf2mjcf). | ||
* Ensures compatibility with MuJoCo 2.2.2. | ||
* Adds interprocedural optimization compile policy. | ||
* Service call to get/set bodys with freejoints. | ||
* Service call to set geom properties (mass, friction, size, geom_type). | ||
* Allows using wall time instead of ROS time (set `/use_sim_time` to false). | ||
* Adds additional "unbound" speed mode to run as fast as possbile. | ||
* Adds offscreen rendering RGB, depth, and/or segmentation mask images. | ||
* Added `eval/train` mode settings. | ||
* Added `admin_hash` for permission checks in eval mode. | ||
|
||
Introduced new reset and reload function in `MujocoEnv` that trigger the respective functions of its members. | ||
Plugin parsing and initialization moved to `MujocoEnv`. | ||
|
||
Due to the changes in `MujocoPlugin`, plugins need to be rebuilt (hence the major version bump). | ||
### Changed | ||
* `SINGLE` and `PARALLEL` mode are distinguished by a mode variable in shared code instead of requiring separate lib function calls. | ||
* Step service call changed to be an action call. | ||
* **cmake**: Renamed mujoco_INCLUDE_DIR -> mujoco_INCLUDE_DIRS. | ||
* Time is set to 0 on reset. | ||
* Adds more general debug info. | ||
|
||
2. Added some more documentation. | ||
3. Added `lastStageCallback` function to `MujocoPlugin` which can be used to define behavior which should be run at the end of a simulation step. Note that this function gets called by the `mujoco\_ros` simulation loop and not by the mujoco engine, hence it won't be called in between engine sub-steps. | ||
4. Changed mjENABLED_ros/mjDISABLED_ros definitions to not rely on static context. | ||
|
||
## Fixes | ||
1. Removed `collision_function` typedef, which is a duplicate defenition of mjfCollision. | ||
2. Removed `runContactFilterCbs` from `MujocoEnv`, since contact filter callbacks fully override the standard behavior. For contact filtering a similar approach to collision function registration should be used. | ||
### Fixed | ||
* Not counting multiple steps in CPU sync. | ||
* Step counting depending on `num_sim_steps` enabled or disabled. | ||
* Wrong declaration of `publishSimTime`. | ||
* Pose quaternion is now normalized before application to prevent setting invalid quaternions in `SetModelState`. | ||
* catkin_lint / cmake issues. | ||
* Missing package.xml dependencies. | ||
* Set clock publisher queue to 1 (#7). | ||
* Internal ROS time updates (#8). | ||
* Transitive dependency propagation with catkin. | ||
* Avoid publishing /clock twice per cycle. | ||
* Makes sure destructors of plugins and envs are called on shutdown (#12). | ||
* Instantly replacing a rosparam loaded xml. | ||
* `get_geom_properties` service not being advertised (#16). | ||
* Cross-thread ints and bools are now atomic. | ||
* slow_down not being applied. | ||
* Missing test world. | ||
|
||
|
||
### Performance Improvements | ||
* Improved multi-threading concept for `PARALLEL` mode. | ||
|
||
|
||
### Refactored | ||
* Init function improvement and cleanup. | ||
* Improved `Get/SetModelState` service: | ||
- Flags are now used to specify which parts of the state message are used to update the state. | ||
* Mutex usage. | ||
* Rendering functionallity making it much more runtime efficient. | ||
|
||
Contributors: @DavidPL1, @rhaschke, @fpatzelt, @lbergmann | ||
|
||
<a name="0.3.0"></a> | ||
## [0.3.0] - 2022-06-10 | ||
|
||
### Added | ||
* Added configurable initial joint velocities. | ||
* `MujocoEnv` uses namespacing coherent with ROS namespaces. | ||
* Added `lastStageCallback` to define behavior for plugins at the very end of a simulation step. | ||
|
||
### Fixed | ||
* Moved mjENABLED_ros/mjDISABLED_ros definitions to non-static context (#2). | ||
* Removed `collision_function` typedef (duplicate of `mjfCollision`). | ||
|
||
### Removed | ||
* Removed `runContactFilterCbs` since setting a contact filter callback fully overrides default behavior. | ||
|
||
|
||
Contributors: @DavidPL1, @balandbal | ||
|
||
<a name="0.2.0"></a> | ||
## 0.2.0 - 2022-05-30 | ||
|
||
### Added | ||
* Plugin loading. | ||
* Service call to shutdown. | ||
* Service call to pause/unpause. | ||
* Headless mode and number of steps to run before termination as optional argument. | ||
* Safety wrappers for plugin loading and execution. | ||
* Exporting mujoco_ros as library for external usage. | ||
* Introduced parallel environments. | ||
|
||
### Changed | ||
* Now using boost::shared_ptr for mjModel and mjData instances. | ||
* Added licensing information. | ||
* Added build instructions. | ||
* How plugins are retrieved from the parameter server. | ||
|
||
### Fixed | ||
* Several bugs related to ROS time publishing. | ||
* Disabled backward stepping (impractical with ROS time). | ||
* Setting initial joint positions. | ||
|
||
Contributors: @DavidPL1 | ||
|
||
[0.4.0]: https://github.com/ubi-agni/mujoco_ros_pkgs/compare/0.3.1...0.4.0 | ||
[0.3.1]: https://github.com/ubi-agni/mujoco_ros_pkgs/compare/0.3.0...0.3.1 | ||
[0.3.0]: https://github.com/ubi-agni/mujoco_ros_pkgs/compare/0.2.0...0.3.0 | ||
[0.2.0]: https://github.com/ubi-agni/mujoco_ros_pkgs/compare/6c8bbe2...0.2.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
<?xml version="1.0"?> | ||
<package format="2"> | ||
<name>mujoco_ros</name> | ||
<version>3.1.0</version> | ||
<version>0.4.0</version> | ||
<description>The mujoco_ros package</description> | ||
|
||
<maintainer email="[email protected]">David P. Leins</maintainer> | ||
|
@@ -15,7 +15,7 @@ | |
|
||
<depend>roscpp</depend> | ||
<depend>pluginlib</depend> | ||
<depend version_gte="2.0.0">mujoco_ros_msgs</depend> | ||
<depend>mujoco_ros_msgs</depend> | ||
<depend>tf2</depend> | ||
<depend>tf2_ros</depend> | ||
<depend>tf2_geometry_msgs</depend> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
<?xml version="1.0"?> | ||
<package format="2"> | ||
<name>mujoco_ros_msgs</name> | ||
<version>2.1.0</version> | ||
<version>0.4.0</version> | ||
<description>mujoco_ros_msgs provides message files for interaction with a mujoco_ros simulation</description> | ||
|
||
<maintainer email="[email protected]">David Leins</maintainer> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
<?xml version="1.0"?> | ||
<package format="2"> | ||
<name>mujoco_ros_sensors</name> | ||
<version>2.0.0</version> | ||
<version>0.4.0</version> | ||
<description>Sensor plugin for mujoco_ros</description> | ||
|
||
<maintainer email="[email protected]">David P. Leins</maintainer> | ||
|
@@ -12,7 +12,7 @@ | |
<author>David P. Leins</author> | ||
|
||
<buildtool_depend>catkin</buildtool_depend> | ||
<depend version_gte="3.0.0">mujoco_ros</depend> | ||
<depend>mujoco_ros</depend> | ||
<depend>mujoco_ros_msgs</depend> | ||
<depend>tf2</depend> | ||
<depend>tf2_geometry_msgs</depend> | ||
|