반응형

ros2 foxy에서 yolov4 object detector를 사용할 수 있는 패키지를 소개한다.

 

https://github.com/Ar-Ray-code/darknet_ros_fp16/tree/foxy-cudnn

 

GitHub - Ar-Ray-code/darknet_ros_fp16: darknet + ROS2 Humble + OpenCV4 + CUDA 11(cuDNN, Jetson Orin)

darknet + ROS2 Humble + OpenCV4 + CUDA 11(cuDNN, Jetson Orin) - GitHub - Ar-Ray-code/darknet_ros_fp16: darknet + ROS2 Humble + OpenCV4 + CUDA 11(cuDNN, Jetson Orin)

github.com

 

설치 환경은 다음과 같다.

Ubuntu 20.04 + ros2 foxy

GPU: RTX3070Ti

CUDA: 11.6

Cudnn 8.3.3

Opencv 3.4.11 with CUDA enabled

 

패키지 다운로드

ros2_yolo라는 작업공간을 하나 만들고 패키지를 다운로드 한다.

$ mkdir -p ~/ros2_yolo/src
$ cd ~/ros2_yolo/src
$ git clone --recursive https://github.com/Ar-Ray-code/darknet_ros_fp16.git -b foxy-cudnn

darknet_ros/CMakeLists.txt 파일을 열고 다음 부분을 GPU의 Architecture에 맞게 수정하고 #을 제거한다.

set(CMAKE_CUDA_ARCHITECTURES 86)

빌드하기

colcon 명령어로 빌드한다.

$ cd ~/ros2_yolo
$ colcon build --symlink-install

추가 설치

데모 launch를 실행하기 위해 다음 패키지를 설치한다.

$ sudo apt install ros-foxy-v4l2-camera

실행하기

이제 빌드된 결과를 source 하고 데모를 실행한다.

$ source install/setup.bash
$ ros2 launch darknet_ros demo-v4-tiny.launch.py

demo-v4-tiny.launch.py 는 카메라 노드를 자동으로 실행시킨다. 

만약 카메라를 별도로 실행시키려면 그냥 v4-tiny.launch.py를 실행하면 된다.

 

반응형

'ROBOTICS > ROS 2' 카테고리의 다른 글

YOLOv4 for ROS 2 foxy  (0) 2022.07.20
반응형

ros2 foxy에서 yolov4 object detector를 사용할 수 있는 패키지를 소개한다.

 

https://github.com/Ar-Ray-code/darknet_ros_fp16/tree/foxy-cudnn

 

GitHub - Ar-Ray-code/darknet_ros_fp16: darknet + ROS2 Humble + OpenCV4 + CUDA 11(cuDNN, Jetson Orin)

darknet + ROS2 Humble + OpenCV4 + CUDA 11(cuDNN, Jetson Orin) - GitHub - Ar-Ray-code/darknet_ros_fp16: darknet + ROS2 Humble + OpenCV4 + CUDA 11(cuDNN, Jetson Orin)

github.com

 

설치 환경은 다음과 같다.

Ubuntu 20.04 + ros2 foxy

GPU: RTX3070Ti

CUDA: 11.6

Cudnn 8.3.3

Opencv 3.4.11 with CUDA enabled

 

패키지 다운로드

ros2_yolo라는 작업공간을 하나 만들고 패키지를 다운로드 한다.

$ mkdir -p ~/ros2_yolo/src
$ cd ~/ros2_yolo/src
$ git clone --recursive https://github.com/Ar-Ray-code/darknet_ros_fp16.git -b foxy-cudnn

darknet_ros/CMakeLists.txt 파일을 열고 다음 부분을 GPU의 Architecture에 맞게 수정하고 #을 제거한다.

set(CMAKE_CUDA_ARCHITECTURES 86)

빌드하기

colcon 명령어로 빌드한다.

$ cd ~/ros2_yolo
$ colcon build --symlink-install

추가 설치

데모 launch를 실행하기 위해 다음 패키지를 설치한다.

$ sudo apt install ros-foxy-v4l2-camera

실행하기

