Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doppler radar + gyro integration changes #232

Open
wants to merge 53 commits into
base: main
Choose a base branch
from
Open

Conversation

lisusdaniil
Copy link
Member

@lisusdaniil lisusdaniil commented Mar 6, 2025

  • Added loading in/handling different chirp types for radar data depending on metadata.
  • Added optional functionality for ICP: stack of gyro measurements to use in yaw error, radial velocity errors, fwd/side velocity errors
  • Removed obsolete gyroscope error terms and standardized radar and lidar to use same gyro-based velocity error
  • Added minor code improvements for better handling wrappers for VTR (no longer crashing if certain variables were already loaded from config in wrapper).
  • Removed locked pose-based prior generation for radar/lidar pipeline. The pipelines now do proper sliding window filtering, where the last timestamp of the previous window (corresponding to last pointcloud timestamp) is now the first timestamp in the next window. The state at this timestamp gets a prior generated through marginalizing out all other states in the previous window.
  • Removed option for non-CT estimation in the radar pipeline
  • Removed deprecated options from default configs

Tested radar and lidar offline:

  • with and without gyro
  • with and without CT for lidar
  • with and without additional estimation states in CT cases

lisusdaniil and others added 15 commits March 7, 2025 11:44
… setup.

Implemented prior error from past trajectory/covariance for odometry.
… measurement factor (outdated with new gyro implementations).
…valuator. Useful when you want to rely entirely on a gyroscope or some other highly accurate source of orientation info.

- Changed gyroscope error term to make use of all 3 degrees of info from gyro
- (QoL) minor print statement improvements
(func) added gyroscope terms if qdata.gyro_msgs is populated
(func) added removal of orientation estimation from ICP
(func) Changed optimization windows to directly overlap in pose. The last pose in a previous frame (corresponding to the max timestamp of the pointcloud) is now the first pose in the next frame. Prior is generated based on the estimate of the state at the final timestamp in the previous frame.
…as the first timestamp in new frame. This shared state now has a prior generated through marginalizing out previous first state.

(QoL) Removed now-unnecessary trajectory passing between frames.
(bug) Updated state extrapolation to work from the prior state (first state in the window), as opposed to the previously saved state (middle of scan).
…nd radar-lidar

(func) Added new prior support for radar-lidar pipeline
…-based sliding window prior for future windows.
…al pointcloud timestamp due to rounding error. Now explicitly adding the final pointcloud timestamp as the final knot_time.
@lisusdaniil lisusdaniil marked this pull request as ready for review March 26, 2025 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants