Skip to content

Profiles do not serialize to XML anymore #693

@rjoomen

Description

@rjoomen

Version

latest

OS Version

Ubuntu 24.04

Describe the bug

We use XML serialization to store and load profiles. With the switch to Cereal, all serialization seems to have been removed from the profiles. This completely breaks our usage of profiles.

Before:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="19">
<archive_type class_id="0" tracking_level="1" version="0" object_id="_0">
	<TrajOptMoveProfile class_id="1" tracking_level="0" version="0">
		<Profile class_id="2" tracking_level="1" version="0" object_id="_1">
			<key>825753968862191452</key>
		</Profile>
	</TrajOptMoveProfile>
	<cartesian_cost_config class_id="3" tracking_level="1" version="0" object_id="_2">
		<enabled>0</enabled>
		<use_tolerance_override>0</use_tolerance_override>
		<lower_tolerance class_id="4" tracking_level="0" version="0">
			<data>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
			</data>
		</lower_tolerance>
		<upper_tolerance>
			<data>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
			</data>
		</upper_tolerance>
		<coeff>
			<data>
				<item>0</item>
				<item>0</item>
				<item>0</item>
				<item>0</item>
				<item>0</item>
				<item>0</item>
			</data>
		</coeff>
	</cartesian_cost_config>
	<cartesian_constraint_config object_id="_3">
		<enabled>0</enabled>
		<use_tolerance_override>0</use_tolerance_override>
		<lower_tolerance>
			<data>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
			</data>
		</lower_tolerance>
		<upper_tolerance>
			<data>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
				<item>0.0</item>
			</data>
		</upper_tolerance>
		<coeff>
			<data>
				<item>0</item>
				<item>0</item>
				<item>0</item>
				<item>0</item>
				<item>0</item>
				<item>0</item>
			</data>
		</coeff>
	</cartesian_constraint_config>
	<joint_cost_config class_id="5" tracking_level="1" version="0" object_id="_4">
		<enabled>0</enabled>
		<use_tolerance_override>0</use_tolerance_override>
		<lower_tolerance class_id="6" tracking_level="0" version="0">
			<rows>0</rows>
			<data></data>
		</lower_tolerance>
		<upper_tolerance>
			<rows>0</rows>
			<data></data>
		</upper_tolerance>
		<coeff>
			<rows>1</rows>
			<data>
				<item>0</item>
			</data>
		</coeff>
	</joint_cost_config>
	<joint_constraint_config object_id="_5">
		<enabled>0</enabled>
		<use_tolerance_override>0</use_tolerance_override>
		<lower_tolerance>
			<rows>0</rows>
			<data></data>
		</lower_tolerance>
		<upper_tolerance>
			<rows>0</rows>
			<data></data>
		</upper_tolerance>
		<coeff>
			<rows>1</rows>
			<data>
				<item>0</item>
			</data>
		</coeff>
	</joint_constraint_config>
</archive_type>
</boost_serialization>

After:

<?xml version="1.0" encoding="utf-8"?>
<cereal>
	<archive_type>
		<key>825753968862191452</key>
	</archive_type>
</cereal>

To Reproduce

Store file profile with toArchiveFileXML and load with fromArchiveFileXML.

Expected behavior

All profile data is serialized and deserialized.

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions