├── .gitignore ├── .gitmodules ├── LICENSE.BSD ├── README.md ├── cobra_https.rosinstall ├── cobra_ssh.rosinstall ├── docker ├── Dockerfile_jetson ├── Dockerfile_x86 ├── install_Open3d.sh ├── kitware_archive.sh └── segnet │ └── requirements.txt ├── docs ├── Doxyfile └── media │ ├── IADC_logo.png │ ├── cobra_logo.png │ ├── hercules_hkust.png │ ├── hkust.png │ ├── hkust_only_pattern.png │ ├── hkustgz_logo.png │ ├── r3live_SLAM.gif │ ├── r3live_nvblox_Mapping.gif │ ├── result_mesh_2013_05_28_drive_0003_sync.gif │ ├── result_mesh_fusionportable.gif │ ├── result_mesh_semantickitti07.gif │ ├── result_navigation_sequence01_test_1_5x.gif │ └── result_semanticfusionportable_sequence01_4x_playrate.gif ├── rviz_cfg ├── cobra_fusionportable.perspective ├── cobra_fusionportable.rviz ├── cobra_kitti360.rviz └── cobra_semantickitti.rviz └── scripts ├── run_cobra_fusionportable.sh ├── run_cobra_semanticfusionportable.sh └── run_cobra_semantickitti.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/pointcloud_image_converter"] 2 | path = src/pointcloud_image_converter 3 | url = git@github.com:gogojjh/pointcloud_image_converter.git 4 | [submodule "src/r3live"] 5 | path = src/r3live 6 | url = git@github.com:hku-mars/r3live.git 7 | [submodule "src/glimpse_nvblox_ros1"] 8 | path = src/glimpse_nvblox_ros1 9 | url = git@github.com:gogojjh/glimpse_nvblox_ros1.git 10 | [submodule "src/hkustgz_segnet"] 11 | path = src/hkustgz_segnet 12 | url = git@github.com:gogojjh/hkustgz_segnet.git -------------------------------------------------------------------------------- /LICENSE.BSD: -------------------------------------------------------------------------------- 1 | Copyright 2019 Massachusetts Institute of Technology. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 7 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 9 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 | cobra 4 | 5 |
6 | 7 | # Cobra 8 | 9 | Cobra is a C++ library for metric-semantic-driven navigation in both unstructured and structured environments for mobile robots. Cobra is modular, ROS-enabled, and runs on CPU+GPU. 10 | 11 | Cobra comprises three **modules**: 12 | - A fast and accurate LiDAR-Vision-Inertial Odometry (LVIO) ([Cobra-State-Estimation](http://github.com/hku-mars/r3live)) 13 | - A semantic segmentation (perception) module (high-performance) ([Cobra-Semantics](http://github.com/gogojjh/hkustgz_segnet)) 14 | - A metric-semantic dense mapping system ([Cobra-Mapping](http://github.com/gogojjh/nvblox)) 15 | and its ROS-enabled plugins ([Cobra-ROS-Mapping](http://github.com/gogojjh/glimpse_nvblox_ros1)) 16 | 17 | 18 | 19 | ## 1. Installation 20 | Clone the code 21 | ```shell script 22 | mkdir -p catkin_ws/src 23 | cd catkin_ws/src 24 | git clone git@github.com:gogojjh/cobra.git --recursive 25 | wstool merge cobra/cobra_https.rosinstall 26 | wstool update 27 | cd cobra 28 | ``` 29 | Build the docker environment **(X86 PC)**: change the cuda version of **Dockerfile_x86** (first line) for you GPU 30 | ```shell script 31 | docker build -t cobra_x86:ros_noetic-py3-torch-cuda -f docker/Dockerfile_x86 . 32 | ``` 33 | Build the docker environment **(Jetson - ARM PC)** 34 | ```shell script 35 | docker build -t cobra_jetson:ros_noetic-py3-torch-jetpackr35 -f docker/Dockerfile_jetson . 36 | ``` 37 | Create the docker container 38 | ```shell script 39 | nvidia-docker run -e DISPLAY -v ~/.Xauthority:/root/.Xauthority:rw --network host \ 40 | -v /tmp/.X11-unix:/tmp/.X11-unix:rw \ 41 | -v volume_path_to_host:volume_path_to_docker \ 42 | --privileged --cap-add sys_ptrace \ 43 | -it --name cobra cobra_x86:ros_noetic-py3-torch-cuda \ 44 | /bin/bash 45 | ``` 46 | Compile the nvblox 47 | ```shell script 48 | cd src/glimpse_nvblox_ros1/nvblox/nvblox 49 | mkdir build && cd build && cmake .. && make -j3 50 | ``` 51 | Complie other packages 52 | ```shell script 53 | catkin build pointcloud_image_converter nvblox_ros nvblox_rviz_plugin -DCMAKE_BUILD_TYPE=Release 54 | ``` 55 | 56 | ## 2. Open-Source Datasets 57 | 58 | We release an open-source dataset in [Google Drive](https://drive.google.com/drive/folders/160aA4naMKBFRpjt8f0LUYCYSrWYrER5G?usp=sharing) for real-world tests. The dataset provides: 59 | - 3D LiDAR 60 | - IMU data 61 | - Estimated Odometry 62 | - (Optional: Image) 63 | - (Optional: Estimated 2D Semantic Segmentation) 64 | 65 | ## 3. Results 66 | NOTE: set ```max_mesh_update_time``` as the mesh publish frequency and save mesh to ```/tmp/mesh_nvblox.ply``` in ```launch``` files 67 | 68 | **Mapping**: SemanticKITTI Sequence07 (LiDAR-based semantics) 69 | 70 | ``` 71 | roslaunch nvblox_ros nvblox_lidar_ros_semantickitti.launch bag_file:=semantickitti_sequence07.bag 72 | ``` 73 |
74 | 75 | result_mesh_semantickitti07 77 | 78 |
79 | 80 | 91 | 92 | **Mapping**: FusionPortable (With Image-based semantics) 93 | ``` 94 | roslaunch nvblox_ros nvblox_lidar_ros_semanticfusionportable.launch bag_file:=20230403_hkustgz_vegetation_sequence00_r3live_semantics_framecam00.bag 95 | ``` 96 |
97 | 98 | result_semanticfusionportable_sequence01_4x_playrate 100 | 101 |
102 | 103 | ``` 104 | roslaunch nvblox_ros nvblox_lidar_ros_semanticfusionportable.launch bag_file:=20220226_campus_road_day_r3live_semantics_framecam00.bag 105 | ``` 106 |
107 | 108 | result_mesh_fusionportable 110 | 111 |
112 | 113 | **Navigation**: 114 |
115 | 116 | result_navigation_sequence01_test_1_5x 118 | 119 |
120 | 121 | 122 | ## Citation 123 | 124 | If you found any of the above modules useful, we would really appreciate if you could cite our work: 125 | 126 | ```bibtex 127 | @article{jiao2024real, 128 | title={Real-Time Metric-Semantic Mapping for Autonomous Navigation in Outdoor Environments}, 129 | author={Jiao, Jianhao and Geng, Ruoyu and Li, Yuanhang and Xin, Ren and Yang, Bowen and Wu, Jin and Wang, Lujia and Liu, Ming and Fan, Rui and Kanoulas, Dimitrios}, 130 | journal={IEEE Transactions on Automation Science and Engineering}, 131 | year={2024}, 132 | publisher={IEEE} 133 | } 134 | ``` 135 | 136 | Dataset: 137 | ```bibtex 138 | @inproceedings{jiao2022fusionportable, 139 | title={FusionPortable: A Multi-Sensor Campus-Scene Dataset for Evaluation of Localization and Mapping Accuracy on Diverse Platforms}, 140 | author={Jiao, Jianhao and Wei, Hexiang and Hu, Tianshuai and Hu, Xiangcheng and Zhu, Yilong and He, Zhijian and Wu, Jin and Yu, Jingwen and Xie, Xupeng and Huang, Huaiyang and others}, 141 | booktitle={2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, 142 | pages={3851--3856}, 143 | year={2022}, 144 | organization={IEEE} 145 | } 146 | ``` 147 | 148 | ## Acknowledgments 149 | 150 | ## License 151 | 152 | [BSD License](LICENSE.BSD) 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | -------------------------------------------------------------------------------- /cobra_https.rosinstall: -------------------------------------------------------------------------------- 1 | - git: 2 | local-name: catkin_simple 3 | uri: https://github.com/ethz-asl/catkin_simple.git 4 | - git: 5 | local-name: ceres_catkin 6 | uri: https://github.com/ethz-asl/ceres_catkin.git 7 | - git: 8 | local-name: eigen_catkin 9 | uri: https://github.com/ethz-asl/eigen_catkin.git 10 | - git: 11 | local-name: gflags_catkin 12 | uri: https://github.com/ethz-asl/gflags_catkin.git 13 | - git: 14 | local-name: glog_catkin 15 | uri: https://github.com/ethz-asl/glog_catkin.git 16 | - git: 17 | local-name: yaml_cpp_catkin 18 | url: https://github.com/ethz-asl/yaml_cpp_catkin.git -------------------------------------------------------------------------------- /cobra_ssh.rosinstall: -------------------------------------------------------------------------------- 1 | - git: 2 | local-name: catkin_simple 3 | uri: git@github.com:ethz-asl/catkin_simple.git 4 | - git: 5 | local-name: ceres_catkin 6 | uri: git@github.com:ethz-asl/ceres_catkin.git 7 | - git: 8 | local-name: eigen_catkin 9 | uri: git@github.com:ethz-asl/eigen_catkin.git 10 | - git: 11 | local-name: gflags_catkin 12 | uri: git@github.com:ethz-asl/gflags_catkin.git 13 | - git: 14 | local-name: glog_catkin 15 | uri: git@github.com:ethz-asl/glog_catkin.git 16 | - git: 17 | local-name: yaml_cpp_catkin 18 | url: git@github.com:ethz-asl/yaml_cpp_catkin.git -------------------------------------------------------------------------------- /docker/Dockerfile_jetson: -------------------------------------------------------------------------------- 1 | ###################################### 2 | ###### Dockerfile for Cobra 3 | ###################################### 4 | FROM nvcr.io/nvidia/l4t-jetpack:r35.2.1 5 | LABEL maintainer="gogojjh " 6 | 7 | ############### Basic Ubuntu command 8 | # TZData goes first. 9 | RUN apt-get update 10 | ARG DEBIAN_FRONTEND=noninteractive 11 | ENV TZ=Asia/Shanghai 12 | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 13 | RUN apt-get -y install tzdata 14 | 15 | RUN mkdir -p /usr/app 16 | RUN apt-get update && apt-get install -y \ 17 | libatlas-base-dev \ 18 | libeigen3-dev \ 19 | libgoogle-glog-dev \ 20 | libsuitesparse-dev \ 21 | libtool \ 22 | libgoogle-glog-dev \ 23 | libgtest-dev \ 24 | curl \ 25 | libsqlite3-dev \ 26 | ssh \ 27 | git \ 28 | jq \ 29 | gnupg \ 30 | apt-utils \ 31 | software-properties-common \ 32 | build-essential \ 33 | nfs-common \ 34 | locate \ 35 | vim \ 36 | git \ 37 | gdb 38 | RUN apt install -y \ 39 | cmake 40 | 41 | ############### Jetson configuration 42 | RUN wget -qO - https://apt.kitware.com/keys/kitware-archive-latest.asc | sudo apt-key add - 43 | RUN apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' 44 | RUN apt-get update 45 | RUN apt-get install cmake python3-pip -y 46 | RUN export OPENBLAS_CORETYPE=ARMV8 47 | 48 | # Install ROS-Noetic 49 | RUN sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list' 50 | RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - 51 | RUN apt update && apt install -y ros-noetic-ros-base 52 | RUN bash /opt/ros/noetic/setup.bash 53 | RUN apt install -y \ 54 | python3-rosdep \ 55 | python3-rosinstall \ 56 | python3-rosinstall-generator \ 57 | python3-wstool \ 58 | build-essential \ 59 | python3-rosdep \ 60 | python3-pip \ 61 | python3-setuptools 62 | RUN rosdep init 63 | RUN rosdep update 64 | ENV ROS_DISTRO=noetic 65 | 66 | # Install catkin_build 67 | RUN apt-get install -y wget 68 | RUN wget http://packages.ros.org/ros.key -O - | apt-key add - 69 | RUN apt-get -y install python3-catkin-tools 70 | 71 | ############### Nvblox (Mapping) 72 | # Upgrade cmake to 3.23.2 73 | # We need this to build with c++17 under CMAKE. 74 | # NOTE: The commands below are taken from isaac_ros_common/docker/Dockerfile.aarch64 75 | RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null \ 76 | && echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null \ 77 | && apt-get update \ 78 | && rm /usr/share/keyrings/kitware-archive-keyring.gpg \ 79 | && apt-get install -y kitware-archive-keyring \ 80 | && apt-get remove -y cmake && apt-get purge -y cmake && apt-get remove -y cmake-data && apt-get purge -y cmake \ 81 | && apt-get install -y cmake=3.23.2-0kitware1ubuntu20.04.1 cmake-data=3.23.2-0kitware1ubuntu20.04.1 \ 82 | && cmake --version \ 83 | && rm -rf /var/lib/apt/lists/* \ 84 | && apt-get clean 85 | 86 | # Install gtest 87 | RUN cd /usr/app && git clone https://github.com/google/googletest 88 | RUN cd /usr/app/googletest && cmake . && cmake --build . --target install 89 | ENV DEBIAN_FRONTEND teletype 90 | 91 | # ############### R3LIVE (SLAM) 92 | RUN apt-get update && apt-get install -y \ 93 | ros-${ROS_DISTRO}-pcl-ros \ 94 | ros-${ROS_DISTRO}-tf-conversions \ 95 | ros-${ROS_DISTRO}-eigen-conversions \ 96 | ros-${ROS_DISTRO}-image-geometry \ 97 | ros-${ROS_DISTRO}-camera-info-manager \ 98 | ros-${ROS_DISTRO}-image-view \ 99 | ros-${ROS_DISTRO}-cv-bridge \ 100 | ros-${ROS_DISTRO}-tf \ 101 | ros-${ROS_DISTRO}-tf2 \ 102 | ros-${ROS_DISTRO}-tf2-eigen \ 103 | ros-${ROS_DISTRO}-tf2-ros \ 104 | ros-${ROS_DISTRO}-message-filters \ 105 | ros-${ROS_DISTRO}-image-transport \ 106 | ros-${ROS_DISTRO}-image-transport* 107 | 108 | # Install Python apt dependencies 109 | RUN apt-get install --no-install-recommends -y \ 110 | python3 \ 111 | python3-numpy \ 112 | python3-pip \ 113 | python3-vcstool \ 114 | && rm -rf /var/lib/apt/lists/* 115 | 116 | # Install Python pip dependencies 117 | RUN pip3 install --upgrade pip 118 | RUN pip3 install --upgrade \ 119 | numpy \ 120 | pytest \ 121 | setuptools \ 122 | twine \ 123 | opencv-python 124 | 125 | # Install R3LIVE-related packages 126 | RUN git clone https://github.com/Livox-SDK/Livox-SDK.git \ 127 | && cd Livox-SDK && cd build && cmake .. && make -j4 && make install\ 128 | && rm -r ../../Livox-SDK 129 | 130 | RUN apt update 131 | RUN apt-get install -y libcgal-dev pcl-tools 132 | RUN apt-get install -y libopencv-dev python3-opencv 133 | 134 | RUN mv /usr/include/flann/ext/lz4.h /usr/include/flann/ext/lz4.h.bck 135 | RUN mv /usr/include/flann/ext/lz4hc.h /usr/include/flann/ext/lz4hc.h.bck 136 | RUN ln -s /usr/include/lz4.h /usr/include/flann/ext/lz4.h 137 | RUN ln -s /usr/include/lz4hc.h /usr/include/flann/ext/lz4hc.h 138 | 139 | ############## Segnet (Segmentation) 140 | ENV DEBIAN_FRONTEND noninteractive 141 | RUN apt update && apt install -y --no-install-recommends \ 142 | git curl wget zsh tmux vim g++ 143 | 144 | RUN apt-get install -y \ 145 | ros-${ROS_DISTRO}-ros-numpy \ 146 | ros-${ROS_DISTRO}-vision-msgs 147 | 148 | RUN mkdir /usr/app/segnet_requirements 149 | COPY segnet/requirements.txt /usr/app/segnet/requirements.txt 150 | RUN pip3 install -r /usr/app/segnet/requirements.txt 151 | 152 | ############## Cobra-Planner 153 | RUN pip3 install open3d --ignore-installed PyYAML 154 | RUN pip3 install --upgrade numexpr 155 | RUN pip3 install -U g2o-python 156 | 157 | ############## Tools 158 | RUN pip3 install pandas 159 | 160 | ############## Open3D (GUI) 161 | RUN apt-get install libgl1-mesa-glx libc++1 libc++1-10 libc++abi1-10 libglfw3 libpng16-16 162 | RUN wget https://github.com/isl-org/Open3D/releases/download/v0.13.0/open3d-app-0.13.0-Ubuntu_20.04.deb 163 | RUN dpkg -i open3d-app-0.13.0-Ubuntu_20.04.deb 164 | 165 | -------------------------------------------------------------------------------- /docker/Dockerfile_x86: -------------------------------------------------------------------------------- 1 | ###################################### 2 | ###### Dockerfile for Cobra 3 | ###################################### 4 | FROM nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu20.04 5 | LABEL maintainer="gogojjh " 6 | 7 | ############### Basic Ubuntu command 8 | # TZData goes first. 9 | RUN apt-get update 10 | ARG DEBIAN_FRONTEND=noninteractive 11 | ENV TZ=Asia/Shanghai 12 | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 13 | RUN apt-get -y install tzdata 14 | 15 | RUN mkdir -p /usr/app 16 | RUN apt-get update && apt-get install -y \ 17 | libatlas-base-dev \ 18 | libeigen3-dev \ 19 | libgoogle-glog-dev \ 20 | libsuitesparse-dev \ 21 | libtool \ 22 | libgoogle-glog-dev \ 23 | libgtest-dev \ 24 | curl \ 25 | libsqlite3-dev \ 26 | ssh \ 27 | git \ 28 | jq \ 29 | gnupg \ 30 | apt-utils \ 31 | software-properties-common \ 32 | build-essential \ 33 | nfs-common \ 34 | locate \ 35 | vim \ 36 | git \ 37 | gdb 38 | RUN apt install -y \ 39 | cmake 40 | 41 | # Install ROS-Noetic 42 | RUN sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list' 43 | RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - 44 | RUN apt update && apt install -y ros-noetic-ros-base 45 | RUN bash /opt/ros/noetic/setup.bash 46 | RUN apt install -y \ 47 | python3-rosdep \ 48 | python3-rosinstall \ 49 | python3-rosinstall-generator \ 50 | python3-wstool \ 51 | build-essential \ 52 | python3-rosdep \ 53 | python3-pip \ 54 | python3-setuptools 55 | RUN rosdep init 56 | RUN rosdep update 57 | ENV ROS_DISTRO=noetic 58 | 59 | # Install catkin_build 60 | RUN apt-get install -y wget 61 | RUN wget http://packages.ros.org/ros.key -O - | apt-key add - 62 | RUN apt-get -y install python3-catkin-tools 63 | 64 | ############### Nvblox (Mapping) 65 | # Install gtest 66 | RUN cd /usr/app && git clone https://github.com/google/googletest 67 | RUN cd /usr/app/googletest && cmake . && cmake --build . --target install 68 | ENV DEBIAN_FRONTEND teletype 69 | 70 | ############### R3LIVE (SLAM) 71 | RUN apt-get update && apt-get install -y \ 72 | ros-${ROS_DISTRO}-pcl-ros \ 73 | ros-${ROS_DISTRO}-tf-conversions \ 74 | ros-${ROS_DISTRO}-eigen-conversions \ 75 | ros-${ROS_DISTRO}-image-geometry \ 76 | ros-${ROS_DISTRO}-camera-info-manager \ 77 | ros-${ROS_DISTRO}-image-view \ 78 | ros-${ROS_DISTRO}-cv-bridge \ 79 | ros-${ROS_DISTRO}-tf \ 80 | ros-${ROS_DISTRO}-tf2 \ 81 | ros-${ROS_DISTRO}-tf2-eigen \ 82 | ros-${ROS_DISTRO}-tf2-ros \ 83 | ros-${ROS_DISTRO}-message-filters \ 84 | ros-${ROS_DISTRO}-image-transport \ 85 | ros-${ROS_DISTRO}-image-transport* \ 86 | ros-${ROS_DISTRO}-roscpp-tutorials 87 | 88 | # Install Python apt dependencies 89 | RUN apt-get install --no-install-recommends -y \ 90 | python3 \ 91 | python3-numpy \ 92 | python3-pip \ 93 | python3-vcstool \ 94 | && rm -rf /var/lib/apt/lists/* 95 | 96 | # Install Python pip dependencies 97 | RUN pip3 install --upgrade pip 98 | RUN pip3 install --upgrade \ 99 | numpy \ 100 | pytest \ 101 | setuptools \ 102 | twine \ 103 | opencv-python 104 | 105 | # Install R3LIVE-related packages 106 | RUN git clone https://github.com/Livox-SDK/Livox-SDK.git \ 107 | && cd Livox-SDK && cd build && cmake .. && make -j4 && make install\ 108 | && rm -r ../../Livox-SDK 109 | 110 | RUN apt update 111 | RUN apt-get install -y libcgal-dev pcl-tools 112 | RUN apt-get install -y libopencv-dev python3-opencv 113 | 114 | RUN mv /usr/include/flann/ext/lz4.h /usr/include/flann/ext/lz4.h.bck 115 | RUN mv /usr/include/flann/ext/lz4hc.h /usr/include/flann/ext/lz4hc.h.bck 116 | RUN ln -s /usr/include/lz4.h /usr/include/flann/ext/lz4.h 117 | RUN ln -s /usr/include/lz4hc.h /usr/include/flann/ext/lz4hc.h 118 | 119 | ############### Segnet (Segmentation) 120 | ENV DEBIAN_FRONTEND noninteractive 121 | RUN apt update && apt install -y --no-install-recommends \ 122 | git curl wget zsh tmux vim g++ 123 | 124 | RUN apt-get install -y \ 125 | ros-${ROS_DISTRO}-ros-numpy \ 126 | ros-${ROS_DISTRO}-vision-msgs 127 | 128 | RUN mkdir /usr/app/segnet_requirements 129 | COPY src/HKUSTGZ_SegNet/requirements.txt /usr/app/segnet/requirements.txt 130 | RUN pip3 install -r /usr/app/segnet/requirements.txt 131 | 132 | ############### Cobra-Planner 133 | RUN pip3 install open3d --ignore-installed PyYAML 134 | RUN pip3 install --upgrade numexpr 135 | RUN pip3 install -U g2o-python 136 | 137 | ############### Tools 138 | RUN pip3 install pandas 139 | 140 | # ############### Open3D (C++) 141 | COPY docker/kitware_archive.sh /usr/app/kitware_archive.sh 142 | RUN bash /usr/app/kitware_archive.sh 143 | RUN apt install cmake -y 144 | RUN cd /usr/app/ 145 | RUN apt-get update && apt-get install -y libglfw3-dev 146 | RUN apt-get install -y \ 147 | # Open3D deps \ 148 | xorg-dev \ 149 | libglu1-mesa-dev \ 150 | python3-dev \ 151 | # Filament build-from-source deps \ 152 | libsdl2-dev \ 153 | libc++-7-dev \ 154 | libc++abi-7-dev \ 155 | ninja-build \ 156 | libxi-dev \ 157 | # OpenBLAS build-from-source deps \ 158 | gfortran \ 159 | # ML deps \ 160 | libtbb-dev \ 161 | # Headless rendering deps \ 162 | libosmesa6-dev \ 163 | # RealSense deps \ 164 | libudev-dev \ 165 | autoconf \ 166 | libtool 167 | RUN git clone https://github.com/isl-org/Open3D 168 | RUN cd Open3D && mkdir build && cd build && cmake .. && make -j4 && make install 169 | 170 | ############### Open3D (GUI) 171 | # RUN apt-get install -y libgl1-mesa-glx libc++1 libc++1-10 libc++abi1-10 libglfw3 libpng16-16 172 | # RUN wget https://github.com/isl-org/Open3D/releases/download/v0.13.0/open3d-app-0.13.0-Ubuntu_20.04.deb 173 | #RUN dpkg -i open3d-app-0.13.0-Ubuntu_20.04.deb 174 | -------------------------------------------------------------------------------- /docker/install_Open3d.sh: -------------------------------------------------------------------------------- 1 | cd / 2 | wget https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1.tar.gz \ 3 | && tar -zxf cmake-3.23.1.tar.gz && cd cmake-3.23.1 \ 4 | && sudo ./configure && make && sudo make install \ 5 | && cd ../ && rm -r cmake-3.23.1 && rm cmake-3.23.1.tar.gz 6 | 7 | sudo apt-get update && apt-get install -y libglfw3-dev 8 | sudo apt-get install -y xorg-dev libglu1-mesa-dev python3-dev libsdl2-dev libc++-7-dev libc++abi-7-dev ninja-build libxi-dev gfortran libtbb-dev libosmesa6-dev libudev-dev autoconf libtool 9 | 10 | cd / 11 | git clone https://github.com/isl-org/Open3D 12 | cd Open3D && mkdir build && cd build && cmake .. && make -j4 && make install 13 | -------------------------------------------------------------------------------- /docker/kitware_archive.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -eu 4 | 5 | help() { 6 | echo "Usage: $0 [--release ] [--rc]" > /dev/stderr 7 | } 8 | 9 | doing= 10 | rc= 11 | release= 12 | help= 13 | for opt in "$@" 14 | do 15 | case "${doing}" in 16 | release) 17 | release="${opt}" 18 | doing= 19 | ;; 20 | "") 21 | case "${opt}" in 22 | --rc) 23 | rc=1 24 | ;; 25 | --release) 26 | doing=release 27 | ;; 28 | --help) 29 | help=1 30 | ;; 31 | esac 32 | ;; 33 | esac 34 | done 35 | 36 | if [ -n "${doing}" ] 37 | then 38 | echo "--${doing} option given no argument." > /dev/stderr 39 | echo > /dev/stderr 40 | help 41 | exit 1 42 | fi 43 | 44 | if [ -n "${help}" ] 45 | then 46 | help 47 | exit 48 | fi 49 | 50 | if [ -z "${release}" ] 51 | then 52 | unset UBUNTU_CODENAME 53 | . /etc/os-release 54 | 55 | if [ -z "${UBUNTU_CODENAME+x}" ] 56 | then 57 | echo "This is not an Ubuntu system. Aborting." > /dev/stderr 58 | exit 1 59 | fi 60 | 61 | release="${UBUNTU_CODENAME}" 62 | fi 63 | 64 | case "${release}" in 65 | focal|jammy) 66 | packages= 67 | keyring_packages="ca-certificates gpg wget" 68 | ;; 69 | *) 70 | echo "Only Ubuntu Focal (20.04) and Jammy (22.04) are supported. Aborting." > /dev/stderr 71 | exit 1 72 | ;; 73 | esac 74 | 75 | get_keyring= 76 | if [ ! -f /usr/share/doc/kitware-archive-keyring/copyright ] 77 | then 78 | packages="${packages} ${keyring_packages}" 79 | get_keyring=1 80 | fi 81 | 82 | # Start the real work 83 | set -x 84 | 85 | apt-get update 86 | # shellcheck disable=SC2086 87 | apt-get install -y ${packages} 88 | 89 | test -n "${get_keyring}" && (wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - > /usr/share/keyrings/kitware-archive-keyring.gpg) 90 | 91 | echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${release} main" > /etc/apt/sources.list.d/kitware.list 92 | if [ -n "${rc}" ] 93 | then 94 | echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${release}-rc main" >> /etc/apt/sources.list.d/kitware.list 95 | fi 96 | 97 | apt-get update 98 | test -n "${get_keyring}" && rm /usr/share/keyrings/kitware-archive-keyring.gpg 99 | apt-get install -y kitware-archive-keyring 100 | -------------------------------------------------------------------------------- /docker/segnet/requirements.txt: -------------------------------------------------------------------------------- 1 | cython 2 | numpy 3 | cffi 4 | opencv-python 5 | scipy 6 | easydict 7 | matplotlib 8 | Pillow>=6.2.2 9 | torchcontrib 10 | yacs 11 | pyyaml 12 | bs4 13 | html5lib 14 | ninja 15 | einops 16 | torch 17 | torchvision 18 | einops 19 | timm 20 | wandb -------------------------------------------------------------------------------- /docs/media/IADC_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/IADC_logo.png -------------------------------------------------------------------------------- /docs/media/cobra_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/cobra_logo.png -------------------------------------------------------------------------------- /docs/media/hercules_hkust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/hercules_hkust.png -------------------------------------------------------------------------------- /docs/media/hkust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/hkust.png -------------------------------------------------------------------------------- /docs/media/hkust_only_pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/hkust_only_pattern.png -------------------------------------------------------------------------------- /docs/media/hkustgz_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/hkustgz_logo.png -------------------------------------------------------------------------------- /docs/media/r3live_SLAM.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/r3live_SLAM.gif -------------------------------------------------------------------------------- /docs/media/r3live_nvblox_Mapping.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/r3live_nvblox_Mapping.gif -------------------------------------------------------------------------------- /docs/media/result_mesh_2013_05_28_drive_0003_sync.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/result_mesh_2013_05_28_drive_0003_sync.gif -------------------------------------------------------------------------------- /docs/media/result_mesh_fusionportable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/result_mesh_fusionportable.gif -------------------------------------------------------------------------------- /docs/media/result_mesh_semantickitti07.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/result_mesh_semantickitti07.gif -------------------------------------------------------------------------------- /docs/media/result_navigation_sequence01_test_1_5x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/result_navigation_sequence01_test_1_5x.gif -------------------------------------------------------------------------------- /docs/media/result_semanticfusionportable_sequence01_4x_playrate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gogojjh/cobra/16aaf177afa792638e4d134fe41ec15a1f3d01dd/docs/media/result_semanticfusionportable_sequence01_4x_playrate.gif -------------------------------------------------------------------------------- /rviz_cfg/cobra_fusionportable.perspective: -------------------------------------------------------------------------------- 1 | { 2 | "keys": {}, 3 | "groups": { 4 | "mainwindow": { 5 | "keys": { 6 | "geometry": { 7 | "repr(QByteArray.hex)": "QtCore.QByteArray(b'01d9d0cb00030000000007800000001800000bb7000003cb000007810000003000000bb6000003ca00000001000000000438000007810000003000000bb6000003ca')", 8 | "type": "repr(QByteArray.hex)", 9 | "pretty-print": " 0 8 0 " 10 | }, 11 | "state": { 12 | "repr(QByteArray.hex)": "QtCore.QByteArray(b'000000ff00000000fd00000001000000030000043600000382fc0100000002fc0000000000000218000000fd00fffffffc0200000002fb0000005a007200710074005f0069006d006100670065005f0076006900650077005f005f0049006d0061006700650056006900650077005f005f0031005f005f0049006d00610067006500560069006500770057006900640067006500740100000000000001b00000005400fffffffb0000005a007200710074005f0069006d006100670065005f0076006900650077005f005f0049006d0061006700650056006900650077005f005f0034005f005f0049006d006100670065005600690065007700570069006400670065007401000001b6000001cc0000005400fffffffc0000021e00000218000000fd00fffffffc0200000002fb0000005a007200710074005f0069006d006100670065005f0076006900650077005f005f0049006d0061006700650056006900650077005f005f0033005f005f0049006d00610067006500560069006500770057006900640067006500740100000000000001a90000005400fffffffc000001af000001d30000005400fffffffa000000010200000002fb00000050007200710074005f0070006f00730065005f0076006900650077005f005f0050006f007300650056006900650077005f005f0031005f005f0047004c00560069006500770057006900640067006500740100000000ffffffff0000000000000000fb0000005a007200710074005f0069006d006100670065005f0076006900650077005f005f0049006d0061006700650056006900650077005f005f0032005f005f0049006d00610067006500560069006500770057006900640067006500740100000000000003820000005400ffffff000004360000000000000004000000040000000800000008fc00000001000000030000000100000036004d0069006e0069006d0069007a006500640044006f0063006b00570069006400670065007400730054006f006f006c0062006100720000000000ffffffff0000000000000000')", 13 | "type": "repr(QByteArray.hex)", 14 | "pretty-print": " T T Zrqt_image_view__ImageView__3__ImageViewWidget T T 6 " 15 | } 16 | }, 17 | "groups": { 18 | "toolbar_areas": { 19 | "keys": { 20 | "MinimizedDockWidgetsToolbar": { 21 | "repr": "8", 22 | "type": "repr" 23 | } 24 | }, 25 | "groups": {} 26 | } 27 | } 28 | }, 29 | "pluginmanager": { 30 | "keys": { 31 | "running-plugins": { 32 | "repr": "{'rqt_image_view/ImageView': [1, 2, 3, 4]}", 33 | "type": "repr" 34 | } 35 | }, 36 | "groups": { 37 | "plugin__rqt_image_view__ImageView__1": { 38 | "keys": {}, 39 | "groups": { 40 | "dock_widget__ImageViewWidget": { 41 | "keys": { 42 | "dock_widget_title": { 43 | "repr": "'Image View'", 44 | "type": "repr" 45 | }, 46 | "dockable": { 47 | "repr": "True", 48 | "type": "repr" 49 | }, 50 | "parent": { 51 | "repr": "None", 52 | "type": "repr" 53 | } 54 | }, 55 | "groups": {} 56 | }, 57 | "plugin": { 58 | "keys": { 59 | "dynamic_range": { 60 | "repr": "False", 61 | "type": "repr" 62 | }, 63 | "max_range": { 64 | "repr": "10.0", 65 | "type": "repr" 66 | }, 67 | "mouse_pub_topic": { 68 | "repr": "'/stereo/frame_right/image_raw/compressed_mouse_left'", 69 | "type": "repr" 70 | }, 71 | "num_gridlines": { 72 | "repr": "0", 73 | "type": "repr" 74 | }, 75 | "publish_click_location": { 76 | "repr": "False", 77 | "type": "repr" 78 | }, 79 | "rotate": { 80 | "repr": "0", 81 | "type": "repr" 82 | }, 83 | "smooth_image": { 84 | "repr": "False", 85 | "type": "repr" 86 | }, 87 | "toolbar_hidden": { 88 | "repr": "False", 89 | "type": "repr" 90 | }, 91 | "topic": { 92 | "repr": "'/stereo/frame_right/image_raw/compressed'", 93 | "type": "repr" 94 | }, 95 | "zoom1": { 96 | "repr": "False", 97 | "type": "repr" 98 | } 99 | }, 100 | "groups": {} 101 | } 102 | } 103 | }, 104 | "plugin__rqt_image_view__ImageView__2": { 105 | "keys": {}, 106 | "groups": { 107 | "dock_widget__ImageViewWidget": { 108 | "keys": { 109 | "dock_widget_title": { 110 | "repr": "'Image View (2)'", 111 | "type": "repr" 112 | }, 113 | "dockable": { 114 | "repr": "True", 115 | "type": "repr" 116 | }, 117 | "parent": { 118 | "repr": "None", 119 | "type": "repr" 120 | } 121 | }, 122 | "groups": {} 123 | }, 124 | "plugin": { 125 | "keys": { 126 | "dynamic_range": { 127 | "repr": "False", 128 | "type": "repr" 129 | }, 130 | "max_range": { 131 | "repr": "10.0", 132 | "type": "repr" 133 | }, 134 | "mouse_pub_topic": { 135 | "repr": "'/r3live/rectified_img_mouse_left'", 136 | "type": "repr" 137 | }, 138 | "num_gridlines": { 139 | "repr": "0", 140 | "type": "repr" 141 | }, 142 | "publish_click_location": { 143 | "repr": "False", 144 | "type": "repr" 145 | }, 146 | "rotate": { 147 | "repr": "0", 148 | "type": "repr" 149 | }, 150 | "smooth_image": { 151 | "repr": "False", 152 | "type": "repr" 153 | }, 154 | "toolbar_hidden": { 155 | "repr": "False", 156 | "type": "repr" 157 | }, 158 | "topic": { 159 | "repr": "'/r3live/rectified_img'", 160 | "type": "repr" 161 | }, 162 | "zoom1": { 163 | "repr": "False", 164 | "type": "repr" 165 | } 166 | }, 167 | "groups": {} 168 | } 169 | } 170 | }, 171 | "plugin__rqt_image_view__ImageView__3": { 172 | "keys": {}, 173 | "groups": { 174 | "dock_widget__ImageViewWidget": { 175 | "keys": { 176 | "dock_widget_title": { 177 | "repr": "'Image View (3)'", 178 | "type": "repr" 179 | }, 180 | "dockable": { 181 | "repr": "True", 182 | "type": "repr" 183 | }, 184 | "parent": { 185 | "repr": "None", 186 | "type": "repr" 187 | } 188 | }, 189 | "groups": {} 190 | }, 191 | "plugin": { 192 | "keys": { 193 | "dynamic_range": { 194 | "repr": "False", 195 | "type": "repr" 196 | }, 197 | "max_range": { 198 | "repr": "10.0", 199 | "type": "repr" 200 | }, 201 | "mouse_pub_topic": { 202 | "repr": "'/stereo/frame_left/semantic_rgb_image_mouse_left'", 203 | "type": "repr" 204 | }, 205 | "num_gridlines": { 206 | "repr": "0", 207 | "type": "repr" 208 | }, 209 | "publish_click_location": { 210 | "repr": "False", 211 | "type": "repr" 212 | }, 213 | "rotate": { 214 | "repr": "0", 215 | "type": "repr" 216 | }, 217 | "smooth_image": { 218 | "repr": "False", 219 | "type": "repr" 220 | }, 221 | "toolbar_hidden": { 222 | "repr": "False", 223 | "type": "repr" 224 | }, 225 | "topic": { 226 | "repr": "'/stereo/frame_left/semantic_rgb_image'", 227 | "type": "repr" 228 | }, 229 | "zoom1": { 230 | "repr": "False", 231 | "type": "repr" 232 | } 233 | }, 234 | "groups": {} 235 | } 236 | } 237 | }, 238 | "plugin__rqt_image_view__ImageView__4": { 239 | "keys": {}, 240 | "groups": { 241 | "dock_widget__ImageViewWidget": { 242 | "keys": { 243 | "dock_widget_title": { 244 | "repr": "'Image View (4)'", 245 | "type": "repr" 246 | }, 247 | "dockable": { 248 | "repr": "True", 249 | "type": "repr" 250 | }, 251 | "parent": { 252 | "repr": "None", 253 | "type": "repr" 254 | } 255 | }, 256 | "groups": {} 257 | }, 258 | "plugin": { 259 | "keys": { 260 | "dynamic_range": { 261 | "repr": "False", 262 | "type": "repr" 263 | }, 264 | "max_range": { 265 | "repr": "10.0", 266 | "type": "repr" 267 | }, 268 | "mouse_pub_topic": { 269 | "repr": "'/stereo/frame_left/image_raw/compressed_mouse_left'", 270 | "type": "repr" 271 | }, 272 | "num_gridlines": { 273 | "repr": "0", 274 | "type": "repr" 275 | }, 276 | "publish_click_location": { 277 | "repr": "False", 278 | "type": "repr" 279 | }, 280 | "rotate": { 281 | "repr": "0", 282 | "type": "repr" 283 | }, 284 | "smooth_image": { 285 | "repr": "False", 286 | "type": "repr" 287 | }, 288 | "toolbar_hidden": { 289 | "repr": "False", 290 | "type": "repr" 291 | }, 292 | "topic": { 293 | "repr": "'/stereo/frame_left/image_raw/compressed'", 294 | "type": "repr" 295 | }, 296 | "zoom1": { 297 | "repr": "False", 298 | "type": "repr" 299 | } 300 | }, 301 | "groups": {} 302 | } 303 | } 304 | }, 305 | "plugin__rqt_pose_view__PoseView__1": { 306 | "keys": {}, 307 | "groups": { 308 | "dock_widget__GLViewWidget": { 309 | "keys": { 310 | "dock_widget_title": { 311 | "repr": "'Pose View'", 312 | "type": "repr" 313 | }, 314 | "dockable": { 315 | "repr": "True", 316 | "type": "repr" 317 | }, 318 | "parent": { 319 | "repr": "None", 320 | "type": "repr" 321 | } 322 | }, 323 | "groups": {} 324 | }, 325 | "plugin": { 326 | "keys": { 327 | "view_matrix": { 328 | "repr": "'[[0.7071067690849304, 0.29883623123168945, -0.6408563852310181, 0.0], [-0.7071067690849304, 0.29883623123168945, -0.6408563852310181, 0.0], [0.0, 0.9063078165054321, 0.42261824011802673, 0.0], [0.0, -3.0, -17.5, 1.0]]'", 329 | "type": "repr" 330 | } 331 | }, 332 | "groups": {} 333 | } 334 | } 335 | } 336 | } 337 | } 338 | } 339 | } -------------------------------------------------------------------------------- /rviz_cfg/cobra_fusionportable.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz/Displays 3 | Help Height: 0 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /Axis1/TF1/Frames1 8 | - /r3live1 9 | - /nvblox1 10 | Splitter Ratio: 0.6413934230804443 11 | Tree Height: 642 12 | - Class: rviz/Selection 13 | Name: Selection 14 | - Class: rviz/Tool Properties 15 | Expanded: 16 | - /2D Pose Estimate1 17 | - /2D Nav Goal1 18 | - /Publish Point1 19 | Name: Tool Properties 20 | Splitter Ratio: 0.5886790156364441 21 | - Class: rviz/Views 22 | Expanded: 23 | - /Current View1 24 | Name: Views 25 | Splitter Ratio: 0.5 26 | - Class: rviz/Time 27 | Name: Time 28 | SyncMode: 0 29 | SyncSource: HeightImg 30 | Preferences: 31 | PromptSaveOnExit: true 32 | Toolbars: 33 | toolButtonStyle: 2 34 | Visualization Manager: 35 | Class: "" 36 | Displays: 37 | - Class: rviz/Group 38 | Displays: 39 | - Alpha: 1 40 | Class: rviz/Axes 41 | Enabled: false 42 | Length: 3 43 | Name: Axes 44 | Radius: 0.30000001192092896 45 | Reference Frame: 46 | Show Trail: false 47 | Value: false 48 | - Alpha: 1 49 | Cell Size: 5 50 | Class: rviz/Grid 51 | Color: 160; 160; 164 52 | Enabled: true 53 | Line Style: 54 | Line Width: 0.029999999329447746 55 | Value: Lines 56 | Name: Grid 57 | Normal Cell Count: 0 58 | Offset: 59 | X: 0 60 | Y: 0 61 | Z: -1.5 62 | Plane: XY 63 | Plane Cell Count: 10 64 | Reference Frame: body_imu 65 | Value: true 66 | - Class: rviz/TF 67 | Enabled: true 68 | Frame Timeout: 15 69 | Frames: 70 | All Enabled: false 71 | camera_color_left: 72 | Value: true 73 | camera_color_right: 74 | Value: true 75 | camera_gray_left: 76 | Value: true 77 | camera_gray_right: 78 | Value: true 79 | map: 80 | Value: true 81 | vehicle: 82 | Value: true 83 | velodyne: 84 | Value: true 85 | Marker Alpha: 1 86 | Marker Scale: 10 87 | Name: TF 88 | Show Arrows: true 89 | Show Axes: true 90 | Show Names: true 91 | Tree: 92 | {} 93 | Update Interval: 0 94 | Value: true 95 | Enabled: true 96 | Name: Axis 97 | - Class: rviz/Group 98 | Displays: 99 | - Alpha: 1 100 | Autocompute Intensity Bounds: true 101 | Autocompute Value Bounds: 102 | Max Value: 10 103 | Min Value: -10 104 | Value: true 105 | Axis: Z 106 | Channel Name: intensity 107 | Class: rviz/PointCloud2 108 | Color: 255; 255; 255 109 | Color Transformer: FlatColor 110 | Decay Time: 0 111 | Enabled: false 112 | Invert Rainbow: false 113 | Max Color: 255; 255; 255 114 | Min Color: 0; 0; 0 115 | Name: LaserScanRaw 116 | Position Transformer: XYZ 117 | Queue Size: 10 118 | Selectable: true 119 | Size (Pixels): 1 120 | Size (m): 0.009999999776482582 121 | Style: Points 122 | Topic: /r3live/cloud_raw 123 | Unreliable: false 124 | Use Fixed Frame: true 125 | Use rainbow: true 126 | Value: false 127 | - Alpha: 1 128 | Autocompute Intensity Bounds: true 129 | Autocompute Value Bounds: 130 | Max Value: 10 131 | Min Value: -10 132 | Value: true 133 | Axis: Z 134 | Channel Name: reflectivity 135 | Class: rviz/PointCloud2 136 | Color: 255; 255; 255 137 | Color Transformer: Intensity 138 | Decay Time: 0 139 | Enabled: true 140 | Invert Rainbow: false 141 | Max Color: 255; 255; 255 142 | Min Color: 0; 0; 0 143 | Name: LaserScanRegRaw 144 | Position Transformer: XYZ 145 | Queue Size: 10 146 | Selectable: true 147 | Size (Pixels): 1.5 148 | Size (m): 0.009999999776482582 149 | Style: Points 150 | Topic: /r3live/cloud_registered_raw 151 | Unreliable: false 152 | Use Fixed Frame: true 153 | Use rainbow: true 154 | Value: true 155 | - Alpha: 0.10000000149011612 156 | Autocompute Intensity Bounds: true 157 | Autocompute Value Bounds: 158 | Max Value: 77.55944061279297 159 | Min Value: -59.1967887878418 160 | Value: true 161 | Axis: X 162 | Channel Name: intensity 163 | Class: rviz/PointCloud2 164 | Color: 255; 255; 255 165 | Color Transformer: Intensity 166 | Decay Time: 20 167 | Enabled: false 168 | Invert Rainbow: false 169 | Max Color: 255; 255; 255 170 | Min Color: 0; 0; 0 171 | Name: laserMap 172 | Position Transformer: XYZ 173 | Queue Size: 10 174 | Selectable: true 175 | Size (Pixels): 1 176 | Size (m): 0.009999999776482582 177 | Style: Points 178 | Topic: /r3live/cloud_registered_raw 179 | Unreliable: false 180 | Use Fixed Frame: true 181 | Use rainbow: true 182 | Value: false 183 | - Alpha: 1 184 | Autocompute Intensity Bounds: true 185 | Autocompute Value Bounds: 186 | Max Value: 10 187 | Min Value: -10 188 | Value: true 189 | Axis: Z 190 | Channel Name: intensity 191 | Class: rviz/PointCloud2 192 | Color: 255; 255; 255 193 | Color Transformer: RGB8 194 | Decay Time: 20 195 | Enabled: false 196 | Invert Rainbow: false 197 | Max Color: 255; 255; 255 198 | Min Color: 0; 0; 0 199 | Name: local_RGBMap 200 | Position Transformer: XYZ 201 | Queue Size: 10 202 | Selectable: true 203 | Size (Pixels): 2 204 | Size (m): 0.009999999776482582 205 | Style: Points 206 | Topic: /r3live/render_pts 207 | Unreliable: false 208 | Use Fixed Frame: true 209 | Use rainbow: true 210 | Value: false 211 | - Class: rviz/Image 212 | Enabled: false 213 | Image Topic: /r3live/track_img 214 | Max Value: 1 215 | Median window: 5 216 | Min Value: 0 217 | Name: Image 218 | Normalize Range: true 219 | Queue Size: 2 220 | Transport Hint: raw 221 | Unreliable: false 222 | Value: false 223 | - Alpha: 1 224 | Buffer Length: 1 225 | Class: rviz/Path 226 | Color: 52; 101; 164 227 | Enabled: true 228 | Head Diameter: 0.30000001192092896 229 | Head Length: 0.20000000298023224 230 | Length: 0.30000001192092896 231 | Line Style: Billboards 232 | Line Width: 0.30000001192092896 233 | Name: Path 234 | Offset: 235 | X: 0 236 | Y: 0 237 | Z: 0 238 | Pose Color: 255; 85; 255 239 | Pose Style: None 240 | Queue Size: 10 241 | Radius: 0.029999999329447746 242 | Shaft Diameter: 0.10000000149011612 243 | Shaft Length: 0.10000000149011612 244 | Topic: /r3live/path 245 | Unreliable: false 246 | Value: true 247 | - Angle Tolerance: 0.10000000149011612 248 | Class: rviz/Odometry 249 | Covariance: 250 | Orientation: 251 | Alpha: 0.5 252 | Color: 255; 255; 127 253 | Color Style: Unique 254 | Frame: Local 255 | Offset: 1 256 | Scale: 1 257 | Value: true 258 | Position: 259 | Alpha: 0.30000001192092896 260 | Color: 204; 51; 204 261 | Scale: 1 262 | Value: true 263 | Value: true 264 | Enabled: false 265 | Keep: 1 266 | Name: Odometry 267 | Position Tolerance: 0.10000000149011612 268 | Queue Size: 10 269 | Shape: 270 | Alpha: 1 271 | Axes Length: 1 272 | Axes Radius: 0.10000000149011612 273 | Color: 255; 25; 0 274 | Head Length: 0.30000001192092896 275 | Head Radius: 0.10000000149011612 276 | Shaft Length: 1 277 | Shaft Radius: 0.05000000074505806 278 | Value: Axes 279 | Topic: /r3live/aft_mapped_to_init 280 | Unreliable: false 281 | Value: false 282 | - Class: rviz/Group 283 | Displays: 284 | - Class: rviz/Image 285 | Enabled: true 286 | Image Topic: /pc2img/height_image 287 | Max Value: 1 288 | Median window: 5 289 | Min Value: 0 290 | Name: HeightImg 291 | Normalize Range: true 292 | Queue Size: 2 293 | Transport Hint: raw 294 | Unreliable: false 295 | Value: true 296 | - Class: rviz/Image 297 | Enabled: true 298 | Image Topic: /pc2img/depth_image 299 | Max Value: 1 300 | Median window: 5 301 | Min Value: 0 302 | Name: DepthImg 303 | Normalize Range: true 304 | Queue Size: 2 305 | Transport Hint: raw 306 | Unreliable: false 307 | Value: true 308 | - Class: rviz/Image 309 | Enabled: true 310 | Image Topic: /pc2img/semantic_image 311 | Max Value: 1 312 | Median window: 5 313 | Min Value: 0 314 | Name: SemanticImg 315 | Normalize Range: true 316 | Queue Size: 2 317 | Transport Hint: raw 318 | Unreliable: false 319 | Value: true 320 | Enabled: true 321 | Name: pc2img 322 | Enabled: true 323 | Name: r3live 324 | - Class: rviz/Group 325 | Displays: 326 | - Alpha: 1 327 | Autocompute Intensity Bounds: true 328 | Autocompute Value Bounds: 329 | Max Value: 10 330 | Min Value: -10 331 | Value: true 332 | Axis: Z 333 | Channel Name: intensity 334 | Class: rviz/PointCloud2 335 | Color: 255; 255; 255 336 | Color Transformer: Intensity 337 | Decay Time: 0 338 | Enabled: false 339 | Invert Rainbow: false 340 | Max Color: 255; 255; 255 341 | Min Color: 0; 0; 0 342 | Name: pc_esdf 343 | Position Transformer: XYZ 344 | Queue Size: 10 345 | Selectable: true 346 | Size (Pixels): 3 347 | Size (m): 0.009999999776482582 348 | Style: Points 349 | Topic: /nvblox_ros/pointcloud 350 | Unreliable: false 351 | Use Fixed Frame: true 352 | Use rainbow: true 353 | Value: false 354 | - Ceiling Height: 0 355 | Class: nvblox_rviz_plugin/NvbloxMesh 356 | Cut Ceiling: false 357 | Enabled: false 358 | Name: NvbloxMesh 359 | Queue Size: 10 360 | Topic: /nvblox_ros/mesh 361 | Unreliable: false 362 | Value: false 363 | Enabled: true 364 | Name: nvblox 365 | - Class: rviz/Group 366 | Displays: 367 | - Class: rviz/Image 368 | Enabled: true 369 | Image Topic: /segnet/semantic_image 370 | Max Value: 1 371 | Median window: 5 372 | Min Value: 0 373 | Name: SegmentImg 374 | Normalize Range: true 375 | Queue Size: 2 376 | Transport Hint: raw 377 | Unreliable: false 378 | Value: true 379 | - Class: rviz/Image 380 | Enabled: true 381 | Image Topic: /segnet/uncertainty_image 382 | Max Value: 1 383 | Median window: 5 384 | Min Value: 0 385 | Name: SegmentUctImg 386 | Normalize Range: true 387 | Queue Size: 2 388 | Transport Hint: raw 389 | Unreliable: false 390 | Value: true 391 | Enabled: true 392 | Name: segnet 393 | - Class: rviz/Image 394 | Enabled: true 395 | Image Topic: /stereo/frame_left/image_raw 396 | Max Value: 1 397 | Median window: 5 398 | Min Value: 0 399 | Name: LeftCamera 400 | Normalize Range: true 401 | Queue Size: 2 402 | Transport Hint: compressed 403 | Unreliable: false 404 | Value: true 405 | Enabled: true 406 | Global Options: 407 | Background Color: 48; 48; 48 408 | Default Light: true 409 | Fixed Frame: world 410 | Frame Rate: 30 411 | Name: root 412 | Tools: 413 | - Class: rviz/Interact 414 | Hide Inactive Objects: true 415 | - Class: rviz/MoveCamera 416 | - Class: rviz/Select 417 | - Class: rviz/FocusCamera 418 | - Class: rviz/Measure 419 | - Class: rviz/SetInitialPose 420 | Theta std deviation: 0.2617993950843811 421 | Topic: /initialpose 422 | X std deviation: 0.5 423 | Y std deviation: 0.5 424 | - Class: rviz/SetGoal 425 | Topic: /move_base_simple/goal 426 | - Class: rviz/PublishPoint 427 | Single click: true 428 | Topic: /clicked_point 429 | Value: true 430 | Views: 431 | Current: 432 | Class: rviz/Orbit 433 | Distance: 57.582550048828125 434 | Enable Stereo Rendering: 435 | Stereo Eye Separation: 0.05999999865889549 436 | Stereo Focal Distance: 1 437 | Swap Stereo Eyes: false 438 | Value: false 439 | Field of View: 0.7853981852531433 440 | Focal Point: 441 | X: 2.5518033504486084 442 | Y: 2.0234928131103516 443 | Z: -4.101362705230713 444 | Focal Shape Fixed Size: false 445 | Focal Shape Size: 0.05000000074505806 446 | Invert Z Axis: false 447 | Name: Current View 448 | Near Clip Distance: 0.009999999776482582 449 | Pitch: 0.7253980040550232 450 | Target Frame: body_imu 451 | Yaw: 0.4753982722759247 452 | Saved: ~ 453 | Window Geometry: 454 | DepthImg: 455 | collapsed: false 456 | Displays: 457 | collapsed: false 458 | Height: 1056 459 | HeightImg: 460 | collapsed: false 461 | Hide Left Dock: false 462 | Hide Right Dock: true 463 | Image: 464 | collapsed: false 465 | LeftCamera: 466 | collapsed: false 467 | QMainWindow State: 000000ff00000000fd0000000400000000000001ea000002c4fc0200000009fb0000001200530065006c0065006300740069006f006e000000012e000000c30000005e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000013c000002c4000000ce00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006502000005000000025800000280000001e0000000010000010f000003c0fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000027000003c0000000ac00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000007530000010ffc0100000008fb00000014004c00650066007400430061006d0065007200610100000000000001560000009300fffffffb00000014005300650067006d0065006e00740049006d0067010000015c0000017d0000009300fffffffb0000001a005300650067006d0065006e00740055006300740049006d006701000002df00000128000000b000fffffffb0000001600530065006d0061006e0074006900630049006d0067010000040d000001010000009d00fffffffb00000010004400650070007400680049006d006701000005140000011a0000008000fffffffb000000120048006500690067006800740049006d006701000006340000011f0000008a00fffffffb0000000a0049006d0061006700650100000573000001e00000000000000000fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000003ac0000003efc0100000002fb0000000800540069006d00650000000000000003ac0000041600fffffffb0000000800540069006d0065010000000000000450000000000000000000000563000002c400000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 468 | SegmentImg: 469 | collapsed: false 470 | SegmentUctImg: 471 | collapsed: false 472 | Selection: 473 | collapsed: false 474 | SemanticImg: 475 | collapsed: false 476 | Time: 477 | collapsed: false 478 | Tool Properties: 479 | collapsed: false 480 | Views: 481 | collapsed: true 482 | Width: 1875 483 | X: 45 484 | Y: 24 485 | -------------------------------------------------------------------------------- /rviz_cfg/cobra_kitti360.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz/Displays 3 | Help Height: 0 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /Axis1 8 | - /Axis1/Grid1/Status1 9 | - /Axis1/TF1/Frames1 10 | - /pc2img1 11 | - /nvblox1 12 | - /Odometry1/Shape1 13 | Splitter Ratio: 0.5901639461517334 14 | Tree Height: 547 15 | - Class: rviz/Selection 16 | Name: Selection 17 | - Class: rviz/Tool Properties 18 | Expanded: 19 | - /2D Pose Estimate1 20 | - /2D Nav Goal1 21 | - /Publish Point1 22 | Name: Tool Properties 23 | Splitter Ratio: 0.5886790156364441 24 | - Class: rviz/Views 25 | Expanded: 26 | - /Current View1 27 | Name: Views 28 | Splitter Ratio: 0.5 29 | - Class: rviz/Time 30 | Name: Time 31 | SyncMode: 0 32 | SyncSource: DepthImg 33 | Preferences: 34 | PromptSaveOnExit: true 35 | Toolbars: 36 | toolButtonStyle: 2 37 | Visualization Manager: 38 | Class: "" 39 | Displays: 40 | - Class: rviz/Group 41 | Displays: 42 | - Alpha: 1 43 | Class: rviz/Axes 44 | Enabled: false 45 | Length: 3 46 | Name: Axes 47 | Radius: 0.30000001192092896 48 | Reference Frame: 49 | Show Trail: false 50 | Value: false 51 | - Alpha: 1 52 | Cell Size: 5 53 | Class: rviz/Grid 54 | Color: 160; 160; 164 55 | Enabled: true 56 | Line Style: 57 | Line Width: 0.029999999329447746 58 | Value: Lines 59 | Name: Grid 60 | Normal Cell Count: 0 61 | Offset: 62 | X: 0 63 | Y: 0 64 | Z: -1.5 65 | Plane: XY 66 | Plane Cell Count: 10 67 | Reference Frame: lidar 68 | Value: true 69 | - Class: rviz/TF 70 | Enabled: true 71 | Frame Timeout: 15 72 | Frames: 73 | All Enabled: false 74 | body_imu: 75 | Value: true 76 | left_camera: 77 | Value: true 78 | left_rect: 79 | Value: true 80 | lidar: 81 | Value: true 82 | right_camera: 83 | Value: false 84 | right_rect: 85 | Value: false 86 | world: 87 | Value: true 88 | Marker Alpha: 1 89 | Marker Scale: 10 90 | Name: TF 91 | Show Arrows: true 92 | Show Axes: true 93 | Show Names: true 94 | Tree: 95 | world: 96 | body_imu: 97 | left_camera: 98 | left_rect: 99 | {} 100 | lidar: 101 | {} 102 | right_camera: 103 | right_rect: 104 | {} 105 | Update Interval: 0 106 | Value: true 107 | Enabled: true 108 | Name: Axis 109 | - Class: rviz/Group 110 | Displays: 111 | - Alpha: 1 112 | Autocompute Intensity Bounds: true 113 | Autocompute Value Bounds: 114 | Max Value: 10 115 | Min Value: -10 116 | Value: true 117 | Axis: Z 118 | Channel Name: intensity 119 | Class: rviz/PointCloud2 120 | Color: 255; 255; 255 121 | Color Transformer: FlatColor 122 | Decay Time: 0 123 | Enabled: false 124 | Invert Rainbow: false 125 | Max Color: 255; 255; 255 126 | Min Color: 0; 0; 0 127 | Name: LaserScanRaw 128 | Position Transformer: XYZ 129 | Queue Size: 10 130 | Selectable: true 131 | Size (Pixels): 1 132 | Size (m): 0.009999999776482582 133 | Style: Points 134 | Topic: /r3live/cloud_raw 135 | Unreliable: false 136 | Use Fixed Frame: true 137 | Use rainbow: true 138 | Value: false 139 | - Alpha: 1 140 | Autocompute Intensity Bounds: true 141 | Autocompute Value Bounds: 142 | Max Value: 10 143 | Min Value: -10 144 | Value: true 145 | Axis: Z 146 | Channel Name: reflectivity 147 | Class: rviz/PointCloud2 148 | Color: 255; 255; 255 149 | Color Transformer: Intensity 150 | Decay Time: 0 151 | Enabled: false 152 | Invert Rainbow: false 153 | Max Color: 255; 255; 255 154 | Min Color: 0; 0; 0 155 | Name: LaserScanRegRaw 156 | Position Transformer: XYZ 157 | Queue Size: 10 158 | Selectable: true 159 | Size (Pixels): 1.5 160 | Size (m): 0.009999999776482582 161 | Style: Points 162 | Topic: /r3live/cloud_registered_raw 163 | Unreliable: false 164 | Use Fixed Frame: true 165 | Use rainbow: true 166 | Value: false 167 | - Alpha: 0.10000000149011612 168 | Autocompute Intensity Bounds: true 169 | Autocompute Value Bounds: 170 | Max Value: 77.55944061279297 171 | Min Value: -59.1967887878418 172 | Value: true 173 | Axis: X 174 | Channel Name: intensity 175 | Class: rviz/PointCloud2 176 | Color: 255; 255; 255 177 | Color Transformer: Intensity 178 | Decay Time: 20 179 | Enabled: false 180 | Invert Rainbow: false 181 | Max Color: 255; 255; 255 182 | Min Color: 0; 0; 0 183 | Name: laserMap 184 | Position Transformer: XYZ 185 | Queue Size: 10 186 | Selectable: true 187 | Size (Pixels): 1 188 | Size (m): 0.009999999776482582 189 | Style: Points 190 | Topic: /r3live/cloud_registered_raw 191 | Unreliable: false 192 | Use Fixed Frame: true 193 | Use rainbow: true 194 | Value: false 195 | - Alpha: 1 196 | Autocompute Intensity Bounds: true 197 | Autocompute Value Bounds: 198 | Max Value: 10 199 | Min Value: -10 200 | Value: true 201 | Axis: Z 202 | Channel Name: intensity 203 | Class: rviz/PointCloud2 204 | Color: 255; 255; 255 205 | Color Transformer: RGB8 206 | Decay Time: 20 207 | Enabled: false 208 | Invert Rainbow: false 209 | Max Color: 255; 255; 255 210 | Min Color: 0; 0; 0 211 | Name: local_RGBMap 212 | Position Transformer: XYZ 213 | Queue Size: 10 214 | Selectable: true 215 | Size (Pixels): 2 216 | Size (m): 0.009999999776482582 217 | Style: Points 218 | Topic: /r3live/render_pts 219 | Unreliable: false 220 | Use Fixed Frame: true 221 | Use rainbow: true 222 | Value: false 223 | - Class: rviz/Image 224 | Enabled: false 225 | Image Topic: /r3live/track_img 226 | Max Value: 1 227 | Median window: 5 228 | Min Value: 0 229 | Name: Image 230 | Normalize Range: true 231 | Queue Size: 2 232 | Transport Hint: raw 233 | Unreliable: false 234 | Value: false 235 | - Alpha: 1 236 | Buffer Length: 1 237 | Class: rviz/Path 238 | Color: 52; 101; 164 239 | Enabled: true 240 | Head Diameter: 0.30000001192092896 241 | Head Length: 0.20000000298023224 242 | Length: 0.30000001192092896 243 | Line Style: Billboards 244 | Line Width: 0.30000001192092896 245 | Name: Path 246 | Offset: 247 | X: 0 248 | Y: 0 249 | Z: 0 250 | Pose Color: 255; 85; 255 251 | Pose Style: None 252 | Queue Size: 10 253 | Radius: 0.029999999329447746 254 | Shaft Diameter: 0.10000000149011612 255 | Shaft Length: 0.10000000149011612 256 | Topic: /r3live/path 257 | Unreliable: false 258 | Value: true 259 | - Angle Tolerance: 0.10000000149011612 260 | Class: rviz/Odometry 261 | Covariance: 262 | Orientation: 263 | Alpha: 0.5 264 | Color: 255; 255; 127 265 | Color Style: Unique 266 | Frame: Local 267 | Offset: 1 268 | Scale: 1 269 | Value: true 270 | Position: 271 | Alpha: 0.30000001192092896 272 | Color: 204; 51; 204 273 | Scale: 1 274 | Value: true 275 | Value: true 276 | Enabled: false 277 | Keep: 1 278 | Name: Odometry 279 | Position Tolerance: 0.10000000149011612 280 | Queue Size: 10 281 | Shape: 282 | Alpha: 1 283 | Axes Length: 1 284 | Axes Radius: 0.10000000149011612 285 | Color: 255; 25; 0 286 | Head Length: 0.30000001192092896 287 | Head Radius: 0.10000000149011612 288 | Shaft Length: 1 289 | Shaft Radius: 0.05000000074505806 290 | Value: Axes 291 | Topic: /r3live/aft_mapped_to_init 292 | Unreliable: false 293 | Value: false 294 | Enabled: false 295 | Name: r3live 296 | - Class: rviz/Group 297 | Displays: 298 | - Class: rviz/Image 299 | Enabled: true 300 | Image Topic: /segnet/semantic_image 301 | Max Value: 1 302 | Median window: 5 303 | Min Value: 0 304 | Name: SegmentImg 305 | Normalize Range: true 306 | Queue Size: 2 307 | Transport Hint: raw 308 | Unreliable: false 309 | Value: true 310 | - Class: rviz/Image 311 | Enabled: true 312 | Image Topic: /segnet/uncertainty_image 313 | Max Value: 1 314 | Median window: 5 315 | Min Value: 0 316 | Name: SegmentUctImg 317 | Normalize Range: true 318 | Queue Size: 2 319 | Transport Hint: raw 320 | Unreliable: false 321 | Value: true 322 | Enabled: false 323 | Name: segnet 324 | - Class: rviz/Group 325 | Displays: 326 | - Class: rviz/Image 327 | Enabled: true 328 | Image Topic: /pc2img/height_image 329 | Max Value: 1 330 | Median window: 5 331 | Min Value: 0 332 | Name: HeightImg 333 | Normalize Range: true 334 | Queue Size: 2 335 | Transport Hint: raw 336 | Unreliable: false 337 | Value: true 338 | - Class: rviz/Image 339 | Enabled: true 340 | Image Topic: /pc2img/depth_image 341 | Max Value: 1 342 | Median window: 5 343 | Min Value: 0 344 | Name: DepthImg 345 | Normalize Range: true 346 | Queue Size: 2 347 | Transport Hint: raw 348 | Unreliable: false 349 | Value: true 350 | - Class: rviz/Image 351 | Enabled: true 352 | Image Topic: /pc2img/semantic_image 353 | Max Value: 1 354 | Median window: 5 355 | Min Value: 0 356 | Name: SemanticImg 357 | Normalize Range: true 358 | Queue Size: 2 359 | Transport Hint: raw 360 | Unreliable: false 361 | Value: true 362 | Enabled: true 363 | Name: pc2img 364 | - Class: rviz/Group 365 | Displays: 366 | - Alpha: 1 367 | Autocompute Intensity Bounds: true 368 | Autocompute Value Bounds: 369 | Max Value: 10 370 | Min Value: -10 371 | Value: true 372 | Axis: Z 373 | Channel Name: intensity 374 | Class: rviz/PointCloud2 375 | Color: 255; 255; 255 376 | Color Transformer: Intensity 377 | Decay Time: 0 378 | Enabled: false 379 | Invert Rainbow: false 380 | Max Color: 255; 255; 255 381 | Min Color: 0; 0; 0 382 | Name: pc_esdf 383 | Position Transformer: XYZ 384 | Queue Size: 10 385 | Selectable: true 386 | Size (Pixels): 3 387 | Size (m): 0.009999999776482582 388 | Style: Points 389 | Topic: /nvblox_ros/pointcloud 390 | Unreliable: false 391 | Use Fixed Frame: true 392 | Use rainbow: true 393 | Value: false 394 | - Ceiling Height: 0 395 | Class: nvblox_rviz_plugin/NvbloxMesh 396 | Cut Ceiling: false 397 | Enabled: false 398 | Name: NvbloxMesh 399 | Queue Size: 10 400 | Topic: /nvblox_ros/mesh 401 | Unreliable: false 402 | Value: false 403 | Enabled: true 404 | Name: nvblox 405 | - Alpha: 0.5 406 | Autocompute Intensity Bounds: true 407 | Autocompute Value Bounds: 408 | Max Value: 10 409 | Min Value: -10 410 | Value: true 411 | Axis: Z 412 | Channel Name: a 413 | Class: rviz/PointCloud2 414 | Color: 255; 255; 255 415 | Color Transformer: Intensity 416 | Decay Time: 0 417 | Enabled: true 418 | Invert Rainbow: false 419 | Max Color: 255; 255; 255 420 | Min Color: 0; 0; 0 421 | Name: PointCloud2 422 | Position Transformer: XYZ 423 | Queue Size: 10 424 | Selectable: true 425 | Size (Pixels): 1.5 426 | Size (m): 0.009999999776482582 427 | Style: Points 428 | Topic: /kitti360/lidar 429 | Unreliable: false 430 | Use Fixed Frame: true 431 | Use rainbow: true 432 | Value: true 433 | - Angle Tolerance: 0.5 434 | Class: rviz/Odometry 435 | Covariance: 436 | Orientation: 437 | Alpha: 0.5 438 | Color: 255; 255; 127 439 | Color Style: Unique 440 | Frame: Local 441 | Offset: 1 442 | Scale: 1 443 | Value: true 444 | Position: 445 | Alpha: 0.30000001192092896 446 | Color: 204; 51; 204 447 | Scale: 1 448 | Value: true 449 | Value: true 450 | Enabled: true 451 | Keep: 1000 452 | Name: Odometry 453 | Position Tolerance: 2 454 | Queue Size: 10 455 | Shape: 456 | Alpha: 1 457 | Axes Length: 1 458 | Axes Radius: 0.20000000298023224 459 | Color: 255; 25; 0 460 | Head Length: 0.30000001192092896 461 | Head Radius: 0.10000000149011612 462 | Shaft Length: 1 463 | Shaft Radius: 0.05000000074505806 464 | Value: Axes 465 | Topic: /odom_pose 466 | Unreliable: false 467 | Value: true 468 | - Class: rviz/Image 469 | Enabled: true 470 | Image Topic: /kitti360/left_camera/image 471 | Max Value: 1 472 | Median window: 5 473 | Min Value: 0 474 | Name: Image 475 | Normalize Range: true 476 | Queue Size: 2 477 | Transport Hint: raw 478 | Unreliable: false 479 | Value: true 480 | Enabled: true 481 | Global Options: 482 | Background Color: 48; 48; 48 483 | Default Light: true 484 | Fixed Frame: world 485 | Frame Rate: 30 486 | Name: root 487 | Tools: 488 | - Class: rviz/Interact 489 | Hide Inactive Objects: true 490 | - Class: rviz/MoveCamera 491 | - Class: rviz/Select 492 | - Class: rviz/FocusCamera 493 | - Class: rviz/Measure 494 | - Class: rviz/SetInitialPose 495 | Theta std deviation: 0.2617993950843811 496 | Topic: /initialpose 497 | X std deviation: 0.5 498 | Y std deviation: 0.5 499 | - Class: rviz/SetGoal 500 | Topic: /move_base_simple/goal 501 | - Class: rviz/PublishPoint 502 | Single click: true 503 | Topic: /clicked_point 504 | Value: true 505 | Views: 506 | Current: 507 | Class: rviz/Orbit 508 | Distance: 12.817675590515137 509 | Enable Stereo Rendering: 510 | Stereo Eye Separation: 0.05999999865889549 511 | Stereo Focal Distance: 1 512 | Swap Stereo Eyes: false 513 | Value: false 514 | Field of View: 0.7853981852531433 515 | Focal Point: 516 | X: -0.503594160079956 517 | Y: 0.06017802283167839 518 | Z: -1.4455012083053589 519 | Focal Shape Fixed Size: false 520 | Focal Shape Size: 0.05000000074505806 521 | Invert Z Axis: false 522 | Name: Current View 523 | Near Clip Distance: 0.009999999776482582 524 | Pitch: 0.6503982543945312 525 | Target Frame: lidar 526 | Yaw: 5.565396785736084 527 | Saved: ~ 528 | Window Geometry: 529 | DepthImg: 530 | collapsed: false 531 | Displays: 532 | collapsed: true 533 | Height: 923 534 | HeightImg: 535 | collapsed: false 536 | Hide Left Dock: true 537 | Hide Right Dock: true 538 | Image: 539 | collapsed: false 540 | QMainWindow State: 000000ff00000000fd0000000400000000000001ea00000265fc0200000009fb000000100044006900730070006c006100790073000000011600000265000000ce00fffffffb0000001200530065006c0065006300740069006f006e000000012e000000c30000005e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006502000005000000025800000280000001e0000000010000010f00000265fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000011600000265000000ac00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000436000000e9fc0100000009fb00000014004c00650066007400430061006d00650072006100000000000000047d0000000000000000fb00000014005300650067006d0065006e00740049006d00670000000277000002b90000009300fffffffb0000001a005300650067006d0065006e00740055006300740049006d006700000005360000021d000000b000fffffffb0000000a0049006d00610067006501000000000000018b0000006400fffffffb0000001600530065006d0061006e0074006900630049006d006701000001910000010f0000009d00fffffffb00000010004400650070007400680049006d006701000002a6000000cf0000008000fffffffb000000120048006500690067006800740049006d0067010000037b000000bb0000008a00fffffffb0000000a0049006d0061006700650100000573000001e00000000000000000fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000003ac0000003efc0100000002fb0000000800540069006d00650000000000000003ac0000041600fffffffb0000000800540069006d00650100000000000004500000000000000000000004360000026500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 541 | SegmentImg: 542 | collapsed: false 543 | SegmentUctImg: 544 | collapsed: false 545 | Selection: 546 | collapsed: false 547 | SemanticImg: 548 | collapsed: false 549 | Time: 550 | collapsed: false 551 | Tool Properties: 552 | collapsed: false 553 | Views: 554 | collapsed: true 555 | Width: 1078 556 | X: 1920 557 | Y: 972 558 | -------------------------------------------------------------------------------- /rviz_cfg/cobra_semantickitti.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz/Displays 3 | Help Height: 0 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /pc2img1 8 | - /Odometry1/Shape1 9 | Splitter Ratio: 0.6413934230804443 10 | Tree Height: 438 11 | - Class: rviz/Selection 12 | Name: Selection 13 | - Class: rviz/Tool Properties 14 | Expanded: 15 | - /2D Pose Estimate1 16 | - /2D Nav Goal1 17 | - /Publish Point1 18 | Name: Tool Properties 19 | Splitter Ratio: 0.5886790156364441 20 | - Class: rviz/Views 21 | Expanded: 22 | - /Current View1 23 | Name: Views 24 | Splitter Ratio: 0.5 25 | - Class: rviz/Time 26 | Name: Time 27 | SyncMode: 0 28 | SyncSource: "" 29 | Preferences: 30 | PromptSaveOnExit: true 31 | Toolbars: 32 | toolButtonStyle: 2 33 | Visualization Manager: 34 | Class: "" 35 | Displays: 36 | - Class: rviz/Group 37 | Displays: 38 | - Alpha: 1 39 | Class: rviz/Axes 40 | Enabled: false 41 | Length: 3 42 | Name: Axes 43 | Radius: 0.30000001192092896 44 | Reference Frame: 45 | Show Trail: false 46 | Value: false 47 | - Alpha: 1 48 | Cell Size: 5 49 | Class: rviz/Grid 50 | Color: 160; 160; 164 51 | Enabled: true 52 | Line Style: 53 | Line Width: 0.029999999329447746 54 | Value: Lines 55 | Name: Grid 56 | Normal Cell Count: 0 57 | Offset: 58 | X: 0 59 | Y: 0 60 | Z: -1.5 61 | Plane: XY 62 | Plane Cell Count: 10 63 | Reference Frame: velodyne 64 | Value: true 65 | - Class: rviz/TF 66 | Enabled: true 67 | Frame Timeout: 15 68 | Frames: 69 | All Enabled: true 70 | Marker Alpha: 1 71 | Marker Scale: 10 72 | Name: TF 73 | Show Arrows: true 74 | Show Axes: true 75 | Show Names: true 76 | Tree: 77 | {} 78 | Update Interval: 0 79 | Value: true 80 | Enabled: true 81 | Name: Axis 82 | - Class: rviz/Group 83 | Displays: 84 | - Alpha: 1 85 | Autocompute Intensity Bounds: true 86 | Autocompute Value Bounds: 87 | Max Value: 10 88 | Min Value: -10 89 | Value: true 90 | Axis: Z 91 | Channel Name: intensity 92 | Class: rviz/PointCloud2 93 | Color: 255; 255; 255 94 | Color Transformer: FlatColor 95 | Decay Time: 0 96 | Enabled: false 97 | Invert Rainbow: false 98 | Max Color: 255; 255; 255 99 | Min Color: 0; 0; 0 100 | Name: LaserScanRaw 101 | Position Transformer: XYZ 102 | Queue Size: 10 103 | Selectable: true 104 | Size (Pixels): 1 105 | Size (m): 0.009999999776482582 106 | Style: Points 107 | Topic: /r3live/cloud_raw 108 | Unreliable: false 109 | Use Fixed Frame: true 110 | Use rainbow: true 111 | Value: false 112 | - Alpha: 1 113 | Autocompute Intensity Bounds: true 114 | Autocompute Value Bounds: 115 | Max Value: 10 116 | Min Value: -10 117 | Value: true 118 | Axis: Z 119 | Channel Name: reflectivity 120 | Class: rviz/PointCloud2 121 | Color: 255; 255; 255 122 | Color Transformer: Intensity 123 | Decay Time: 0 124 | Enabled: false 125 | Invert Rainbow: false 126 | Max Color: 255; 255; 255 127 | Min Color: 0; 0; 0 128 | Name: LaserScanRegRaw 129 | Position Transformer: XYZ 130 | Queue Size: 10 131 | Selectable: true 132 | Size (Pixels): 1.5 133 | Size (m): 0.009999999776482582 134 | Style: Points 135 | Topic: /r3live/cloud_registered_raw 136 | Unreliable: false 137 | Use Fixed Frame: true 138 | Use rainbow: true 139 | Value: false 140 | - Alpha: 0.10000000149011612 141 | Autocompute Intensity Bounds: true 142 | Autocompute Value Bounds: 143 | Max Value: 77.55944061279297 144 | Min Value: -59.1967887878418 145 | Value: true 146 | Axis: X 147 | Channel Name: intensity 148 | Class: rviz/PointCloud2 149 | Color: 255; 255; 255 150 | Color Transformer: Intensity 151 | Decay Time: 20 152 | Enabled: false 153 | Invert Rainbow: false 154 | Max Color: 255; 255; 255 155 | Min Color: 0; 0; 0 156 | Name: laserMap 157 | Position Transformer: XYZ 158 | Queue Size: 10 159 | Selectable: true 160 | Size (Pixels): 1 161 | Size (m): 0.009999999776482582 162 | Style: Points 163 | Topic: /r3live/cloud_registered_raw 164 | Unreliable: false 165 | Use Fixed Frame: true 166 | Use rainbow: true 167 | Value: false 168 | - Alpha: 1 169 | Autocompute Intensity Bounds: true 170 | Autocompute Value Bounds: 171 | Max Value: 10 172 | Min Value: -10 173 | Value: true 174 | Axis: Z 175 | Channel Name: intensity 176 | Class: rviz/PointCloud2 177 | Color: 255; 255; 255 178 | Color Transformer: RGB8 179 | Decay Time: 20 180 | Enabled: false 181 | Invert Rainbow: false 182 | Max Color: 255; 255; 255 183 | Min Color: 0; 0; 0 184 | Name: local_RGBMap 185 | Position Transformer: XYZ 186 | Queue Size: 10 187 | Selectable: true 188 | Size (Pixels): 2 189 | Size (m): 0.009999999776482582 190 | Style: Points 191 | Topic: /r3live/render_pts 192 | Unreliable: false 193 | Use Fixed Frame: true 194 | Use rainbow: true 195 | Value: false 196 | - Class: rviz/Image 197 | Enabled: false 198 | Image Topic: /r3live/track_img 199 | Max Value: 1 200 | Median window: 5 201 | Min Value: 0 202 | Name: Image 203 | Normalize Range: true 204 | Queue Size: 2 205 | Transport Hint: raw 206 | Unreliable: false 207 | Value: false 208 | - Alpha: 1 209 | Buffer Length: 1 210 | Class: rviz/Path 211 | Color: 52; 101; 164 212 | Enabled: true 213 | Head Diameter: 0.30000001192092896 214 | Head Length: 0.20000000298023224 215 | Length: 0.30000001192092896 216 | Line Style: Billboards 217 | Line Width: 0.30000001192092896 218 | Name: Path 219 | Offset: 220 | X: 0 221 | Y: 0 222 | Z: 0 223 | Pose Color: 255; 85; 255 224 | Pose Style: None 225 | Queue Size: 10 226 | Radius: 0.029999999329447746 227 | Shaft Diameter: 0.10000000149011612 228 | Shaft Length: 0.10000000149011612 229 | Topic: /r3live/path 230 | Unreliable: false 231 | Value: true 232 | - Angle Tolerance: 0.10000000149011612 233 | Class: rviz/Odometry 234 | Covariance: 235 | Orientation: 236 | Alpha: 0.5 237 | Color: 255; 255; 127 238 | Color Style: Unique 239 | Frame: Local 240 | Offset: 1 241 | Scale: 1 242 | Value: true 243 | Position: 244 | Alpha: 0.30000001192092896 245 | Color: 204; 51; 204 246 | Scale: 1 247 | Value: true 248 | Value: true 249 | Enabled: false 250 | Keep: 1 251 | Name: Odometry 252 | Position Tolerance: 0.10000000149011612 253 | Queue Size: 10 254 | Shape: 255 | Alpha: 1 256 | Axes Length: 1 257 | Axes Radius: 0.10000000149011612 258 | Color: 255; 25; 0 259 | Head Length: 0.30000001192092896 260 | Head Radius: 0.10000000149011612 261 | Shaft Length: 1 262 | Shaft Radius: 0.05000000074505806 263 | Value: Axes 264 | Topic: /r3live/aft_mapped_to_init 265 | Unreliable: false 266 | Value: false 267 | Enabled: false 268 | Name: r3live 269 | - Class: rviz/Group 270 | Displays: 271 | - Class: rviz/Image 272 | Enabled: true 273 | Image Topic: /segnet/semantic_image 274 | Max Value: 1 275 | Median window: 5 276 | Min Value: 0 277 | Name: SegmentImg 278 | Normalize Range: true 279 | Queue Size: 2 280 | Transport Hint: raw 281 | Unreliable: false 282 | Value: true 283 | - Class: rviz/Image 284 | Enabled: true 285 | Image Topic: /segnet/uncertainty_image 286 | Max Value: 1 287 | Median window: 5 288 | Min Value: 0 289 | Name: SegmentUctImg 290 | Normalize Range: true 291 | Queue Size: 2 292 | Transport Hint: raw 293 | Unreliable: false 294 | Value: true 295 | Enabled: false 296 | Name: segnet 297 | - Class: rviz/Group 298 | Displays: 299 | - Class: rviz/Image 300 | Enabled: true 301 | Image Topic: /pc2img/height_image 302 | Max Value: 1 303 | Median window: 5 304 | Min Value: 0 305 | Name: HeightImg 306 | Normalize Range: true 307 | Queue Size: 2 308 | Transport Hint: raw 309 | Unreliable: false 310 | Value: true 311 | - Class: rviz/Image 312 | Enabled: true 313 | Image Topic: /pc2img/depth_image 314 | Max Value: 1 315 | Median window: 5 316 | Min Value: 0 317 | Name: DepthImg 318 | Normalize Range: true 319 | Queue Size: 2 320 | Transport Hint: raw 321 | Unreliable: false 322 | Value: true 323 | - Class: rviz/Image 324 | Enabled: true 325 | Image Topic: /pc2img/semantic_image 326 | Max Value: 1 327 | Median window: 5 328 | Min Value: 0 329 | Name: SemanticImg 330 | Normalize Range: true 331 | Queue Size: 2 332 | Transport Hint: raw 333 | Unreliable: false 334 | Value: true 335 | Enabled: true 336 | Name: pc2img 337 | - Class: rviz/Group 338 | Displays: 339 | - Alpha: 1 340 | Autocompute Intensity Bounds: true 341 | Autocompute Value Bounds: 342 | Max Value: 10 343 | Min Value: -10 344 | Value: true 345 | Axis: Z 346 | Channel Name: intensity 347 | Class: rviz/PointCloud2 348 | Color: 255; 255; 255 349 | Color Transformer: Intensity 350 | Decay Time: 0 351 | Enabled: false 352 | Invert Rainbow: false 353 | Max Color: 255; 255; 255 354 | Min Color: 0; 0; 0 355 | Name: pc_esdf 356 | Position Transformer: XYZ 357 | Queue Size: 10 358 | Selectable: true 359 | Size (Pixels): 3 360 | Size (m): 0.009999999776482582 361 | Style: Points 362 | Topic: /nvblox_ros/pointcloud 363 | Unreliable: false 364 | Use Fixed Frame: true 365 | Use rainbow: true 366 | Value: false 367 | - Ceiling Height: 0 368 | Class: nvblox_rviz_plugin/NvbloxMesh 369 | Cut Ceiling: false 370 | Enabled: true 371 | Name: NvbloxMesh 372 | Queue Size: 10 373 | Topic: /nvblox_ros/mesh 374 | Unreliable: false 375 | Value: true 376 | Enabled: true 377 | Name: nvblox 378 | - Alpha: 1 379 | Autocompute Intensity Bounds: true 380 | Autocompute Value Bounds: 381 | Max Value: 10 382 | Min Value: -10 383 | Value: true 384 | Axis: Z 385 | Channel Name: intensity 386 | Class: rviz/PointCloud2 387 | Color: 255; 255; 255 388 | Color Transformer: Intensity 389 | Decay Time: 0 390 | Enabled: true 391 | Invert Rainbow: false 392 | Max Color: 255; 255; 255 393 | Min Color: 0; 0; 0 394 | Name: PointCloud2 395 | Position Transformer: XYZ 396 | Queue Size: 10 397 | Selectable: true 398 | Size (Pixels): 2 399 | Size (m): 0.009999999776482582 400 | Style: Points 401 | Topic: /velodyne_points 402 | Unreliable: false 403 | Use Fixed Frame: true 404 | Use rainbow: true 405 | Value: true 406 | - Angle Tolerance: 0.5 407 | Class: rviz/Odometry 408 | Covariance: 409 | Orientation: 410 | Alpha: 0.5 411 | Color: 255; 255; 127 412 | Color Style: Unique 413 | Frame: Local 414 | Offset: 1 415 | Scale: 1 416 | Value: true 417 | Position: 418 | Alpha: 0.30000001192092896 419 | Color: 204; 51; 204 420 | Scale: 1 421 | Value: true 422 | Value: true 423 | Enabled: true 424 | Keep: 1000 425 | Name: Odometry 426 | Position Tolerance: 2 427 | Queue Size: 10 428 | Shape: 429 | Alpha: 1 430 | Axes Length: 1 431 | Axes Radius: 0.20000000298023224 432 | Color: 255; 25; 0 433 | Head Length: 0.30000001192092896 434 | Head Radius: 0.10000000149011612 435 | Shaft Length: 1 436 | Shaft Radius: 0.05000000074505806 437 | Value: Axes 438 | Topic: /odom_pose 439 | Unreliable: false 440 | Value: true 441 | Enabled: true 442 | Global Options: 443 | Background Color: 48; 48; 48 444 | Default Light: true 445 | Fixed Frame: map 446 | Frame Rate: 30 447 | Name: root 448 | Tools: 449 | - Class: rviz/Interact 450 | Hide Inactive Objects: true 451 | - Class: rviz/MoveCamera 452 | - Class: rviz/Select 453 | - Class: rviz/FocusCamera 454 | - Class: rviz/Measure 455 | - Class: rviz/SetInitialPose 456 | Theta std deviation: 0.2617993950843811 457 | Topic: /initialpose 458 | X std deviation: 0.5 459 | Y std deviation: 0.5 460 | - Class: rviz/SetGoal 461 | Topic: /move_base_simple/goal 462 | - Class: rviz/PublishPoint 463 | Single click: true 464 | Topic: /clicked_point 465 | Value: true 466 | Views: 467 | Current: 468 | Class: rviz/Orbit 469 | Distance: 115.88504028320312 470 | Enable Stereo Rendering: 471 | Stereo Eye Separation: 0.05999999865889549 472 | Stereo Focal Distance: 1 473 | Swap Stereo Eyes: false 474 | Value: false 475 | Field of View: 0.7853981852531433 476 | Focal Point: 477 | X: 2.9176149368286133 478 | Y: 6.092136859893799 479 | Z: -3.6566524505615234 480 | Focal Shape Fixed Size: false 481 | Focal Shape Size: 0.05000000074505806 482 | Invert Z Axis: false 483 | Name: Current View 484 | Near Clip Distance: 0.009999999776482582 485 | Pitch: 0.6447963118553162 486 | Target Frame: vehicle 487 | Yaw: 0.6503951549530029 488 | Saved: ~ 489 | Window Geometry: 490 | DepthImg: 491 | collapsed: false 492 | Displays: 493 | collapsed: true 494 | Height: 923 495 | HeightImg: 496 | collapsed: false 497 | Hide Left Dock: true 498 | Hide Right Dock: true 499 | Image: 500 | collapsed: false 501 | QMainWindow State: 000000ff00000000fd0000000400000000000001ea000002c4fc0200000009fb0000001200530065006c0065006300740069006f006e000000012e000000c30000005e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073000000013c000002c4000000ce00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006502000005000000025800000280000001e0000000010000010f000002c4fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000013c000002c4000000ac00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000004360000010ffc0100000008fb00000014004c00650066007400430061006d00650072006100000000000000047d0000000000000000fb00000014005300650067006d0065006e00740049006d00670000000277000002b90000009300fffffffb0000001a005300650067006d0065006e00740055006300740049006d006700000005360000021d000000b000fffffffb0000001600530065006d0061006e0074006900630049006d00670100000000000001420000009d00fffffffb00000010004400650070007400680049006d00670100000148000001870000008000fffffffb000000120048006500690067006800740049006d006701000002d5000001610000008a00fffffffb0000000a0049006d0061006700650100000573000001e00000000000000000fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000003ac0000003efc0100000002fb0000000800540069006d00650000000000000003ac0000041600fffffffb0000000800540069006d00650100000000000004500000000000000000000004360000023f00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 502 | SegmentImg: 503 | collapsed: false 504 | SegmentUctImg: 505 | collapsed: false 506 | Selection: 507 | collapsed: false 508 | SemanticImg: 509 | collapsed: false 510 | Time: 511 | collapsed: false 512 | Tool Properties: 513 | collapsed: false 514 | Views: 515 | collapsed: true 516 | Width: 1078 517 | X: 1920 518 | Y: 972 519 | -------------------------------------------------------------------------------- /scripts/run_cobra_fusionportable.sh: -------------------------------------------------------------------------------- 1 | # Publish camera info 2 | rosrun cobra_tools publish_sensor_info /Titan/dataset/FusionPortable_dataset/calibration_files/20220209_calib/calib 3 | 4 | # Run pointcloud_to_image 5 | roslaunch pointcloud_image_converter pc2img_fusionportable.launch & 6 | 7 | # Run cobra-mapping 8 | rviz -d cobra/rviz_cfg/cobra_fusionportable.rviz 9 | roslaunch nvblox_ros nvblox_lidar_ros_fusionportable.launch & 10 | 11 | # Run cobra-state-estimation 12 | roslaunch r3live r3live_bag_ouster128_time_offline.launch 13 | 14 | # RECORD rosbag (record_r3live_semantics_framecam00.sh) 15 | rosbag record -O $1/r3live_semantics_framecam00.bag \ 16 | /r3live/camera_odom /r3live/camera_path \ 17 | /r3live/aft_mapped_to_init /r3live/path \ 18 | /r3live/rectified_img \ 19 | /r3live/cloud_nonregistered_raw /r3live/cloud_registered_raw \ 20 | /r3live/render_pts \ 21 | /tf 22 | 23 | 24 | -------------------------------------------------------------------------------- /scripts/run_cobra_semanticfusionportable.sh: -------------------------------------------------------------------------------- 1 | ############## Online deployment 2 | # RVIZ 3 | rviz -d cobra/rviz_cfg/cobra_fusionportable.rviz 4 | 5 | # (Not used) Publish camera info (optional) 6 | # rosrun cobra_tools publish_sensor_info /Titan/dataset/FusionPortable_dataset/calibration_files/xxxx_calib/calib & 7 | 8 | # RUN cobra-state-estimation 9 | roslaunch r3live r3live_bag_ouster128_time_offline.launch pc2img:=false & 10 | 11 | # RUN cobra-mapping 12 | roslaunch nvblox_ros nvblox_lidar_ros_semanticfusionportable.launch & 13 | 14 | ############## Offline deployment 15 | rviz -d cobra/rviz_cfg/cobra_fusionportable.rviz 16 | 17 | ### Step 1 18 | # RUN cobra-state-estimation 19 | roslaunch r3live r3live_bag_ouster128_time_offline.launch \ 20 | use_vio:=true play_bag_rate:=1.0 play_bag_start:=0 \ 21 | pc2img:=false \ 22 | bag_folder:=/Spy/dataset/FusionPortable_dataset/sensor_data/mini_hercules/20230403_hkustgz_vegetation_sequence00 \ 23 | bag_file:=20230403_hkustgz_vegetation_sequence00.bag 24 | 25 | # RUN cobra-semantic-segmentation 26 | roslaunch segnet_ros segnet_ros.launch 27 | 28 | rosrun cobra_tools publish_lidar_camera_alignment 29 | 30 | # RECORD rosbag (record_r3live_semantics_framecam00.sh) 31 | rosbag record -O $1/r3live_semantics_framecam00.bag \ 32 | /r3live/camera_odom /r3live/camera_path \ 33 | /r3live/aft_mapped_to_init /r3live/path \ 34 | /r3live/cloud_nonregistered_raw \ 35 | /r3live/render_pts /r3live/rectified_img/compressed \ 36 | /stereo/frame_left/semantic_image \ 37 | /stereo/frame_left/semantic_rgb_image \ 38 | /stereo/frame_left/semantic_uct_image \ 39 | /stereo/frame_left/camera_info /stereo/frame_left/image_chunk_data \ 40 | /tf /tf_static \ 41 | /aligned_semantic_points 42 | 43 | ### Step 2 44 | # RUN cobra-semantic-mapping 45 | roslaunch nvblox_ros $LAUNCH_NAME \ 46 | bag_file:=$ROSBAG_PATH \ 47 | tsdf_voxel_update_method:="5" \ 48 | voxel_size:="0.25" \ 49 | play_bag_rate:="4.0" 50 | 51 | -------------------------------------------------------------------------------- /scripts/run_cobra_semantickitti.sh: -------------------------------------------------------------------------------- 1 | # Run pointcloud_to_image 2 | roslaunch pointcloud_image_converter pc2img_semantickitti.launch & 3 | 4 | # Run cobra-mapping 5 | rviz -d cobra/rviz_cfg/cobra_semantickitti.rviz 6 | roslaunch nvblox_ros nvblox_lidar_ros_semantickitti.launch & 7 | 8 | # Run the Rosbag 9 | rosbag play semantickitti_sequence07.bag 10 | 11 | --------------------------------------------------------------------------------