From 4e78abf8619f1914b9579f435876fba1e05e4663 Mon Sep 17 00:00:00 2001 From: Sherif Nafee Date: Fri, 18 Jul 2025 10:22:06 +0300 Subject: [PATCH 1/2] Make imu values protected for manipulation --- Runtime/Tx/ImuTx.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Runtime/Tx/ImuTx.cs b/Runtime/Tx/ImuTx.cs index f8f2404..d6931bb 100644 --- a/Runtime/Tx/ImuTx.cs +++ b/Runtime/Tx/ImuTx.cs @@ -9,7 +9,6 @@ namespace ProBridgeSenors.Tx [AddComponentMenu("ProBridge/Tx/sensor_msgs/Imu")] public class ImuTx : ProBridgeTxStamped { - public Vector3 acceleration { get; private set; } [Header("Noise Parameters")] @@ -24,7 +23,9 @@ public class ImuTx : ProBridgeTxStamped private Vector3 _lastPosition; private Quaternion _lastRotation; private Vector3 _velocity; - private Vector3 _angularVelocity; + protected Vector3 _acceleration; + protected Vector3 _angularVelocity; + protected Quaternion _orientation; private bool _isGlobal; private Vector3 _gravityDirection; private float _gravityMagnitude; @@ -52,11 +53,12 @@ void FixedUpdate() if (!_isGlobal) { - acceleration = transform.InverseTransformDirection(acceleration); + _acceleration = transform.InverseTransformDirection(_acceleration); _angularVelocity = transform.InverseTransformDirection(_angularVelocity); } _lastVel = _velocity; + _orientation = transform.rotation; } protected override ProBridge.ProBridge.Msg GetMsg(TimeSpan ts) { @@ -82,8 +84,8 @@ protected override ProBridge.ProBridge.Msg GetMsg(TimeSpan ts) } data.angular_velocity = _angularVelocity.ToRosAngular(); - data.linear_acceleration = acceleration.ToRos(); - data.orientation = transform.rotation.ToRos(); + data.linear_acceleration = _acceleration.ToRos(); + data.orientation = _orientation.ToRos(); return base.GetMsg(ts); } From 8968699d11c84ebcae5f971774d42f3cf5e8bf73 Mon Sep 17 00:00:00 2001 From: Sherif Nafee Date: Fri, 18 Jul 2025 10:22:37 +0300 Subject: [PATCH 2/2] Remove unnecessary Inverse Transform --- Runtime/Tx/ImuTx.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Runtime/Tx/ImuTx.cs b/Runtime/Tx/ImuTx.cs index d6931bb..a54cce0 100644 --- a/Runtime/Tx/ImuTx.cs +++ b/Runtime/Tx/ImuTx.cs @@ -49,7 +49,7 @@ void FixedUpdate() _lastPosition = transform.position; _lastRotation = transform.rotation; - acceleration = (_velocity - _lastVel) / Time.fixedDeltaTime - transform.InverseTransformDirection(_gravityDirection) * _gravityMagnitude;; + _acceleration = (_velocity - _lastVel) / Time.fixedDeltaTime - _gravityDirection * _gravityMagnitude;; if (!_isGlobal) {