![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged radar_odom at Robotics Stack Exchange
![]() |
radar_odom package from 4d-radar-odom reporadar_odom |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | Apache-2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | 4D-Radar-Odom is an open-source ROS2 Humble package for estimating 3D odometry using 4D radar and IMU data. It is designed to operate in challenging environments where traditional sensors like LiDAR or cameras may fail. |
Checkout URI | https://github.com/robotics-upo/4d-radar-odom.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-06-18 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- upo
Authors
Table of Contents
About The Project
Radar_Odom is an open-source ROS2 Humble package designed to estimate the trajectory of a ground vehicle equipped with a 4D radar (x, y, z, Doppler) and an IMU. It is a 3D odometry system aimed at contributing to the development of odometry algorithms in adverse situations where commonly used sensors such as LiDAR, cameras, etc., are not applicable, for instance, in environments with fog or rain.
The Radar_Odom
package is structured around two main nodes that work together to estimate the vehicle’s trajectory using radar and IMU data.
1. Filtering & Doppler Velocity Estimation Node
This node processes data from both the radar and the IMU. It performs several tasks:
- PointCloud Preprocessing: Prepares and filters the raw radar data.
- Doppler-Based Velocity Estimation: Estimates the vehicle’s ego-velocity by leveraging the Doppler effect detected at radar points.
- Outliers Rejection: Uses techniques like RANSAC to detect and exclude non-physically feasible movements and dynamic objects (e.g., moving vehicles or pedestrians), ensuring only static elements contribute to the final velocity estimation.
2. Optimization Node
Once the radar and IMU data have been refined, this node handles:
- Pose Estimation: Using the ego-velocity and IMU data, the node estimates the vehicle’s pose.
- KeyFrame Management: Manages key frames and ensures optimization over a sliding window.
- Graph Construction & Optimization: Builds and optimizes a graph of the vehicle’s poses using scan matching (GICP) and IMU constraints.
This process ensures the vehicle’s trajectory is continuously updated and optimized. The nodes work together to provide accurate pose estimation even in challenging environments where traditional sensors may not perform well.
Getting Started
System Requirements
- Ubuntu 22.04 (Jammy)
- ROS2 Humble
Step 1: Install ROS2 Humble
Before you begin, make sure you have ROS2 Humble installed on your system. If you haven’t installed it yet, you can follow the official ROS2 installation guide for your platform. This guide will walk you through the steps necessary to set up the core ROS2 environment.
Step 2: Install Required ROS2 Packages
In addition to the basic ROS2 installation, the following packages are needed for this project. These are typically included in a standard ROS2 setup, but it’s always good to check if they are present on your system:
tf2_eigen
pcl_conversions
pcl_ros
tf2_ros
tf2_geometry_msgs
You can install these packages using the following command if they are not already available on your system:
sudo apt install ros-humble-tf2-eigen ros-humble-pcl-conversions ros-humble-pcl-ros ros-humble-tf2-ros ros-humble-tf2-geometry-msgs
Step 3: Install External Libraries
Besides the ROS2 packages, this project depends on several external libraries that you may need to install manually. These libraries include Eigen3 for linear algebra operations, Ceres Solver for optimization, PCL (Point Cloud Library) for point cloud processing, and OpenCV for image and matrix operations.
To install these external libraries, simply copy and run the following command in your terminal:
sudo apt install libeigen3-dev libceres-dev libpcl-dev libopencv-dev || true
This command will install the necessary external dependencies, and if any of them are already installed, the installation process will simply ignore them and continue without issues.
Installation
Follow these steps to install the radar_odom
package:
- Clone the repository
mkdir radar_odom
cd pose_slam
git clone https://github.com/LuciaCoto/Radar_Odom.git .
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
rclcpp | |
geometry_msgs | |
sensor_msgs | |
nav_msgs | |
tf2_ros | |
tf2_geometry_msgs | |
tf2 | |
pcl_ros | |
Eigen3 | |
ceres-solver |