Skip to content

JaGyeong1024/2026-Clothoid-R-Perception

Repository files navigation

2026 Clothoid-R Perception

Clothoid-R 자율주행 시스템의 Perception ROS workspace.

카메라와 LiDAR 기반 객체 검출, 클러스터링, 추적, 센서 퓨전 패키지 구성.

Team


구자경

Perception Architecture

김민재

Computer Vision,
DL Pruning

이남규

Attacker

Pipeline

Pipeline Input Output Package
Livox clustering /livox/lidar /perception/livox/centroids livox_clustering
Livox-camera fusion /livox/lidar, /camera/image_raw/compressed, /perception/camera/yolo /perception/fusion/centroids livox_camera_fusion
Velodyne BEV detection /velodyne_points /perception/velodyne/centroids velodyne_detection

Packages

Package Role
perception_bringup 통합 launch
detect_msgs 공통 perception message
yolov12 Camera YOLO detection
livox_clustering Livox point cloud clustering and tracking
livox_camera_fusion Livox-camera YOLO fusion
velodyne_detection Velodyne BEV YOLO detection and OC-SORT tracking

Output Topics

Topic Type
/perception/livox/centroids sensor_msgs/PointCloud
/perception/fusion/centroids sensor_msgs/PointCloud
/perception/velodyne/centroids sensor_msgs/PointCloud

Requirements

  • Ubuntu 20.04
  • ROS Noetic
  • Git
  • NVIDIA GPU/CUDA, optional

Setup

ROS environment:

source /opt/ros/noetic/setup.bash

System packages:

sudo apt update
sudo apt install -y \
  wget \
  git \
  build-essential \
  cmake \
  python3-pip \
  python3-rosdep \
  ros-noetic-cv-bridge \
  ros-noetic-pcl-ros \
  ros-noetic-pcl-conversions \
  ros-noetic-message-filters \
  ros-noetic-dynamic-reconfigure \
  ros-noetic-visualization-msgs

rosdep:

sudo rosdep init
rosdep update

Miniconda:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh
bash /tmp/miniconda.sh -b -p $HOME/anaconda3
source $HOME/anaconda3/etc/profile.d/conda.sh
conda init bash

Repository clone:

git clone https://github.com/JaGyeong1024/2026-Clothoid-R-Perception.git
cd 2026-Clothoid-R-Perception

ROS dependency install:

rosdep install --from-paths src --ignore-src -r -y

System python3 perception deps (livox_clustering, velodyne_detection 노드용):

sudo python3 -m pip install --no-cache-dir \
  --extra-index-url https://download.pytorch.org/whl/cu121 \
  'typing-extensions==4.13.2' 'numpy>=1.24,<1.25' 'pillow>=10.0,<11.0' \
  'scikit-learn>=1.3,<1.4' \
  torch==2.4.1+cu121 torchvision==0.19.1+cu121 \
  ultralytics==8.4.51 ultralytics-thop==2.0.19 opencv-python==4.13.0.92 \
  filterpy==1.4.5 lap==0.5.12

(Dockerfile은 위 핀과 동일 — 컨테이너 기반으로 돌리면 이 단계 불필요)

YOLO env (담당자 셋업 기준 — 타겟 PC cnu):

yolov12 노드는 shebang(#!/home/cnu/anaconda3/envs/yolo/bin/python)으로 conda env를 직접 호출합니다. 이 env에 다음이 깔려 있어야 함:

  • yolov12 지원 ultralytics fork (담당자 PC /home/cnu/clothoid-r/perception_ws/yolov12)
  • torch, numpy, opencv-python, rospkg, thopyolo-requirements.txt 참조

OC-SORT:

sudo git clone https://github.com/noahcao/OC_SORT /opt/OC_SORT

Workspace build:

source /opt/ros/noetic/setup.bash
catkin_make
source devel/setup.bash

Run

세 명령어를 따로 띄움 (각각 터미널 분리):

roslaunch perception_bringup perception.launch         # fusion + livox_clustering
rosrun velodyne_detection velodyne_bev_detection.py    # 시스템 python3
rosrun yolov12 yolo_detect.py                          # conda yolo env via shebang

Sensor topic override:

roslaunch perception_bringup perception.launch \
  livox_lidar_topic:=/livox/lidar \
  camera_image_topic:=/camera/image_raw/compressed

Launch Arguments

Argument Default
livox_lidar_topic /livox/lidar
camera_image_topic /camera/image_raw/compressed
camera_yolo_topic /perception/camera/yolo
livox_centroid_topic /perception/livox/centroids
fusion_centroid_topic /perception/fusion/centroids

Verification

Node check:

rosnode list

Expected nodes:

/yolo_detect_node
/livox_camera_fusion
/livox_euclidean_clustering
/velodyne_bev_detection

Topic check:

rostopic list | grep perception

Output publisher check:

rostopic info /perception/livox/centroids
rostopic info /perception/fusion/centroids
rostopic info /perception/velodyne/centroids

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors