diff --git a/README.md b/README.md index 0de3e69..c575548 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,25 @@ ### ROS 1 User * Install Ubuntu 20.04 and ROS NOETIC -* Checkout the master branch -* Please catkin build [SFUISE](https://github.com/ASIG-X/SFUISE) in your workspace to have the cf_msg, which is required in gptr. -* Please install Ceres 2.0 and sophus +* Please install depencies, including Ceres Solver (1.14) and sophus ``` sudo apt install libfmt-dev # may be required as a dependency of sophus sudo apt install ros-noetic-sophus sudo apt install libceres-dev ``` -* Git clone and catkin build the repo. +* Create a catkin workspace with [SFUISE](https://github.com/ASIG-X/SFUISE) (main branch) for the `cf_msgs` dependency, and [GPTR](https://github.com/brytsknguyen/gptr) (master branch) + ``` + mkdir -p ~/gptr_ws/src && cd ~/gptr_ws + catkin init + cd src + git clone git@github.com:ASIG-X/SFUISE.git + git clone git@github.com:brytsknguyen/gptr.git + ``` +* Build the repo: + ``` + cd ~/gptr_ws + catkin build gptr + ``` ### ROS 2 User * Install Ubuntu 22.04 and ROS HUMBLE @@ -42,7 +52,13 @@ Please raise an issue should you encounter any issue with the compilation of the You can download and unzip the file `cloud_avia_mid_dynamic_extrinsics` from [here](https://drive.google.com/file/d/1Q5fTn5OvWd_I2RvVfiUKir90q5HshzQM/view?usp=sharing). It contains the pointclouds and the prior map for the experiment. -After that, modify the path to the data and prior map in `run_sim.launch` and launch it. You should see the following visualization from rviz. +Launch the experiment with `run_lio_sim.launch`, ensuring that you set the path to the extracted folder correctly. +``` +source ~/gptr_ws/devel/setup.bash +roslaunch gptr run_lio_sim.launch path:=/path/to/cloud_avia_mid_dynamic_extrinsics +``` + +You should see the following visualization in rviz. synthetic_exp @@ -50,7 +66,13 @@ After that, modify the path to the data and prior map in `run_sim.launch` and la Similar to the synthetic dataset, please download the data and the prior map from [here](https://drive.google.com/file/d/1QId8X4LFxYdYewHSBXiDEAvpIFD8w-ei/view?usp=sharing). -Then specify the paths to the data and prior map in `gptr/launch/run_lio_cathhs_iot.launch` before roslaunch. You should see the following illustration. +Launch the experiment with `run_lio_cathhs_iot.launch`, ensuring that you set the path to the extracted folder correctly. +``` +source ~/gptr_ws/devel/setup.bash +roslaunch gptr run_lio_cathhs_iot.launch path:=/path/to/cathhs_07 +``` + +You should see the following visualization in rviz. cathhs_exp @@ -64,11 +86,9 @@ Please use the scripts `analysis_cathhs.ipynb` and `analysis_sim.ipynb` to evalu Please download the [UTIL](https://utiasdsl.github.io/util-uwb-dataset/) (TDoA-inertial) dataset. -Change `bag_file` and `anchor_path` in `gptr/launch/run_util.launch` according to your own path. - -For ROS1 users, please run +For ROS1 users, please run with the correct path to the directory containing the extracted dataset: ``` -roslaunch gptr run_util.launch +roslaunch gptr run_util.launch path:=/path/to/UTIL ``` For ROS2 users, please first convert the UTIL dataset to ROS2 bag using `ros2bag_convert_util.sh` from [SFUISE2](https://github.com/ASIG-X/SFUISE2) and run ``` @@ -87,10 +107,10 @@ For comparison, a baseline approach based on ESKF is available in the paper of U ## Testing on visual-inertial estimation and calibration -Run the following command from terminal +Run the following command from terminal, changing the path as desired: ``` -roslaunch gptr run_vicalib.launch +roslaunch gptr run_vicalib.launch result_save_path:=/path/to/results ``` This dataset is converted from the original one in [here](https://gitlab.com/tum-vision/lie-spline-experiments). diff --git a/gptr/launch/gptr_ui.rviz b/gptr/launch/gptr_ui.rviz index ab871e9..5595206 100644 --- a/gptr/launch/gptr_ui.rviz +++ b/gptr/launch/gptr_ui.rviz @@ -10,7 +10,7 @@ Panels: - /ground_truth1/Shape1 - /Odometry1/Shape1 Splitter Ratio: 0.5 - Tree Height: 746 + Tree Height: 1239 - Class: rviz/Selection Name: Selection - Class: rviz/Tool Properties @@ -228,7 +228,7 @@ Visualization Manager: Views: Current: Class: rviz/Orbit - Distance: 0.0010668616741895676 + Distance: 7.582653522491455 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 @@ -236,25 +236,25 @@ Visualization Manager: Value: false Field of View: 0.7853981852531433 Focal Point: - X: -0.13623669743537903 - Y: -1.8856688737869263 - Z: 1.7679803371429443 + X: 0 + Y: 0 + Z: 0 Focal Shape Fixed Size: true Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.45039811730384827 + Pitch: 0.49539807438850403 Target Frame: - Yaw: 3.418574810028076 + Yaw: 3.4635751247406006 Saved: ~ Window Geometry: Displays: collapsed: false - Height: 1043 + Height: 1536 Hide Left Dock: false Hide Right Dock: true - QMainWindow State: 000000ff00000000fd00000004000000000000015600000375fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f00700065007200740069006500730200000780000004e800000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000375000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002b0fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d000002b0000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d0065010000000000000780000003bc00fffffffb0000000800540069006d00650100000000000004500000000000000000000006240000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000015600000562fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f00700065007200740069006500730200000780000004e800000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000562000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000562fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d00000562000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009b80000003efc0100000002fb0000000800540069006d00650100000000000009b8000003bc00fffffffb0000000800540069006d006501000000000000045000000000000000000000085c0000056200000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -263,6 +263,6 @@ Window Geometry: collapsed: false Views: collapsed: true - Width: 1920 - X: 0 - Y: 1256 + Width: 2488 + X: 1992 + Y: 861 diff --git a/gptr/launch/run_lio_cathhs_iot.launch b/gptr/launch/run_lio_cathhs_iot.launch index f7121f4..2b120a8 100644 --- a/gptr/launch/run_lio_cathhs_iot.launch +++ b/gptr/launch/run_lio_cathhs_iot.launch @@ -11,8 +11,11 @@ + + + - + @@ -23,7 +26,7 @@ 0.2, 0, -0.2, 0, 90, 0 ]"/> - + --> - + @@ -138,4 +141,4 @@ - \ No newline at end of file + diff --git a/gptr/launch/run_lio_sim.launch b/gptr/launch/run_lio_sim.launch index 5ce1790..c989431 100644 --- a/gptr/launch/run_lio_sim.launch +++ b/gptr/launch/run_lio_sim.launch @@ -8,8 +8,11 @@ + + + - + @@ -19,7 +22,7 @@ -0.3, -0.3, 0.55, -134, 0, 0 ]"/> - + --> - + @@ -130,4 +133,4 @@ - \ No newline at end of file + diff --git a/gptr/launch/run_util.launch b/gptr/launch/run_util.launch index 4122b6e..fd883a7 100644 --- a/gptr/launch/run_util.launch +++ b/gptr/launch/run_util.launch @@ -2,9 +2,10 @@ - - - + + + + @@ -50,4 +51,4 @@ args="--clock $(arg bag_file) -r 0.5 -s 0.0" launch-prefix="bash -c 'sleep 1.0; $0 $@' "/> - \ No newline at end of file + diff --git a/gptr/package.xml b/gptr/package.xml index 0352fa2..38ad712 100644 --- a/gptr/package.xml +++ b/gptr/package.xml @@ -53,12 +53,14 @@ rospy std_msgs sophus + cf_msgs roscpp rospy std_msgs roscpp rospy std_msgs + cf_msgs