Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


테스트 환경

  • Product : CLEB-G-01A

  • 카메라 : CLCC-G-01x

  • JETPACK Version : 5.1.2

예제 실행 방법

  1. Docker 설치 및 개발 환경 설정 해당 페이지를 참고하여 개발 환경을 세팅한다.

  2. isaac ros common 과 image segmentation 레포지토리를 워크스페이스에 다운

cd ${ISAAC_ROS_WS}/src
git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git
git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_image_segmentation.git
  1. image segmentation 패키지에서 샘플데이터 파일 추출

cd ${ISAAC_ROS_WS}/src/isaac_ros_image_segmentation && \
  git lfs pull -X "" -I "resources/rosbags/"
  1. docker 컨테이너 실행

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
  ./scripts/run_dev.sh
  1. 의존패키지 설치

sudo apt-get install -y ros-humble-isaac-ros-unet ros-humble-isaac-ros-triton ros-humble-isaac-ros-dnn-image-encoder
  1. model 레포지토리를 생성하고 PeopleSemSegNet ShuffleSeg etlt 파일과 cache 파일 다운

mkdir -p /tmp/models/peoplesemsegnet_shuffleseg/1
cd /tmp/models/peoplesemsegnet_shuffleseg
wget https://api.ngc.nvidia.com/v2/models/nvidia/tao/peoplesemsegnet/versions/deployable_shuffleseg_unet_v1.0/files/peoplesemsegnet_shuffleseg_etlt.etlt
wget https://api.ngc.nvidia.com/v2/models/nvidia/tao/peoplesemsegnet/versions/deployable_shuffleseg_unet_v1.0/files/peoplesemsegnet_shuffleseg_cache.txt
  1. 샘플데이터의 config 파일 복사

cp /workspaces/isaac_ros-dev/src/isaac_ros_image_segmentation/resources/peoplesemsegnet_shuffleseg_config.pbtxt /tmp/models/peoplesemsegnet_shuffleseg/config.pbtxt
  1. etlt 파일을 TensorRT 모델 파일로 컨버트(다른 단계보다 시간이 많이 소요되는 단계이다)

/opt/nvidia/tao/tao-converter -k tlt_encode -d 3,544,960 -p input_2:0,1x3x544x960,1x3x544x960,1x3x544x960 -t int8 -c peoplesemsegnet_shuffleseg_cache.txt -e /tmp/models/peoplesemsegnet_shuffleseg/1/model.plan -o argmax_1 peoplesemsegnet_shuffleseg_etlt.etlt
  1. launch 파일로 image segmentation 실행

ros2 launch isaac_ros_unet isaac_ros_unet_triton.launch.py model_name:=peoplesemsegnet_shuffleseg model_repository_paths:=['/tmp/models'] input_binding_names:=['input_2:0'] output_binding_names:=['argmax_1'] network_output_type:='argmax' input_image_width:=1200 input_image_height:=632
  1. 카메라 영상의 토픽을 전송하기 위해 다른 터미널에서 docker 컨테이너 실행

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
  ./scripts/run_dev.sh
ros2 run image_publisher image_publisher_node /dev/video0 --ros-args -r image_raw:=image
  1. 뷰어로 영상을 보기 위해 다른 터미널에서 docker 컨테이너 실행

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
  ./scripts/run_dev.sh
ros2 run rqt_image_view rqt_image_view

결과

Screenshot from 2024-02-02 15-02-14.pngScreenshot from 2024-02-02 15-02-19.png

  • No labels