首页下载资源后端RANSAC 和最小二乘法实现雷达自我速度估计

ZIPRANSAC 和最小二乘法实现雷达自我速度估计

qq_403013515.77MB需要积分:1

资源文件列表:

reve.zip 大约有110个文件
  1. reve/
  2. reve/.clang-format 2.36KB
  3. reve/.gitignore 455B
  4. reve/LICENSE 34.33KB
  5. reve/README.md 5.14KB
  6. reve/.git/
  7. reve/.git/config 303B
  8. reve/.git/description 73B
  9. reve/.git/HEAD 23B
  10. reve/.git/packed-refs 114B
  11. reve/.git/index 6.77KB
  12. reve/.git/info/
  13. reve/.git/info/exclude 240B
  14. reve/.git/branches/
  15. reve/.git/hooks/
  16. reve/.git/hooks/prepare-commit-msg.sample 1.46KB
  17. reve/.git/hooks/pre-applypatch.sample 424B
  18. reve/.git/hooks/update.sample 3.53KB
  19. reve/.git/hooks/fsmonitor-watchman.sample 3.01KB
  20. reve/.git/hooks/pre-merge-commit.sample 416B
  21. reve/.git/hooks/pre-receive.sample 544B
  22. reve/.git/hooks/pre-rebase.sample 4.78KB
  23. reve/.git/hooks/applypatch-msg.sample 478B
  24. reve/.git/hooks/pre-commit.sample 1.6KB
  25. reve/.git/hooks/pre-push.sample 1.32KB
  26. reve/.git/hooks/commit-msg.sample 896B
  27. reve/.git/hooks/post-update.sample 189B
  28. reve/.git/refs/
  29. reve/.git/refs/heads/
  30. reve/.git/refs/heads/master 41B
  31. reve/.git/refs/tags/
  32. reve/.git/refs/remotes/
  33. reve/.git/refs/remotes/origin/
  34. reve/.git/refs/remotes/origin/HEAD 32B
  35. reve/.git/objects/
  36. reve/.git/objects/pack/
  37. reve/.git/objects/pack/pack-ecf5a75c287282fa7a355493beb16b35fc6e15e7.pack 2.86MB
  38. reve/.git/objects/pack/pack-ecf5a75c287282fa7a355493beb16b35fc6e15e7.idx 4.52KB
  39. reve/.git/objects/info/
  40. reve/.git/logs/
  41. reve/.git/logs/HEAD 201B
  42. reve/.git/logs/refs/
  43. reve/.git/logs/refs/remotes/
  44. reve/.git/logs/refs/remotes/origin/
  45. reve/.git/logs/refs/remotes/origin/HEAD 201B
  46. reve/.git/logs/refs/heads/
  47. reve/.git/logs/refs/heads/master 201B
  48. reve/demo_datasets/
  49. reve/demo_datasets/calib_rio.yaml 617B
  50. reve/demo_datasets/calib_ti_mmwave_rospkg.yaml 551B
  51. reve/demo_datasets/demo_rio_format.bag 4.72MB
  52. reve/demo_datasets/demo_ti_mmwave_rospkg_format.bag 3.85MB
  53. reve/radar_ego_velocity_estimator/
  54. reve/radar_ego_velocity_estimator/CMakeLists.txt 2.06KB
  55. reve/radar_ego_velocity_estimator/package.xml 831B
  56. reve/radar_ego_velocity_estimator/cfg/
  57. reve/radar_ego_velocity_estimator/cfg/RadarEgoVelocityEstimator.cfg 398B
  58. reve/radar_ego_velocity_estimator/cfg/cfg_radar_ego_velocity_estimation/
  59. reve/radar_ego_velocity_estimator/cfg/cfg_radar_ego_velocity_estimation/__init__.py
  60. reve/radar_ego_velocity_estimator/cfg/cfg_radar_ego_velocity_estimation/radar_ego_velocity_estimator.py 3.15KB
  61. reve/radar_ego_velocity_estimator/cfg/cfg_radar_ego_velocity_estimation/__pycache__/
  62. reve/radar_ego_velocity_estimator/cfg/cfg_radar_ego_velocity_estimation/__pycache__/__init__.cpython-38.pyc 206B
  63. reve/radar_ego_velocity_estimator/cfg/cfg_radar_ego_velocity_estimation/__pycache__/radar_ego_velocity_estimator.cpython-38.pyc 2.75KB
  64. reve/radar_ego_velocity_estimator/config/
  65. reve/radar_ego_velocity_estimator/config/params_demo_dataset.yaml 1.83KB
  66. reve/radar_ego_velocity_estimator/include/
  67. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/
  68. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/data_types.h 3.12KB
  69. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/math_helper.h 1.12KB
  70. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/odr.h 2.42KB
  71. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/radar_body_velocity_estimator.h 2.35KB
  72. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/radar_body_velocity_estimator_ros.h 4.14KB
  73. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/radar_ego_velocity_estimator.h 7.21KB
  74. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/radar_ego_velocity_estimator_ros.h 3.66KB
  75. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/radar_point_cloud.h 1.8KB
  76. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/ros_helper.h 1.9KB
  77. reve/radar_ego_velocity_estimator/include/radar_ego_velocity_estimator/simple_profiler.h 3.35KB
  78. reve/radar_ego_velocity_estimator/launch/
  79. reve/radar_ego_velocity_estimator/launch/demo_rio_body_velocity.launch 2.35KB
  80. reve/radar_ego_velocity_estimator/launch/demo_rio_ego_velocity.launch 2.45KB
  81. reve/radar_ego_velocity_estimator/launch/demo_ti_mmwave_body_velocity.launch 2.36KB
  82. reve/radar_ego_velocity_estimator/launch/demo_ti_mmwave_ego_velocity.launch 2.23KB
  83. reve/radar_ego_velocity_estimator/python/
  84. reve/radar_ego_velocity_estimator/python/velocity_estimation_evaluator.py 5.7KB
  85. reve/radar_ego_velocity_estimator/src/
  86. reve/radar_ego_velocity_estimator/src/odr.cpp 10.99KB
  87. reve/radar_ego_velocity_estimator/src/radar_body_velocity_estimator.cpp 6.39KB
  88. reve/radar_ego_velocity_estimator/src/radar_body_velocity_estimator_ros.cpp 8.45KB
  89. reve/radar_ego_velocity_estimator/src/radar_ego_velocity_estimator.cpp 17.14KB
  90. reve/radar_ego_velocity_estimator/src/radar_ego_velocity_estimator_ros.cpp 6.76KB
  91. reve/radar_ego_velocity_estimator/src/radar_point_cloud.cpp 7.08KB
  92. reve/radar_ego_velocity_estimator/src/simple_profiler.cpp 5.03KB
  93. reve/radar_ego_velocity_estimator/src/nodes/
  94. reve/radar_ego_velocity_estimator/src/nodes/radar_body_velocity_estimation_ros_node.cpp 1.17KB
  95. reve/radar_ego_velocity_estimator/src/nodes/radar_body_velocity_estimation_rosbag_node.cpp 1.74KB
  96. reve/radar_ego_velocity_estimator/src/nodes/radar_ego_velocity_estimation_ros_node.cpp 1.16KB
  97. reve/radar_ego_velocity_estimator/src/nodes/radar_ego_velocity_estimation_rosbag_node.cpp 1.73KB
  98. reve/radar_ego_velocity_estimator/src/odrpack/
  99. reve/radar_ego_velocity_estimator/src/odrpack/d_lpk.f 38.84KB
  100. reve/radar_ego_velocity_estimator/src/odrpack/d_mprec.f 5.3KB
  101. reve/radar_ego_velocity_estimator/src/odrpack/d_odr.f 359.26KB
  102. reve/radar_ego_velocity_estimator/src/odrpack/d_test.f 69.1KB
  103. reve/radar_ego_velocity_estimator/src/odrpack/dlunoc.f 260B
  104. reve/radar_ego_velocity_estimator/src/odrpack/lpkbls.f 68.77KB
  105. reve/radar_ego_velocity_estimator/src/odrpack/odrpack_guide.pdf 550.31KB
  106. reve/radar_ego_velocity_estimator/src/odrpack/real_precision.f 172B
  107. reve/res/
  108. reve/res/demo_rio_format_v_body.jpeg 198.86KB
  109. reve/res/demo_rio_format_v_body_err.jpeg 250.92KB
  110. reve/res/demo_rio_format_v_radar.jpeg 194.55KB

