sdformat#
sdformat
SDFormat is an XML file format that describes environments, objects, and robots in a manner suitable for robotic applications. SDFormat is capable of representing and describing different physic engines, lighting properties, terrain, static or dynamic objects, and articulated robots with various sensors, and actuators. The format of SDFormat is also described by XML, which facilitates updates and allows conversion from previous versions.
Documentation
See the SDFormat Website for a more comprehensive
description of the specification, proposals for modifications, developer
information, etc.
This website is published using some information from the
sdf_tutorials
repository.
Terminology
SDFormat - The specification.
SDF - Synonym for SDFormat, though SDFormat should be preferred, as “SDF” is an acronym with other meanings.
libsdformat
- The C++ parsing code contained within this repository, which can be used to read SDFormat files and return a C++ interface.
Installation
We recommend following the Binary Installation instructions to get up and running as quickly and painlessly as possible.
The Source Installation instructions should be used if you need the very latest software improvements, you need to modify the code, or you plan to make a contribution.
Binary Installation
Ubuntu
On Ubuntu systems, apt-get
can be used to install sdformat
:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt install libsdformat<#>-dev libsdformat<#>
Be sure to replace <#>
with a number value, such as 14 or 15, depending on
which version you need, or leave it empty for version 1.
macOS
On macOS, after installing the Homebrew package manager, add OSRF packages:
brew tap osrf/simulation
Install sdformat:
brew install sdformat<#>
Be sure to replace <#>
with a number value, such as 14 or 15, depending on
which version you need.
Windows
Install Conda package management system. Miniconda suffices.
Create if necessary, and activate a Conda environment:
conda create -n gz-ws
conda activate gz-ws
Install sdformat
:
conda install libsdformat --channel conda-forge
You can view all the versions with
conda search libsdformat --channel conda-forge
and install a specific minor version with
conda install libsdformat=12.5.0 --channel conda-forge
Source Installation
Note: the main
branch is under development for libsdformat15
and is
currently unstable. A release branch (sdf12
, sdf11
, sdf10
, sdf9
, etc.)
is recommended for most users.
UNIX
Prerequisites
Clone the repository
git clone https://github.com/gazebosim/sdformat -b sdf<#>
Be sure to replace <#>
with a number value, such as 14 or 15, depending on
which version you need.
Install dependencies
Ubuntu
cd sdformat
sudo apt -y install \
$(sort -u $(find . -iname 'packages-'`lsb_release -cs`'.apt' -o -iname 'packages.apt' | tr '\n' ' '))
macOS
brew install --only-dependencies sdformat<#>
Be sure to replace <#>
with a number value, such as 14 or 15, depending on
which version you need.
Build from Source
Standard installation can be performed in UNIX systems using the following steps:
cd sdformat
mkdir build
cd build
cmake .. # Consider specifying -DCMAKE_INSTALL_PREFIX=...
make install
sdformat supported cmake parameters at configuring time:
Name |
Type |
Default |
Description |
---|---|---|---|
|
BOOL |
False |
Skip generating Python bindings via pybind11 |
|
BOOL |
False |
Use an internal copy of urdfdom 1.0.0 instead of looking for one installed in the system |
|
BOOL |
True |
Use the sdformat team compilation flags instead of the common set defined by cmake. |
Build python bindings separately from main library
If you want to build Python bindings separately from the main libsdformat library
(for example if you want to build Python bindings for multiple versions of Python),
you can invoke cmake on the python
folder instead of the root folder.
Specify the path to the python executable with which you wish to build bindings
in the Python3_EXECUTABLE
cmake variable.
Specify the install path for the bindings in the CMAKE_INSTALL_PREFIX
variable, and be sure to set your PYTHONPATH
accordingly after install.
cd sdformat
mkdir build_python3
cd build_python3
cmake ../python \
-DPython3_EXECUTABLE=/usr/local/bin/python3.12 \
-DCMAKE_INSTALL_PREFIX=<prefix>
See the homebrew sdformat15 formula for an example of building bindings for multiple versions of Python.
Uninstallation
To uninstall the software installed with the previous steps:
cd build
make uninstall
Windows
Prerequisites
Install Conda package management system. Miniconda suffices.
Create if necessary, and activate a Conda environment:
conda create -n gz-ws
conda activate gz-ws
Install prerequisites:
conda install cmake git vcstool colcon-common-extensions ^
tinyxml2 urdfdom pybind11 -channel conda-forge
Getting the sources and building from Source
Be sure to replace <#>
with a number value, such as 14 or 15, depending on
which version you need.
Getting the sources
mkdir ws\src
cd ws
vcs import src --input https://raw.githubusercontent.com/gazebo-tooling/gazebodistro/master/sdformat<#>.yaml
Build from source
Note: the Gazebo library dependencies are going to be compiled from source with sdformat although it should be possible to install them from conda-forge on stable Gazebo releases using the standard conda install command.
Build the gazebo libraries needed as dependencies (skip testing to speed up the compilation) using the colcon tool:
colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install --packages-skip sdformat<#>
Build sdformat with its test suite:
colcon build --cmake-args -DBUILD_TESTING=ON --merge-install --packages-select sdformat<#>
libsdformat 15.X
libsdformat 15.0.0 (2024-09-25)
Baseline: this includes all changes from 14.5.0 and earlier.
Use colcon for Windows building compilation
Spec 1.12: link_state, joint_state changes
Fix symbol checking test when compiled with debug symbols
README: update badges for sdf15
Ionic Changelog
Spec 1.12: add
_state
suffix to //state subelementsAdd optional binary relocatability
FrameSemantics: fix NullVertex warnings
Remove deprecated APIs
Spec 1.12: add
//sensor/frame_id
Disable latex and class hierarchy generation
Print auto inertial values with
gz sdf --print --expand-auto-inertials
Add cone shape to SDFormat spec
Enable 24.04 CI, remove distutils dependency
Change behavior of
Param::Get<bool>
Parse kinematic property in Link, expand spec documentation of property
Spec 1.11+: add
//mesh/@optimization
,//mesh/convex_decomposition
Copy 1.11 spec to 1.12 for libsdformat15
Fix find Python3 logic and macOS workflow
Remove
HIDE_SYMBOLS_BY_DEFAULT
: replace by a default configuration in gz-cmake.Dependency version bumps in ionic: use gz-cmake4, gz-utils3, gz-math8
Bump major version to 15
libsdformat 14.X
libsdformat 14.5.0 (2024-08-05)
Adding Errors structure to XmlUtils
Disable latex and class hierarchy generation
Added SetHeightMap and Heighmap to Geometry Python binding
workflows/ci.yml fix push branch regex
SDF.cc update calls to use sdf::Errors output
Added World::ActorByName
libsdformat 14.4.0 (2024-06-20)
Add Cone as a primitive parametric shape.
Thanks to Benjamin Perseghetti
Add custom attribute to custom element in test
libsdformat 14.3.0 (2024-06-14)
Backport voxel_resolution sdf element
Added Automatic Moment of Inertia Calculations for Basic Shapes Python wrappers
Add support for no gravity link
Update default camera instrinsics skew to 0, which matches spec
Allow empty strings in plugin and custom attributes
(Backport) Enable 24.04 CI, remove distutils dependency
Fix macOS workflow and backport windows fix
Fix warning with pybind11 2.12
Add bullet and torsional friction DOM
libsdformat 14.2.0 (2024-04-23)
Fix trivial warning on 24.04 for JointAxis_TEST.cc
Add package.xml, fix
gz sdf
tests on WindowsBackport mesh optimization feature
Param_TEST: Check return values of Param::Get/Set
libsdformat 14.1.1 (2024-03-28)
Fix warning with pybind11 2.12
Use relative install paths in CMake
libsdformat 14.1.0 (2024-03-14)
Resolve URIs relative to file path
Use
//link/inertial/density
for auto-inertialsFix a little typo in the README.md
Fix version variable in reference manual PDF filename
In parser config test, use a filename less likely to exist
Update CI badges in README
Bazel updates for Garden build
Fix static builds and optimize test compilation
Install ruby commands on Windows
Infrastructure
URDF parser: use SDFormat 1.11, parse joint mimic
URDF->SDF handle links with no inertia or small mass
libsdformat 14.0.0 (2023-09-29)
Add missing conda dependencies
Correct spelling of Python variable in CMake
Remove hard dependence on ruby
Documentation fixes
Automatic Moment of Inertia Calculations for Basic Shapes
Joint axis mimic constraints: add
sdf
elementAdd python bindings for
sdf::Element
andsdf::Param
World: handle name collisions like Model
ign -> gz
Copy 1.10 spec to 1.11 for sdformat14
Make sure the deprecated kSdfScopeDelimiter still works
Python script to replace ruby xmlschema generator
Make dataPtr private in sdf::Plugin
Fix GSG violations on non-trivially destructible types
Port embedSdf script from Ruby to Python3 and provide unittests
World: sdfwarns to sdf::Errors when warnings policy set to sdf::EnforcementPolicy::ERR
Add sdf::Errors output to API methods
⬆️ Bump main to 14.0.0~pre1
libsdformat 13.X
libsdformat 13.8.0 (2024-06-25)
Added
World::ActorByName
Backport #1367 to Garden: Fix find Python3 logic.
libsdformat 13.7.0 (2024-06-13)
Add support for no gravity link
Fix macOS workflow and backport windows fix
Fix warning with pybind11 2.12
Add bullet and torsional friction DOM
Resolve URIs relative to file path
Bazel updates for Garden build
Fix static builds and optimize test compilation
Install ruby commands on Windows
Update github action workflows
URDF->SDF handle links with no inertia or small mass
libsdformat 13.6.0 (2023-08-30)
Use relative path in an urdf include to avoid confusion between internal and system headers
parser.cc update calls to use sdf::Errors output
Fix deeply nested merge-include for custom parsed files
Updated findfile() to search localpath first
World requires a scene and atmosphere
Infrastructure
Remove robot not found error when parsing fails
Make some sdfdbg messages sdfmsgs
Minor clean up of tests
libsdformat 13.5.0 (2023-05-18)
Added projector Python wrapper
Added new error codes in Python
Fixed 1.9/light.sdf
Add Projector DOM
Disable pybind11 tests on windows
Geometry and others: update calls to use sdf::Errors parameters
Fix GitHub Actions on macOS
JointAxis: improve code coverage in Load()
Scene: update calls to use sdf::Errors parameters
ForceTorque: update calls to use sdf::Errors output
Fix Element::Set method return value
Sky: update calls to use sdf::Errors output
Add missing values in Surface ToElement method
Atmosphere: update calls to use sdf::Errors output
Altimeter: update calls to use sdf::Errors output
AirPressure: update calls to use sdf::Errors output
ParticleEmitter: update calls to use sdf::Errors output
Physics: update calls to use sdf::Errors output
Frame: update calls to use sdf::Errors output
Material: update calls to use sdf::Errors output
Light: update calls to use sdf::Errors parameters
Imu: update calls to use sdf::Errors output
JointAxis: update calls to use sdf::Errors output
Noise: update calls to use sdf::Errors parameters
Plugin: update calls to use sdf::Errors output
URDF->SDF handle links with no inertia or small mass
Element: update calls to use sdf::Errors output
Add: new error enums to Python
Rename COPYING to LICENSE
Allowing relative paths in URDF
libsdformat 13.4.1 (2023-03-08)
Fix camera_info_topic default value
CI workflow: use checkout v3
libsdformat 13.4.0 (2023-03-03)
Fix camera info topic default value
Add support for merge-includes in worlds
Backport the python3 embedSdf script variant
Go back to SDF_ASSERT instead of FATAL_ERROR
Add missing sdf files from xsd generation
CI workflow: use checkout v3
Use
File.exist?
for Ruby 3.2 compatibility
libsdformat 13.3.0 (2023-02-07)
Add airspeed sensor
Use
File.exist?
for Ruby 3.2 compatibilityMake ThrowOrPrintError a free internal function
macos workflow: don’t upgrade existing packages
update Param calls to use error vectors parameters
ign -> gz Migrate Ignition Headers : sdformat
Sensor: add sdf::Errors output to API methods
Warn child joint that resolves to world
Converter: add sdf::Errors output to API methods
ParamPassing: sdfwarns to sdf::Errors when warnings policy set to sdf::EnforcementPolicy::ERR
Camera: added HasLensProjection
Change default
camera_info_topic
value to__default__
Check JointAxis expressed-in values during Load
Added camera info topic to Camera
Fix static URDF models with fixed joints
libsdformat 13.2.0 (2022-10-20)
sdf/1.10/joint.sdf: add
screw_thread_pitch
sdf/1.10: support //world/joint specification
Model: add sdf::Errors output to API methods
Added Root::WorldByName
Python: add OpticalFrameID APIs to pyCamera
Fix
GZ_PYTHON_INSTALL_PATH
valueRename python bindings import library for Windows
libsdformat 13.1.0 (2022-10-12)
Add test helper python package for encapsulating versioned python packages
Add a configuration option to resolve URIs
World: sdfwarns to sdf::Errors when warnings policy set to sdf::EnforcementPolicy::ERR
PrintConfig: add sdf::Errors output to API methods
Element: add sdf::Errors output to API methods
python: Import gz.math at startup to fix #1129
parser_urdf: add //frame for reduced links/joints
Param::Set: fix truncation of floating-point values
Reduce the number of include dirs for sdformat
urdf: fix test and clean up internals
sdf/camera.sdf: fields for projection matrix
Add camera optical_frame_id element
libsdformat 13.0.1 (2022-09-27)
Fix arm tests
libsdformat 13.0.0 (2022-09-23)
Add camera
optical_frame_id
elementsdf/1.10: remove unused spec files
1.10/joint.sdf: better default limit values
Remove unused macros from config.hh
Make //plugin/@name optional
Add Error enums and update Migration guide
Warn by default on unrecognized elements
InterfaceElements: remove deprecated data members
Add fluid added mass to inertial
Change Root to non-unique impl pointer
Add python interfaces
Copy skybox uri field to sdf/1.10/scene.sdf
Accept moon and custom surfaces in world spherical coordinates
Migrate ign -> gz
Copy 1.9 spec to 1.10
Root: get the world name
Add SDF::SetRoot and deprecate non-const SDF::Root
Update GoogleTest to latest version
Update return types for Plugin’s Name and Filename
Surface::ToElement: add //friction/ode/mu
Joint: rename parent/child
*LinkName
APIsDeprecate sdf::Inertia class
Don’t include the gz/math.hh header from library code
Use pose multiplication instead of subtraction
Remove deprecation warnings
Added light methods to Link, Root and World
Add sdf::Error logging in sdf::Param
Changes for replacing PythonInterp with Python3
Combine find_package(ignition-utils) calls
Change default floating point precision to max
Clean up compiler warnings
Switch to utils version of env functions
Updated tests for ign-math’s ostream fix
Infrastructure
Remove completely unused define
libsdformat 12.X
libsdformat 12.8.0 (2024-06-06)
Add support for no gravity link
Add bullet and torsional friction DOM
Fix static builds and optimize test compilation
Update github action workflows
libsdformat 12.7.2 (2023-09-01)
Fixed 1.9/light.sdf
URDF->SDF handle links with no inertia or small mass
Fix Element::Set method return value
Add missing values in Surace ToElement method
Rename COPYING to LICENSE
Infrastructure
Allow relative paths in URDF
libsdformat 12.7.1 (2023-02-28)
Fix camera info topic default value
libsdformat 12.7.0 (2023-02-03)
Forward port libsdformat9.10.0. This includes the ign to gz headers.
Use File.exist? for Ruby 3.2 compatibility.
Infrastructure
CI workflow: use checkout v3.
macos workflow: don’t upgrade existing packages.
libsdformat 12.6.0 (2022-09-07)
Reduce the number of include dirs for sdformat.
Add camera
optical_frame_id
elementurdf: fix sensor/light pose for links lumped by fixed joints
Removed USD component from SDFormat and move to gz-usd
Fix URDF fixed joint reduction of SDF joints
Test model name as
placement_frame
Test using
__model__
,world
in@attached_to
,@relative_to
Remove unused sdf.hh.in template
Readme: Ignition -> Gazebo
Document major and minor SDFormat version numbers
Add skybox URI
Bash completion for flags
Fix bug with resolving poses for joint sensors.
sdf::Joint: Mutable versions of SensorByName and SensorByIndex
Add Link::ResolveInertial API
libsdformat 12.5.0 (2022-05-12)
Add visibility mask to Lidar / Ray sensor
Camera: fix default trigger topic
Polyline geometry DOM
Added
<shininess>
to<material>
inertial.sdf
: fix ambiguities in documentationAdded equality operators to Plugin
Added convenience constructor to plugin
Use gz-utils instead of gz-cmake utilities
Added
Friction
andODE
classesAdd
L16
pixel format to Camera pixel format conversion functionAdded
--inertial-stats
option togz sdf
Added
anti_aliasing
element to camera’s SDFDOC 1.9: clarify behavior of //model/model/static
SDF to USD
USD to SDF
libsdformat 12.4.0 (2022-03-29)
Use ParserConfig more in parser.cc
Added option to visualize light in GUI
Make
computeMergedModelProxyFrameName
publicSDFormat to USD conversion
Add ToElement conversions for various classes
Fix compiler warnings
Infrastructure and Documentation
Use the Plugin DOM in other DOM objects
Add SDFormat tags for Triggered Cameras
Fix bug where //include/pose was ignored when using the Interface API
Fix joint parent/child frame existence checks to include interface elements
Remove USD visibility macro from internal APIs
Added non-const mutable accessors for world child objects
Added non-const accessors for Model child objects
Added to light if the light is on or off
Added Root mutable accessors, and Root::Clone function
Hide USDUtils.hh file from public API
Added non-const accessors for Link child objects
Add USDError class
Use USD component visibility macro
Add support for merge-include in the Interface API
Handle
__model__
in joint parent or child when using merge-includeAllow model frames (model) to be used as joint parent or child
Fix bug where a sdf::ParserConfig object was not passed to all sdf::readFile calls
Make SDF to USD a separate component of sdformat
Add ParserConfig flag for preserveFixedJoint
Fix parsing ‘type’ attibutes in plugins
sdf_custom: fix nested model expectations
Replace custom cmake code with gz-cmake2
Support printing sdf poses in degrees and allow snapping to commonly used angles
Refactor FrameSemantics.cc
Fix loading nested include with custom attributes
Added plugin to SDF DOM
Support URI in the Model DOM
Support adding and clearing sensors from a joint
PrintConfig option to preserve includes when converting to string
libsdformat 12.3.0 (2021-12-01)
Fix empty pose parsing fail for rotation_format=‘quat_xyzw’
Added Add & Clear function to World, Model, and Link.
libsdformat 12.2.0 (2021-11-23)
Convert Joint DOM to Element.
Populate light sdf::ElementPtr from Light DOM
Add function to convert Sensor DOM to sdf::ElementPtr
Support wide angle camera.
Forward ports
Changelog links to BitBucket backup.
Update BitBucket links.
Cherry-pick [sdf4] Update BitBucket links -> sdf6
Patch popen/pclose method for Windows.
Parse rpyOffset as radians
Fix flattening logic for nested model names (sdf6)
Translate poses of nested models inside other nested models (sdf6).
Use Ubuntu bionic in CI
Create CODEOWNERS with azeey and scpeters.
Remove bitbucket-pipelines.
Check joint parent/child names in Root::Load.
Check joint parent link names in Model::Load.
Add Joint DOM API to access joint sensors
Remove outdated deprecation note from parser_urdf.hh
DOC: only allow one canonical_link attribute
Fix URDF fixed joint reduction of plugins
libsdformat 12.1.0 (2021-11-09)
Support accessing mutable sensor types.
libsdformat 12.0.0 (2021-09-30)
Make exception for plugins when checking for name uniqueness
Remove empty //inertial/pose/@relative_to during 1_7->1.8 conversion
Added macos install instructions to README.md
Do not automatically remove //axis/initial_position
DOC: don’t mention elements that can’t be included
Prefix merged frames with an underscore
Add API changes for PrintConfig
Add Force Torque Noise functions + Unit tests
Support quaternions representation for poses
Support merge-include of nested models
Fix documentation on Euler angle convention in pose.sdf
Clarify documentation on //pose/@relative_to in the spec
🌐 Parse spherical coordinates
Fix bug when using degrees in //include/pose
Support rotation in degrees (#589)
Add segmentation and bounding box sensor types
Add support for custom sensors
Remove deprecated functions and classes
Emit an error instead of a warning when a file has multiple root level
Copy spec 1.8 to 1.9
Use encapsulated string constants for non-file sources
Forward ports
Infrastructure
libsdformat 11.X
libsdformat 11.4.1 (2022-03-21)
Install sdf/1.8 to versioned path
libsdformat 11.4.0 (2022-03-14)
Added option to visualize light on the GUI
Fix joint parent/child frame existence checks to include interface elements
Added to light whether it is on or off
Allow model frames (model) to be used as joint parent or child
Add ParserConfig flag for preserveFixedJoint
Fix compiler warnings
sdf_custom
: fix nested model expectationsFix test compilation with
USE_INTERNAL_URDF
Replace custom CMake code with
gz-cmake2
Fix loading nested include with custom attributes
Documentation
Clarify behavior of
//model/model/static
Only allow one
canonical_link
attribute for modelDon’t mention elements that can’t be included
Clarify documentation on
//pose/@relative_to
in the specRemove duplicate link documentation
Fix URDF fixed joint reduction of plugins
Add
enable_orientation
to 1.6 specRemove outdated deprecation note from
parser_urdf.hh
Add Joint DOM API to access joint sensors
Add force torque sensor
Check joint parent link names in
Model::Load
Check joint parent/child names in
Root::Load
Remove empty
//inertial/pose/@relative_to
during 1_7->1.8 conversionFix
xyz
andrpy
offsets in fixed joint reductionInfrastructure updates
Translate poses of nested models inside other nested models
Fix flattening logic for nested model names
Parse
rpyOffset
as radians
libsdformat 11.3.0 (2021-09-10)
Fix world-complete.sdf and add particle_scatter_ratio to v1.8
Parse URDF continuous joint effort/velocity limits
Add
enable_orientation
SDF element to imuAdd a codecheck make target
Refactor sdf::readXml
Upgrade cpplint and fix new errors
Infrastructure and documentation
Added comment reminder to update functions
BUG: add missing plugin element to include
Adds
enable_metrics
flag to Sensor.BUG: make time type string [s ns]
Add GPS sensor to sdf9
Spec change booleans from 0/1 to false/true
Support parsing elements that are not part of the schema
Add lightmap to 1.7 spec and PBR material DOM
Fix urdf link extension tags
Fix unreported invalid model when reference frame is unavailable
Updated material spec
BUG: add missing sdf files to CMakeLists
Update build system to allow overriding CXX flags and using clang on Linux
Error: move << operator from .hh to .cc file
Add Element::FindElement as an alternative to Element::GetElement
Parameter passing prototype
Port particle scatter ratio param to sdf 1.6
libsdformat 11.2.2 (2021-07-01)
Fix segfault when checking for required elements in joint
Add ValidateGraphs methods to Model/World
Making
PrintValues()
andToString()
able to not print default elements
libsdformat 11.2.1 (2021-06-28)
Fix ABI break on sdf11
Add triage, remove ticket templates
libsdformat 11.2.0 (2021-06-23)
Revert behavior of FilePath() for elements loaded from strings
Adding comment and modifications to element_tracing test regarding path sanitization
Allow to convert URDF color to SDF material tag
Encode XML path and line number in Element and add XML path setter Error.
Merge sdf 1.7 changes forward to 1.8
Add API for determining if an element was set by the user
Add scatter ratio parameter to Particle Emitter DOM
Fix bug where included URDFs are not parsed when there are no custom parsers
libsdformat 11.1.0 (2021-04-30)
Clean up use of PROJECT_SOURCE_PATH in tests
Methods for removing attributes from an element
Add an EnforcementPolicy for deprecated elements
Fixed application of
tags in lumped linkes during URDF conversion Particle emitter
Improve docs of collision_bitmask.
libsdformat 11.0.0 (2021-03-30)
Add ParserConfig class to encapsulate file path settings.
Add EnforcementPolicy in ParserConfig to configure parsing strictness.
Use
ImplPtr
/UniqueImplPtr
from gz-utilsAllow files paths for include URIs
Add split/join for separating the link name from fully-qualified name.
SDFormat 1.8: Add ellipsoid geometry type.
SDFormat 1.8: Add capsule geometry type.
SDFormat 1.8: Add light intensity field.
SDFormat 1.8: reduce default heightmap sampling from 2 to 1.
SDFormat 1.8: remove
//inertial/pose/@relative_to
from spec.Allow only one of actor/light/model for
tags. Add support for building static library.
Add force torque sensor.
Simplify data embedding.
Properly handle the requirement of C++17 at the CMake exported target level.
Update documentation for Cylinder length.
Root: fix grammar in error message.
Ensure relocatable config files.
Update CI.
Update README, Changelog, Contributing Guide, and Code of Conduct.
Implement SDFormat 1.8 Model Composition.
Fix precision loss when adding nested models.
Initial version of SDFormat 1.8 specification.
SDFormat 1.8: Deprecate //joint/axis/initial_position.
Implement SDFormat 1.8 Interface API
Add Joint DOM API to access joint sensors
Store include info in Element
Updated loading //material colors
Include file path and line number in parsing errors
Error when delimiter “::” found in element name in SDFormat 1.8
Add camera type aliases to docs.
Fix lidar resolution description about interpolation
Added issue & PR templates
Add L16 pixel format to Camera pixel format conversion function
Quietly search for urdfdom
tests: Ensure removed SDFormat elements raise errors in newer versions
sdformat.pc.in: requires ignition-utils1
Wrap description tags in CDATA
Fix temperature gradient default value in Atmosphere DOM
Add laser_retro in Visual
Add Windows installation
Replace PROJECT_SOURCE_DIR in tests
libsdformat 10.X
libsdformat 10.7.0 (2021-12-27)
Fix flattening logic for nested model names (merged forward from sdf6)
Create CODEOWNERS with azeey and scpeters
Fix xyz and rpy offsets in fixed joint reduction
Check joint parent link names in Model::Load
Make exception for plugins when checking for name uniqueness
Added Force Torque Noise functions + Unit tests
Add Joint DOM API to access joint sensors
Add force torque sensor
A contribution from Nick Lamprianidis nlamprian@gmail.com
Remove outdated deprecation note from parser_urdf.hh
Fix URDF fixed joint reduction of plugins
Fix loading nested include with custom attributes
Replace custom cmake code with gz-cmake2
Fix test compilation with USE_INTERNAL_URDF
libsdformat 10.6.0 (2021-09-08)
Parse URDF continuous joint effort/velocity limits
Add enable_orientation SDF element to imu
Add a codecheck make target
Refactor sdf::readXml
Upgrade cpplint and fix new errors
BUG: add missing plugin element to include
Added comment reminder to update functions
Adds enable_metrics flag to Sensor.
Add GPS / NavSat sensor to sdf9
Support parsing elements that are not part of the schema
Add lightmap to 1.7 spec and PBR material DOM
Fix urdf link extension tags
Updated material spec
Minor fix to Migration guide
Error: move << operator from .hh to .cc file
Update build system to allow overriding CXX flags and using clang on Linux
Add Element::FindElement as an alternative to Element::GetElement
Add ValidateGraphs methods to Model/World (sdf9)
Fix ABI break
Parameter passing prototype
Port particle scatter ratio param to sdf 1.6
Making PrintValues() and ToString() able to not print default elements
Add API for determining if an element was set by the user
libsdformat 10.5.0 (2021-05-17)
Add scatter ratio parameter to Particle Emitter DOM.
Methods for removing attributes from an element.
Improve docs of collision bitmask.
libsdformat 10.4.0 (2021-04-06)
Added particle emitter.
Fixed application of
tags in lumped linkes during URDF conversion. Add camera type aliases to docs.
libsdformat 10.3.0 (2021-02-18)
Replace PROJECT_SOURCE_DIR in tests
Add Windows installation
Add laser_retro in Visual
Fix temperature gradient default value in Atmosphere DOM
Wrap description tags in CDATA
Add L16 pixel format to Camera pixel format conversion function
libsdformat 10.2.0 (2021-01-12)
Disable gz test on Windows
Add Heightmap class
Added
render_order
to material
libsdformat 10.1.0 (2020-12-15)
Fix supported shader types (
normal_map_X_space
)Prefix nested model names when flattening
Move list of debian dependencies to packages.apt
Remove custom element warning/error.
Add Sky DOM.
Add
<double_sided>
to material spec.Decrease far clip lower bound.
Enable/disable tests for issue #202, add macOS workflow.
Make labeler work with PRs from forks.
Test included model folder missing model.config
Add lightmap to 1.7 spec and PBR material DOM
libsdformat 10.0.0 (2020-09-28)
Return positive
INF
instead of-1
in DOM API for unbounded symmetric joint limits.Add cmake option to disable console logfile.
CMake fixes: include CMakePackageConfigHelpers and use modern cmake target for gz math.
Cmake: add tinyxml2 to Config names.
Define
PATH_MAX
for Debian Hurd system.Normalize joint axis xyz vector when parsing from SDFormat.
Migrate to using TinyXML2.
Enforce minimum/maximum values specified in SDFormat description files.
Make parsing of values syntactically more strict with bad values generating an error.
Don’t install deprecated parser_urdf.hh header file, fix cmake warning about newline file, fix cmake warning about newlines.
Remove deprecated Pose(), PoseFrame() functions from DOM objects.
Remove deprecated UseParentModelFrame methods from JointAxis DOM.
Changed the default radius of a Cylinder from 1.0 to 0.5 meters.
libsdformat 9.X
libsdformat 9.10.1 (2024-01-05)
URDF->SDF handle links with no inertia or small mass
Fix Element::Set method return value
Allowing relative paths in URDF
Use
File.exist?
for Ruby 3.2 compatibilityInfrastructure
libsdformat 9.10.0 (2022-11-30)
Ign to gz header migration.
Added HasLensProjection.
Added camera info topic to Camera
libsdformat 9.9.1 (2022-11-08)
Fix static URDF models with fixed joints
Don’t assume
CMAKE_INSTALL_*DIR
variables are relative
libsdformat 9.9.0 (2022-09-07)
sdf/camera.sdf: fields for projection matrix
urdf: add //frame for reduced links/joints
urdf: fix sensor/light pose for links lumped by fixed joints
urdf: fix test and clean up internals
Ensure relocatable config files
Test using
__model__
,world
in @attached_to, @relative_toReadme: Ignition -> Gazebo
Document major and minor SDFormat version numbers
Bash completion for flags
Add Link::ResolveInertial API
libsdformat 9.8.0 (2022-04-26)
Polyline geometry DOM
Added
<shininess>
to<material>
Backport
gz sdf --inertial-stats
Add L16 pixel format to Camera pixel format conversion function
Anti-aliasing element for
<camera><image>
Fix loading nested include with custom attributes
add enable_orientation to 1.6 spec
Fix xyz and rpy offsets in fixed joint reduction
👩🌾 Remove bitbucket-pipelines and backport labeler / triage
Create CODEOWNERS with azeey and scpeters
Use Ubuntu bionic in CI
Translate poses of nested models inside other nested models (sdf6)
Fix flattening logic for nested model names (sdf6)
Parse rpyOffset as radians
BitBucket
libsdformat 9.7.0 (2021-11-03)
Make exception for plugins when checking for name uniqueness
Backport test utilities from sdf10
Added Force Torque Noise functions + Unit tests
Add Joint DOM API to access joint sensors
Add force torque sensor
libsdformat 9.6.1 (2021-09-07)
Parse URDF continuous joint effort/velocity limits
Add a codecheck make target
Refactor sdf::readXml
Upgrade cpplint and fix new errors
BUG: add missing plugin element to include
Added comment reminder to update functions
libsdformat 9.6.0 (2021-08-18)
Adds
enable_metrics
flag to Sensor.Add GPS / NavSat sensor DOM to sdf9
Support parsing elements that are not part of the schema
Add lightmap to 1.7 spec and PBR material DOM
Fix urdf link extension tags
Updated material spec
Minor fix to Migration guide
Error: move << operator from .hh to .cc file
Update build system to allow overriding CXX flags and using clang on Linux
Add Element::FindElement as an alternative to Element::GetElement
Add ValidateGraphs methods to Model/World (sdf9)
Fix ABI break
Making PrintValues() and ToString() able to not print default elements
Add API for determining if an element was set by the user
Methods for removing attributes from an element
Improve docs of collision_bitmask.
Add camera type aliases to docs.
Add action-gz-ci
libsdformat 9.5.0 (2021-02-11)
Add Windows installation
Add laser_retro in Visual
Wrap description tags in CDATA
libsdformat 9.4.0 (2021-01-08)
Define
PATH_MAX
for Debian Hurd systemFix supported shader types (
normal_map_X_space
)Move list of debian dependencies to packages.apt
Enable/disable tests for issue #202, add macOS workflow
Test included model folder missing model.config
Prefix nested model names when flattening
Add Sky DOM
camera.sdf: decrease far clip lower bound
material.sdf: add
double_sided
parameterMigration to GitHub: CI, links…
Fix Actor copy operators and increase test coverage.
Add Heightmap class
libsdformat 9.3.0 (2020-XX-XX)
Store material file path information.
Support nested models in DOM and frame semantics.
Find python3 in cmake, fix cmake warning.
Fix Actor copy operators and increase test coverage.
GitHub Actions CI, pull request labels.
Change bitbucket links to GitHub.
Param_TEST: test parsing +Inf and -Inf.
SearchForStuff: add logic to find urdfdom without pkg-config.
Observe the CMake variable
BUILD_TESTING
if it is defined.Collision: don’t load Surface without
<surface>
.Properly handle the requirement of C++17 at the CMake exported target level.
Fix homebrew build with external urdfdom.
libsdformat 9.2.0 (2020-04-02)
Remove URI scheme, if present, when finding files.
Build
Utils_TEST
with Utils.cc explicitly passed since its symbols are not visible.Keep the URDF style of specifying kinematics when converting URDF to SDF by using frame semantics.
Increase output precision of URDF to SDF conversion, output -0 as 0.
Add test of URDF frame semantics.
Support frame semantics for models nested with
Add surface DOM
Add Transparency to visual DOM
Add camera visibility mask and visual visibility flags
Include overrides for actor and light
Add functionality to generate aggregated SDFormat descriptions via CMake.
parser addNestedModel: check
//axis/xyz/@expressed_in
before rotating joint axis.Remove TinyXML symbols from public API: Deprecate URDF2SDF
Remove TinyXML symbols from public API: Move uninstalled headers
Install the Windows
.dll
shared libraries to bin folder.Fix cmake type for
tinyxml_INCLUDE_DIRS
.Rename SDF to SDFormat / libsdformat on documentation
libsdformat 9.1.0 (2020-01-29)
Remove URI scheme, if present, when finding files.
Fix parsing of pose elements under
<include>
Parser: add readFileWithoutConversion and readStringWithoutConversion.
Added accessors to
gz::math::[Boxd, Cylinderd, Planed, Sphered]
in the matchingsdf::[Box, Cylinder, Plane, Sphere]
classes.Forward port of adjustments for memory leaks:
SDFormat 1.7: remove
//world/joint
element since it has never been used.Add clipping for depth camera on rgbd camera sensor
Add tests to confirm that world is not allowed as child link of a joint.
Fix link pose multiplication for URDF.
Enable linter for URDF parser and fix style.
Converter: fix memory leak pointed out by ASan.
Access the original parsed version of an SDF document with
Element::OriginalVersion
.Model::Load: fail fast if an SDFormat 1.7 file has name collisions.
Keep DOM objects even if they were loaded with errors.
libsdformat 9.0.0 (2019-12-10)
Move recursiveSameTypeUniqueNames from gz.cc to parser.cc and make public.
Check that joints have valid parent and child names in
gz sdf --check
.Model DOM: error when trying to load nested models, which aren’t yet supported.
Use consistent namespaces in Filesystem.
Enforce rules about reserved names and unique names among sibling elements.
This also implements changes necessary for parsing custom elements and attributes per the following proposal: Custom elements and attributes
Relax name checking, so name collisions generate warnings and names are automatically changed.
Unversioned library name for gz tool commands.
Initial version of SDFormat 1.7 specification.
Converter: add
<map>
element for converting fixed values.Converter: add
descendant_name
attribute to recursively search for elements to convert.SDFormat 1.7: replace
use_parent_model_frame
element with//axis/xyz/@expressed_in
attribute.SDFormat 1.7: replace
//pose/@frame
attribute with//pose/@relative_to
attribute.SDFormat 1.7: add
//model/@canonical_link
attribute and require models to have at least one link.Static models: allow them to have no links and skip building FrameAttachedToGraph.
SDFormat 1.7: add
//frame/attached_to
, only allow frames in model and world, add Frame DOM.FrameSemantics API: add FrameAttachedToGraph and functions for building graph and resolving attached-to body.
FrameSemantics API: add PoseRelativeToGraph and functions for building graph and resolving poses.
Build and validate graphs during Model::Load and World::Load.
Add SemanticPose class with implementation for Link.
Add JointAxis::ResolveXyz and Joint::SemanticPose.
Implement SemanticPose() for Collision, Frame, Light, Model, Sensor, Visual.
Add Frame::ResolveAttachedToBody API for resolving the attached-to body of a frame.
DOM API: deprecate
(Set)?PoseFrame
API and replace with(Set)?PoseRelativeTo
DOM API: deprecate
(Set)?Pose
API and replace with(Set)?RawPose
Hide FrameSemantics implementation.
libsdformat 8.0
libsdformat 8.X.X (202X-XX-XX)
libsdformat 8.9.0 (2020-09-04)
Find python3 in cmake, fix warning
Store material file path information
Fix Actor copy operators and increase test coverage.
Migration to GitHub: CI, links…
Increase output precision of URDF to SDF conversion, output -0 as 0.
Fix homebrew build with external urdfdom.
libsdformat 8.8.0 (2020-03-18)
Add Transparency to visual DOM
Install the Windows
.dll
shared libraries to bin folder.Fix cmake type for
tinyxml_INCLUDE_DIRS
.Add functionality to generate aggregated SDFormat descriptions via CMake.
Remove URI scheme, if present, when finding files.
Rename SDF to SDFormat / libsdformat on documentation
libsdformat 8.7.1 (2020-01-13)
Fix memory leaks in move assignment operator.
Refactoring based on rule-of-five guidance to address memory leaks
libsdformat 8.7.0 (2019-12-13)
Remove some URDF error messages
Fix parsing URDF without
inside Backport URDF multiplication and linter
Add clipping for depth camera on rgbd camera sensor
libsdformat 8.6.1 (2019-12-05)
Unversioned lib name for cmds
libsdformat 8.6.0 (2019-11-20)
configure.bat: use gz-math6, not gz11
Set
sdformat8_PKGCONFIG_*
variables in cmake config instead ofSDFormat_PKGCONFIG*
.Relax cmake check to allow compiling with gcc-7.
Use custom callbacks when reading file (support Fuel URIs).
Update visual DOM to parse
cast_shadows
property of a visual.Build
Utils_TEST
with Utils.cc explicitly passed since its symbols are not visible.
libsdformat 8.5.0 (2019-11-06)
Add
thermal_camera
sensor typeUse inline namespaces in Utils.cc
Convert
gz sdf
file inputs to absolute paths before processing themAdd
emissive_map
to material sdfConverter: fix bug when converting across multiple versions.
libsdformat 8.4.0 (2019-10-22)
Accept relative path in
<uri>
.Element: don’t print unset attributes.
Lidar.hh: remove ‘using namespace ignition’.
Parse urdf files to sdf 1.5 instead of 1.4 to avoid
use_parent_model_frame
.Set camera intrinsics axis skew (s) default value to 0
SDF Root DOM: add ActorCount, ActorByIndex, and ActorNameExists.
Avoid hardcoding /machine:x64 flag on 64-bit on MSVC with CMake >= 3.5.
Move private headers from include/sdf to src folder.
Fix gz library path on macOS.
Use
gz sdf --check
to check sibling elements of the same type for non-unique names.Converter: remove all matching elements specified by
<remove>
tag.
libsdformat 8.3.0 (2019-08-17)
Added Actor DOM
Print cmake build warnings and errors to std_err
libsdformat 8.2.0 (2019-06-18)
Added RGBD Camera Sensor type.
libsdformat 8.1.0 (2019-05-20)
Change installation path of SDF description files to allow side-by-side installation.
Added Lidar Sensor DOM. Also added
lidar
andgpu_lidar
as sensor types. These two types are equivalent toray
andgpu_ray
.SDF Sensor DOM: copy update rate in copy constructor.
Added IMU Sensor DOM.
Added Camera Sensor DOM.
Added wind to link dom.
Added Sensor DOM
==
operator.Added AirPressure SDF DOM
Update SDFormat noise elements
Apply rule of five for various DOM classes
Support setting sensor types from a string.
Added Altimeter SDF DOM
Added Magnetometer SDF DOM
Add Scene SDF DOM
Add PBR material SDF element
Set geometry shapes
Clarify names of libsdformat parser and SDF specification in Readme.
Disable macOS tests failing due to issue 202.
libsdformat 8.0.0 (2019-03-01)
Rename depth camera from ‘depth’ to ‘depth_camera’
Rename enum Ray to Lidar
Add support for files that have light tags in the root
Fix locale problems of std::stringstream and of Param::ValueFromString
Contribution by Silvio Traversaro
Add functions to set visual dom’s geometry and material
Change cmake project name to sdformat8, export cmake targets
SDF DOM: Add copy constructor and assignment operator to Light. Add lights to Link
Make
<limit>
a required element for<axis2>
SDF DOM: Add DOM methods for setting axis and thread pitch in
sdf::Joint
SDF DOM: Add copy constructors and assignment operator to JointAxis
Removed boost
Versioned namespace
Versioned library install
Add SetGeom to Collision
SDF DOM: Add copy/move constructors and assignment operator to Geometry
SDF DOM: Add copy/move constructors and assignment operator to Material
Add collision_detector to dart physics config
Fix cpack now that project name has version number
Animation tension
Add “geometry” for sonar collision shape
Fix Gui copy constructor
Sensor DOM
libsdformat 7.0
libsdformat 7.0.0 (xxxx-xx-xx)
Build Utils_TEST with Utils.cc explicitly passed since its symbols are not visible.
Parse urdf files to SDFormat 1.5 instead of 1.4 to avoid
use_parent_model_frame
.Set camera intrinsics axis skew (s) default value to 0
Avoid hardcoding /machine:x64 flag on 64-bit on MSVC with CMake >= 3.5.
Prevent duplicate
use_parent_model_frame
tags during file conversion.Backport inline versioned namespace from version 8.
Backport cmake and SDFormat spec changes from version 8.
Fix gz library path on macOS.
Preserve XML elements that are not part of the SDF specification.
Embed SDF specification files directly in libsdformat.so.
Removed support for SDF spec versions 1.0 and 1.2
SDF DOM: Additions to the document object model.
SDF DOM: Add Element() accessor to Gui, JointAxis and World classes.
Adds the equalivent of gz sdf -d to libsdformat. The command line option will print the full description of the SDF spec.
Adds the equalivent of gz sdf -p to libsdformat. The command line option will convert and print the specified SDFormat file.
SDF DOM: Additions to the document object model.
libsdformat 6.0
libsdformat 6.3.1 (2021-07-06)
Fix flattening logic for nested model names
Translate poses of nested models inside other nested models
libsdformat 6.3.0 (2021-06-21)
Move recursiveSameTypeUniqueNames from gz.cc to parser.cc and make public.
Parse rpyOffset as radians
Parse urdf files to SDFormat 1.5 instead of 1.4 to avoid
use_parent_model_frame
.Set camera intrinsics axis skew (s) default value to 0
Avoid hardcoding /machine:x64 flag on 64-bit on MSVC with CMake >= 3.5.
Fix gz library path on macOS.
Use
gz sdf --check
to check sibling elements of the same type for non-unique names.Converter: remove all matching elements specified by
<remove>
tag.
libsdformat 6.2.0 (2019-01-17)
Add geometry for sonar collision shape
Add camera intrinsics (fx, fy, cx, cy, s)
Add actor trajectory tension parameter
libsdformat 6.1.0 (2018-10-04)
Add collision_detector to dart physics config
Fix Windows support for libsdformat6
root.sdf: default SDFormat version 1.6
parser_urdf: print value of highstop instead of pointer address
Tweak error output so jenkins doesn’t think it’s a compiler warning
libsdformat 6.0.0 (2018-01-25)
SDF DOM: Added a document object model.
Add simplified
readFile
function.Remove boost::lexical cast instances
Remove boost regex and iostreams as dependencies
Change certain error checks from asserts to throwing sdf::AssertionInternalError, which is more appropriate for a library.
Updated the internal copy of urdfdom to 1.0, removing more of boost.
urdfdom 1.0 is now required on all platforms.
Remove boost filesystem as a dependency
Deprecated sdf::Color, and switch to use gz::math::Color
libsdformat 5.x
libsdformat 5.x.x (2017-xx-xx)
libsdformat 5.3.0 (2017-11-13)
Added wrapper around root SDF for an SDF element
Add ODE parallelization parameters: threaded islands and position correction
surface.sdf: expand documentation of friction and slip coefficients
Add preserveFixedJoint option to the URDF parser
Add light as child of link
libsdformat 5.2.0 (2017-08-03)
Added a block for DART-specific physics properties.
Fix parser to read plugin child elements within an
<include>
Choosing models with more recent SDFormat version with
<include>
tagAdded
<category_bitmask>
to 1.6 surface contact parametersSupport light insertion in state
Case insensitive boolean strings
Enable coverage testing
Add
friction_model
parameter to ode solverAdd cmake
@PKG_NAME@_LIBRARY_DIRS
variable to cmake config file
libsdformat 5.1.0 (2017-02-22)
Fixed
sdf::convertFile
andsdf::convertString
always converting to latest versionAdded back the ability to set SDFormat version at runtime
libsdformat 5.0.0 (2017-01-25)
Removed libsdformat 4 deprecations
Added an example
Move functions that use TinyXML classes in private headers A contribution from Silvio Traversaro
Fix issues found by the Coverity tool A contribution from Olivier Crave
Add tag to allow for specification of initial joint position
Require ignition-math3 as dependency
Simplifier way of retrieving a value from SDF using Get
libsdformat 4.0
libsdformat 4.x.x (2017-xx-xx)
libsdformat 4.4.0 (2017-10-26)
Add ODE parallelization parameters: threaded islands and position correction
surface.sdf: expand documentation of friction and slip coefficients
Add preserveFixedJoint option to the URDF parser
Add light as child of link
libsdformat 4.3.2 (2017-07-19)
Add documentation for
Element::GetFirstElement()
andElement::GetNextElement()
Fix parser to read plugin child elements within an
<include>
libsdformat 4.3.1 (2017-03-24)
Fix segmentation Fault in
sdf::getBestSupportedModelVersion
libsdformat 4.3.0 (2017-03-20)
Choosing models with more recent SDFormat version with
<include>
tagAdded
<category_bitmask>
to 1.6 surface contact parametersSupport light insertion in state
Case insensitive boolean strings
Enable coverage testing
Add
friction_model
parameter to ode solverAdded
sampling
parameter to<heightmap>
SDF element.Added Migration guide
Add cmake
@PKG_NAME@_LIBRARY_DIRS
variable to cmake config file
libsdformat 4.2.0 (2016-10-10)
Added tag to specify ODE friction model.
Fix URDF to SDF
self_collide
bug.Added IMU orientation specification to SDF.
libsdformat 4.1.1 (2016-07-08)
Added documentation and animation to
<actor>
element.Added tag to specify initial joint position
libsdformat 4.1.0 (2016-04-01)
Added SDF conversion functions to parser including sdf::convertFile and sdf::convertString.
Added an upload script
libsdformat 4.0.0 (2015-01-12)
Boost pointers and boost::function in the public API have been replaced by their std::equivalents (C++11 standard)
Move gravity and magnetic_field tags from physics to world
Switch lump link prefix from lump:: to lump_
New
element. A contribution from Olivier Crave Add scale to model state
Use stof functions to parse hex strings as floating point params. A contribution from Rich Mattes
Fix memory leaks. A contribution from Silvio Traversaro
Update SDF to version 1.6: new style for representing the noise properties of an
imu
libsdformat 3.0
libsdformat 3.X.X (201X-XX-XX)
Improve precision of floating point parameters
libsdformat 3.7.0 (2015-11-20)
Add spring pass through for sdf3
Support frame specification in SDF
Remove boost from SDFExtension
libsdformat 3.6.0 (2015-10-27)
Add light state
redo pull request #222 for sdf3 branch
Fix links in API documentation
libsdformat 3.5.0 (2015-10-07)
Camera lens description (Replaces #213)
Fix shared pointer reference loop in Element and memory leak (#104)
libsdformat 3.4.0 (2015-10-05)
Support nested model states
Cleaner way to set SDF_PATH for tests
libsdformat 3.3.0 (2015-09-15)
Windows Boost linking errors
Nested SDF -> sdf3
Pointer types
Torsional friction default surface radius not infinity
libsdformat 3.2.2 (2015-08-24)
Added battery element (contribution from Olivier Crave)
Torsional friction backport
Allow Visual Studio 2015
libsdformat 3.1.1 (2015-08-03)
Fix tinyxml linking error
libsdformat 3.1.0 (2015-08-02)
Added logical camera sensor to SDF
libsdformat 3.0.0 (2015-07-24)
Added battery to SDF
Added altimeter sensor to SDF
Added magnetometer sensor to SDF
Fix detection of XML parsing errors
Support for fixed joints
Adding iterations to state
Convert to use gz-math
Add world origin to scene
Fix collide bitmask
Adding meta information to visuals
Add projection type to gui camera
Fix print description to include attribute description
Add -std=c++11 flag to sdf_config.cmake.in and sdformat.pc.in, needed by downstream code
Added boost::any accessor for Param and Element
Remove tinyxml from dependency list
Added self_collide element for model
Added a collision bitmask field to sdf-1.5 and c++11 support
Fix problems with latin locales and decimal numbers (issue #60)
libsdformat 2.x
rename cfm_damping –> implicit_spring_damper
add gear_ratio and reference_body for gearbox joint.
Update joint stop stiffness and dissipation
Support for GNUInstallDirs
<use_true_size>
element used by DEM heightmapsDo not export urdf symbols in SDFormat 1.4
adding deformable properties per issue #32
Support to use external URDF
Add lighting element to visual
SDF 1.5: add flag to fix joint axis frame #43 (gazebo issue 494)
Implement SDF_PROTOCOL_VERSION (issue #51)
Port libsdformat to compile on Windows (MSVC)
Separate material properties in material.sdf
Add road textures (repeat pull request #104 for sdf_2.0)
Add Extruded Polylines as a model
Added polyline for sdf_2.0
Add spring_reference and spring_stiffness tags to joint axis dynamics
Fix actor static
New
element Add camera distortion element
Inclusion of magnetic field strength sensor
Properly add URDF gazebo extensions blobs to SDF joint elements
Allow gui plugins to be specified in SDF
Backport magnetometer
Add flag for MOI rescaling to SDFormat 1.4
Parse urdf joint friction parameters, add corresponding test
Allow reading of boolean values from plugin elements.
Implement generation of XML Schema files (issue #2)
Fix build for OS X 10.10
Improve performance in loading
SDF elements Added urdf gazebo extension option to disable fixed joint lumping
Support urdfdom 0.3 (alternative to pull request #122)
Update list of supported joint types
Ignore unknown elements
Physics preset attributes
Backport fix for latin locales (pull request #147)
libsdformat 1.4
libsdformat 1.4.8 (2013-09-06)
Fix inertia transformations when reducing fixed joints in URDF
Add <use_terrain_paging> element to support terrain paging in gazebo
Further reduce console output when using URDF models
libsdformat 1.4.7 (2013-08-22)
Direct console messages to std_err
libsdformat 1.4.6 (2013-08-20)
Add tags for GPS sensor and sensor noise
Add tags for wireless transmitter/receiver models
Add tags for playback of audio files in Gazebo
Add tags for simbody physics parameters
Log messages to a file, reduce console output
Generalize ode’s <provide_feedback> element
Various bug, style and test fixes
libsdformat 1.4.5 (2013-07-23)
Deprecated Gazebo’s internal SDF code
Use templatized Get functions for retrieving values from SDF files
Removed dependency on ROS