이제 빌드된 결과를 source 하고 데모를 실행한다.

$ source install/setup.bash
$ ros2 launch darknet_ros demo-v4-tiny.launch.py

demo-v4-tiny.launch.py 는 카메라 노드를 자동으로 실행시킨다. 

만약 카메라를 별도로 실행시키려면 그냥 v4-tiny.launch.py를 실행하면 된다.

 

반응형

'ROBOTICS > ROS 2' 카테고리의 다른 글

YOLOv4 for ROS 2 foxy  (0) 2022.07.22
반응형

darknet_ros가 foxy 버전을 지원하기 시작했다.

https://github.com/leggedrobotics/darknet_ros

 

GitHub - leggedrobotics/darknet_ros: YOLO ROS: Real-Time Object Detection for ROS

YOLO ROS: Real-Time Object Detection for ROS. Contribute to leggedrobotics/darknet_ros development by creating an account on GitHub.

github.com

 

빌드하려고 보니 ubuntu 20.04에 기본 설치된 cmake 버전이 이전 버전이라 설치가 안된다.

$ cmake ..
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.18 or higher is required.  You are running version 3.16.3


-- Configuring incomplete, errors occurred!

현재 3.16.3 버전이 설치되어있다.

$ cmake --version
cmake version 3.16.3

apt upgrade 만으로는 업그레이드가 되지 않는다

그렇다고 새 버전을 설치하기 위해 apt install remove cmake를 하면 다른 ROS 패키지들도 같이 삭제가 된다.

$ sudo apt purge cmake
[sudo] password for khyou: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  cmake-data fonts-lato gazebo11 gazebo11-common gazebo11-plugin-base
  graphicsmagick-libmagick-dev-compat ignition-tools libamd2 libasound2-dev
  여러가지 lib 패키지 등등등...
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  cmake* libgazebo11-dev* libignition-cmake2-dev* libignition-common3-av-dev*
  libignition-common3-core-dev* libignition-common3-dev*
  ros-foxy-action-tutorials-cpp* ros-foxy-action-tutorials-interfaces*
  ros-foxy-action-tutorials-py* ros-foxy-actionlib-msgs* ros-foxy-ament-cmake*
  **등등등
  ros-foxy-*
  ros-foxy-visualization-msgs*
0 upgraded, 0 newly installed, 283 to remove and 21 not upgraded.
After this operation, 497 MB disk space will be freed.
Do you want to continue? [Y/n] n

그래서 검색해본 결과 아래와 같은 해결책이 있다.

https://answers.ros.org/question/293119/how-can-i-updateremove-cmake-without-partially-deleting-my-ros-distribution/

 

How can I update/remove cmake without partially deleting my ROS distribution? - ROS Answers: Open Source Q&A Forum

How can I update/remove cmake without partially deleting my ROS distribution? edit Problem (TL;DR) I need to update my cmake from version 2.8.12.2 to version 3.1 or higher. However this requires removing the previous version with the command: sudo apt remo

answers.ros.org

 

먼저 https://cmake.org/download/ 로 이동하여 cmake 최신 버전을 다운로드한다.

다운받은 cmake-3.xx.tar.gz 파일을 압축해재하고 해당 디렉토리로 이동하여 다음과 같이 빌드 인스톨 한다.

./bootstrap의 파라미터에 따라 사용자 디렉토리의 cmake-install 디렉토리에 설치를 한다.

$ cd ~/Downloads/cmake-3.xxxx/   # or wherever you downloaded cmake
$ ./bootstrap --prefix=$HOME/cmake-install
$ make 
$ make install

make와 make install이 완료되면 아래 항목을 .bashrc에 추가해준다.

export PATH=$HOME/cmake-install/bin:$PATH
export CMAKE_PREFIX_PATH=$HOME/cmake-install:$CMAKE_PREFIX_PATH

그리고나서 source ~/.bashrc 명령으로 터미널을 업데이트한다.

이제 cmake 버전이 새로 업그레이드 되었다.

$ cmake --version
cmake version 3.23.2

 

반응형

+ Recent posts