Comments (4)
Hi @narutojxl --
- The difference quaternion between two quaternions can be computed by multiplying one with the inverse of the other.
- You are right; thanks for the catch! We've fixed this in
1.3.1
- Good catch again -- the update should come before the covariance calculation. Fixed in
1.3.1
- Since quaternions are a double map of SO3, a quaternion
q
and-q
represent the same rotation so sign flips ultimately won't affect the solution. Sign flips are not preferable for controllers, however, so we chose to keep the check prior to publishing to minimize number of operations in the main loop.
Thanks again very much for your questions and bug catches.
from direct_lidar_odometry.
Thanks author fast reply.
For the first question in code, Eigen::Quaternionf dq = this->rotq * (closest_pose_r.inverse());
, does this dq
have a actual physical meaning? Because this->rotq.inverse() * closest_pose_r
represents curr scan to cloest keyframe rot, closest_pose_r.inverse() * this->rotq
represents cloest keyframe to curr scan rot, they all have a actual physical meaning.
from direct_lidar_odometry.
Yes, dq
is the relative rotation which brings closest_pose_r
to this->rotq
, such that
dq * closest_pose_r = this->rotq
or
dq = this->rotq * closest_pose_r.inverse()
Since we're interested in the magnitude between the current pose and a keyframe, it doesn't matter which "direction" we go since we take the absolute value of this angle (lines 1145, 1149, 1151
).
from direct_lidar_odometry.
OK, I see its meaning is a global delta_rot which transforms cloest_pose_r into curr rot. Thanks very much! My problem is solved, close it now.
from direct_lidar_odometry.
Related Issues (20)
- a little problem HOT 1
- Bug in adaptive threshold. HOT 2
- Question about the querying efficiency. HOT 1
- Pose relative to initial pose of the lidar sensor. HOT 4
- Initialization function HOT 4
- large drift in z-axis HOT 2
- Parameter tuning suggestions HOT 6
- How to improve the publish frequency of odom? HOT 3
- About IMU Preintegration! HOT 2
- ROS 2 support HOT 1
- Nano-GICP branch HOT 1
- Loop closure HOT 2
- Usage of LIDAR intensities HOT 2
- Drift using 2D Laser in large spaces HOT 1
- Run in Simulation
- Remove "namespace" attribute of the published topics and .pcd file connot be open.
- Ros2 port? HOT 1
- Catkin_make error with ros noetic running on ubuntu 20.04 HOT 2
- sudden changes in this->pose
- Question about convex hull of the keyframe set
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from direct_lidar_odometry.