summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fix-gtsam42-vertigo-manifold-traits.patch26
-rw-r--r--rtabmap.spec12
2 files changed, 33 insertions, 5 deletions
diff --git a/fix-gtsam42-vertigo-manifold-traits.patch b/fix-gtsam42-vertigo-manifold-traits.patch
index 8d7f830..12af8dc 100644
--- a/fix-gtsam42-vertigo-manifold-traits.patch
+++ b/fix-gtsam42-vertigo-manifold-traits.patch
@@ -1,5 +1,5 @@
diff --git a/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h b/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h
-index e95e0b5..5131d04 100644
+index e95e0b5..f40d4b2 100644
--- a/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h
+++ b/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h
@@ -110,6 +110,10 @@ namespace gtsam {
@@ -13,8 +13,19 @@ index e95e0b5..5131d04 100644
static void Print(const vertigo::SwitchVariableLinear& key, const std::string& str = "") {
key.print(str);
}
+@@ -118,8 +122,8 @@ template<> struct traits<vertigo::SwitchVariableLinear> {
+ }
+ static int GetDimension(const vertigo::SwitchVariableLinear & key) {return key.Dim();}
+
+- typedef OptionalJacobian<3, 3> ChartJacobian;
+- typedef gtsam::Vector TangentVector;
++ typedef OptionalJacobian<1, 1> ChartJacobian;
++ typedef Eigen::Matrix<double, 1, 1> TangentVector;
+ static TangentVector Local(const vertigo::SwitchVariableLinear& origin, const vertigo::SwitchVariableLinear& other,
+ #if GTSAM_VERSION_NUMERIC >= 40300
+ ChartJacobian Horigin = {}, ChartJacobian Hother = {}) {
diff --git a/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h b/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h
-index 79e1fca..059a372 100644
+index 79e1fca..237c7cd 100644
--- a/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h
+++ b/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h
@@ -111,6 +111,10 @@ namespace gtsam {
@@ -28,3 +39,14 @@ index 79e1fca..059a372 100644
static void Print(const vertigo::SwitchVariableSigmoid& key, const std::string& str = "") {
key.print(str);
}
+@@ -119,8 +123,8 @@ template<> struct traits<vertigo::SwitchVariableSigmoid> {
+ }
+ static int GetDimension(const vertigo::SwitchVariableSigmoid & key) {return key.Dim();}
+
+- typedef OptionalJacobian<3, 3> ChartJacobian;
+- typedef gtsam::Vector TangentVector;
++ typedef OptionalJacobian<1, 1> ChartJacobian;
++ typedef Eigen::Matrix<double, 1, 1> TangentVector;
+ static TangentVector Local(const vertigo::SwitchVariableSigmoid& origin, const vertigo::SwitchVariableSigmoid& other,
+ #if GTSAM_VERSION_NUMERIC >= 40300
+ ChartJacobian Horigin = {}, ChartJacobian Hother = {}) {
diff --git a/rtabmap.spec b/rtabmap.spec
index e133430..3b25100 100644
--- a/rtabmap.spec
+++ b/rtabmap.spec
@@ -11,7 +11,7 @@
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 0.22.1
-Release: 2%{?dist}%{?release_suffix}
+Release: 3%{?dist}%{?release_suffix}
Summary: RTAB-Map's standalone library. RTAB-Map is a RGB-D SLAM approach with real-time constraints.
Url: http://introlab.github.io/rtabmap
@@ -133,11 +133,17 @@ else echo "RPM TESTS SKIPPED"; fi
/opt/ros/%{ros_distro}
%changelog
-* Sun Apr 06 2026 openEuler ROS SIG - 0.22.1-2
+* Sun Apr 06 2026 openEuler ROS SIG <rosig@openeuler.sh> - 0.22.1-3
+- Update fix-gtsam42-vertigo-manifold-traits.patch: also fix TangentVector
+ (gtsam::Vector -> Eigen::Matrix<double,1,1>) and ChartJacobian
+ (OptionalJacobian<3,3> -> OptionalJacobian<1,1>) to match dimension=1,
+ fixing static_assert(TangentVector::SizeAtCompileTime == dim) in Manifold.h
+
+* Sun Apr 06 2026 openEuler ROS SIG <rosig@openeuler.sh> - 0.22.1-2
- Add fix-gtsam42-vertigo-manifold-traits.patch: add missing manifold traits
(structure_category, dimension, ManifoldType) to gtsam::traits specializations
for vertigo::SwitchVariableLinear and vertigo::SwitchVariableSigmoid, required
by GTSAM 4.2.0 IsManifold concept check in NoiseModel.h and Manifold.h
-* Wed Mar 25 2026 Mathieu Labbe matlabbe@gmail.com - 0.22.1-1
+* Wed Mar 26 2026 Mathieu Labbe <matlabbe@gmail.com> - 0.22.1-1
- Autogenerated by ros-porting-tools