This repo reproduces the code for the paper PhaRaO: Direct Radar Odometry using Phase Correlation. Although the original paper is based on iSAM, this release integrate the code with gtSAM.
-
ROS The code has been tested using ROS Noetic
-
GTSAM Use develop branch.
-
FFTW3 (fftw-3.3.10 version is recommended for ubuntu 20.04)
We need normal installation followed by float option installed. We need both
FFTW3Config.cmake
file andFFTW3fConfig.cmake
. So first compile without float option.$ cmake .
$ ./configure --enable-shared --enable-threads --enable-float
$ make
$ sudo make installThen, do the same thing with the float option on.
$ cmake .
$ ./configure --enable-shared --enable-threads --enable-float
$ make
$ sudo make installIf FFTW3LibraryDepend.cmake file-related error occurred, try the below lines. Check this issue
$ sudo cp FFTW3LibraryDepends.cmake /usr/local/lib/cmake/fftw3/
-
Download Radar Data samples (ex. MulRan)
-
Generate your own catkin workspace & Go to your src folder
mkdir ~/catkin_ws cd ~/catkin_ws mkdir src cd src
-
Download the source file for PhaRaO
git clone https://github.com/hyesu-jang/PhaRaO_gtsam.git
-
Compile the source file
cd ~/catkin_ws catkin_make
-
Launch File Player Module(MulRan for example)
roslaunch file_player file_player.launch
-
Run the PhaRaO roslaunch file
roslaunch pharao_gtsam radar_odom.launch
5-1. Or run by PhaRaO node and rviz
rosrun pharao_gtsam pharao_gtsam_node
rviz -d ~/catkin_ws/src/PhaRaO_gtsam/rviz/odom.rviz
5-2. Saving result trajectory
Enable save flag "True"
<param name="save_results_flag" value="false" />
If your bag file fails to generate odometry, revise the parameter in the file radar_odom.launch
Hyesu Jang (dortz at snu dot ac dot kr) Yeong Sang Park (pys0728k at gmail dot com)