スキップしてメイン コンテンツに移動

ROS, Jetson: 멋진 프로젝트들!


ROS와 Nvidia Jetson 을 이용한 재미있는 자율주행 프로젝트 모음

1. 무선 충전 기능을 포함한 자율주행 RC 트럭

Nvidia Jetson TX2 + Ubuntu 16.04 + ROS1 kinetic 으로 자율주행을 구현하는데 3가지 경로 추종 방법을 제공.

1) SLAM + pure pursuit or stanley steering 조합의 path following
2) Supervised Deep Learning steering controller with OpenCV
3) Lane Detector with steering controller (PID) and OpenCV

더해서, 무선  충전 기능을 제공한다.


트레일러에 ECU와 밧데리를 넣어 디자인적으로도 마감을 잘했다.

2. 심층 강화 학습을 이용한 자율 주행

Nvidia Jetson Nano + SAC(Soft Actor Critic) 으로 path following 방법을 구현

심층 강화학습은 시뮬레이션 환경과 리얼월드의 간격을 메우는 것이 매우 중요한데, 토이 프로젝트들의 특징은 시뮬레이션과 비슷한 리얼월드를 구성하기 쉬워서 잘 움직이는구나.


JetBot이 최근에 엄청 유행하고 있다.

3. 잡초제거 로봇

Nvidia Jetson Nano + ROS2 + DL + Delta arm 으로 구성하여 잡초를 제거

정말 멋진 토이 프로젝트. 
고정된 카메라로부터 획득된 이미지 영상에서 딥러닝을 이용하여 잡초와 작물을 식별. 잡초는 델타 암을 이용하여 제거.

딥러닝을 이용한 잡초제거 작업기의 상용화는 존디어에 인수된 블루리버 테크놀로지가 대표적인 예이다. 


하드웨어부터 소프트웨어까지 전부 구성한게 멋지다!
4. Eagleye: Low cost INS using GNSS + IMU

자율주행 차량은 대부분 시내의 주행환경을 고려하여 라이더나 카메라 베이스로 자기 위치 추정을 수행하는 경우가 많지만, 주변 환경이 특징이 전혀 없는 곳에서는 위치 추정이 어려울 수 있어서 GNSS을 보조로 이용하는 경우가 많다. GNSS의 경우 VRS나 기준국을 이용해서 RTK-GNSS 보정 신호로 3cm 이내의 오차를 갖는 정밀한 위치 정보를 제공 받을 수 있지만, 문제는 비싸진다. 따라서, 센서 퓨전을 통해서 GNSS의 위치 오차를 보정 해 주는 연구가 예전부터 활발하게 진행되어 왔다. Eagleye의 센서 퓨전 방법은 전통적인 INS 방법과 비슷한데 어떤 특징이 있을까? 논문을 구하면 읽어봐야겠다. 우선 깃허브에 소스가 공개되어 있으니 자세히 봐야겠다.


Autoware는 적어도 일본에서 자율주행 연구를 하는데 필수가 되어간다.

5. The Self-Driving Golf Cart Project


골프카트를 개조하여 자율 주행 플랫폼을 구성하고, End-to-End Steering, Semantic Segmentation, Object Detection, SLAM, Autonomous Driving 등의 기능을 구현하였다. 

골프카트 학교안에서 자율주행으로 타고 돌아다니면 무척 신나겠다 ㅋㅋ

コメント

このブログの人気の投稿

[참고] ROS kinetic에서 WebCam 사용하기 (Ubuntu 16.04)

Reference: 1. https://github.com/bosch-ros-pkg/usb_cam/issues/53  2. http://zumashi.blogspot.jp/2016/12/ros-kinetic-usb-cam.html  3. http://cafe.naver.com/openrt/5963 위의 사이트들을 참고하여 ROS Kinetic에서 Logitech WebCam C270의 동작을 확인했습니다. $ cd ~/catkin_ws/src $ git clone https://github.com/bosch-ros-pkg/usb-cam.git $ cd .. $ catkin_make WebCam test $ roscore $ rosrun usb_cam usb_cam_node $ rosrun image_view image_view image:=/usb_cam/image_raw $ rosrun rviz rviz 1) By display type>rviz>image 2) Image topic: /usb_cam/image_raw --> 왼쪽 하단과 같이 WebCam이 잘 동작하는 것을 확인했습니다.

[vscode] TImeout waiting for debugger connection

이제까지 잘 동작하던 비주얼 스튜디오 코드가 위와 같은 에러 메세지를 내면서 갑자기 디버깅이 안되서 인터넷을 검색한 결과.. vscode의 User Setting에서 검색창에 python.terminal.activateEnvironment을 입력하여 true로 설정되어 있는 값을 false로 변환하면 된다. 

Anaconda을 이용하여 ROS + Tensorflow 함께 사용하기

-- CUDA, cuDNN 버전확인 https://stackoverflow.com/questions/41714757/how-to-find-cuda-version-in-ubuntu/42122965 $ nvcc --version cuda8.0, cudnn6.0 -- 아나콘다 python2.7 버전 인스톨 https://www.anaconda.com/download/#linux python3.x이랑 ROS 같이 써보려고 했는데, 아직 실력이 부족해서 그런지 실패.. $ bash Anaconda2-5.3.0-Linux-x86_64.sh $ source ~/.bashrc $ python -V Python 2.7.15 :: Anaconda, Inc. $ conda create -n tf14 pip python=2.7 $ source activate tf14 -- ROS 관련 패키지 인스톨 (tf14) $ pip install --upgrade pip (tf14) $ pip install -U rosinstall msgpack empy defusedxml netifaces --CUDA, cuDNN, CPU/GPU을 사양에 맞춰서 tensorflow download https://github.com/mind/wheels#mkl (tf14) $ pip install tensorflow-1.4.0-cp27-cp27mu-linux_x86_64.whl 잘 설치가 되었는지 Hello, tensorflow 실행 (tf14) $ python Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55) [GCC 7.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> i