资源介绍:

github上的免费下载 雷达自我速度估计:使用 RANSAC 和最小二乘法的 C++ 实现 在自动驾驶和机器人领域,雷达传感器是一种重要的设备,用于检测物体的位置和速度。本文将介绍如何通过 C++ 代码实现雷达自我速度估计。我们的实现结合了 RANSAC(随机采样一致性算法)和最小二乘法,以在含噪声的数据中进行鲁棒的速度估计。 代码结构 本文的代码实现包含两个主要部分: estimate 函数:处理雷达扫描数据并进行速度估计。 solve3DFullRansac 和 solve3DFull 函数:使用 RANSAC 和最小二乘法进行速度估计。
# REVE - Radar Ego Velocity Estimator REVE - Radar Ego Velocity Estimator is an efficient C++ implementation for ego velocity estimation using radar scans. Such scans (=3D point cloud) can be measured using modern mmWave radar sensors. Allows for robust and accurate ego velocity estimation even in challenging conditions (darkness, fog, smoke) as radar is not affected by such conditions! ### Highlights - Robust and accurate 3D radar ego velocity estimation - Estimation in the radar frame or a body frame defined by an IMU - Supports the [rio](https://github.com/christopherdoer/rio) and the ti_mmwave_rospkg point cloud format - Radar trigger signals can be used for better synchronization - Super fast: <0.25ms processing time per radar scan The 3D radar ego velocity is estimated with a 3-Point RANSAC Least Squares approach. It requires a single radar scan (=3D point cloud) only making use of the direction and Doppler velocity of each detected object. Thus, no scan matching is required resulting in robust velocity estimation even with high dynamics or difficult scenes with many reflections. In addition, the variances of the resulting 3D ego velocity are estimated as well enabling subsequent fusion. This approach was evaluated in indoor and outdoor environments for low and high dynamic motion achieving very accurate motion estimation as shown in the demo result. This package provides also a node which estimates the body frame velocity defined by an IMU using the measured angular velocity and extrinsic calibration (body frame to radar frame transform). ## Cite If you use REVE for your academic research, please cite our related [paper](https://christopherdoer.github.io/publication/2020_09_MFI2020): ~~~[bibtex] @INPROCEEDINGS{DoerMFI2020, author={Doer, Christopher and Trommer, Gert F.}, booktitle={2020 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI)}, title={An EKF Based Approach to Radar Inertial Odometry}, year={2020}, pages={152-159}, doi={10.1109/MFI49285.2020.9235254}} ~~~ ## Demo Result The demo dataset [demo_rio_format](demo_datasets/demo_rio_format.bag) is a low dynamic dataset featuring radar scans and ground truth for the body velocity. Mean runtime to process a single radar scan on an Intel NUC i7-8650U is just 0.15 milliseconds. ### Radar Ego Velocity Estimation Estimation of the radar ego velocity expressed in the radar coordinate frame. ![image](./res/demo_rio_format_v_radar.jpeg) ### Radar Body Velocity Estimation Estimation of the body frame velocity v_b defined by an IMU. The radar ego velocity is transformed into the body frame using rigid body motion making use of the extrinsic transform of the radar sensor. This includes the translation and rotational part and has to be initially calibrated e.g. using [rio](https://github.com/christopherdoer/rio). The resulting v_b can be used for further fusion using e.g. a Kalman filter. ![image](./res/demo_rio_format_v_body.jpeg) ![image](./res/demo_rio_format_v_body_err.jpeg) Error analysis of the body-frame velocity in [m/s]: - Mean error: 0.002, -0.002, 0.006 - Mean absolute error: 0.018, 0.039, 0.053 - Mean error norm: 0.078 - STD: 0.027, 0.058, 0.083 ## Run the Demos Run the radar ego velocity demo launch file and generate the upper plot shown above: ~~~[shell] roslaunch radar_ego_velocity_estimator demo_rio_ego_velocity.launch mode:=rosbag ~~~ Run the body velocity demo launch file with evaluation generating the two lower plots: ~~~[shell] roslaunch radar_ego_velocity_estimator demo_rio_body_velocity.launch mode:=rosbag ~~~ Run the body velocity estimation in online mode: ~~~[shell] roslaunch radar_ego_velocity_estimator demo_rio_body_velocity.launch mode:=ros rosbag play --clock demo_rio_format.bag ~~~ Run the radar ego velocity ti_mmwave_rospkg demo: ~~~[shell] roslaunch radar_ego_velocity_estimator demo_ti_mmwave_ego_velocity.launch mode:=rosbag ~~~ Run the body velocity ti_mmwave_rospkg demo: ~~~[shell] roslaunch radar_ego_velocity_estimator demo_ti_mmwave_body_velocity.launch mode:=rosbag ~~~ ## Getting Started REVE supports: - Ubuntu 16.04 and ROS Kinetic - Ubuntu 18.04 and ROS Melodic - Ubuntu 20.04 and ROS Noetic REVE depends on: - [catkin_simple](https://github.com/catkin/catkin_simple.git) - [catkin_tools](https://catkin-tools.readthedocs.io/en/latest/) (for convenience) **Build in Release is highly recommended**: ~~~[shell] catkin build radar_ego_velocity_estimator --cmake-args -DCMAKE_BUILD_TYPE=Release ~~~ ## ROS Nodes The radar_ego_velocity_estimator_ros node is a ros interface for pure radar ego velocity estimation. The radar_body_velocity_estimator_ros node is a ros interface for the body velocity estimation. Both nodes can operate in two modes: - ros-mode: All topics are read using subscriber - rosbag-mode: A given rosbag in processed at maximum processing speed Configuration is done using dynamic reconfigure and can be adapted online using rqt_reconfigure. Check out the default parameter file [here](./radar_ego_velocity_estimator/cfg/cfg_radar_ego_velocity_estimation/radar_ego_velocity_estimator.py). ## License The source code is released under the [GPLv3](http://www.gnu.org/licenses/) license.
100+评论
captcha