전체 글 75

ROS Navigation(3. Localization)

이 포스트는 theconstructsim.com의 ROS Navigation in 5 Days 를 참고하였습니다. 이번 포스트에서 다룰 내용은 ROS Naviagation에서 위치추정(Localization)이란 무엇인가? 위치추정은 어떻게 동작하는가? ROS의 위치추정에서 우리는 무엇을 하는가? 이번 course에서는 turtlebot simulation package를 사용합니다. 아래 링크를 참조하세요 emanual.robotis.com/docs/en/platform/turtlebot3/simulation/ 시뮬레이션 모델은 Waffle 모델을 사용합니다. waffle 모델을 사용하기 위해서는 환경 변수를 추가하거나, bash shell에 해당 명령을 입력하면 됩니다. $ export TURTLEB..

ROS Navigation(2. Map Creation)

이 포스트는 theconstructsim.com의 ROS Navigation in 5 Days 를 참고하였습니다. 이번 포스트에서 다룰 내용은 ROS Navigation에서 맵핑(Mapping)이란 무엇인가? ROS Mapping은 어떻게 동작하는가? 대부분의 어떠한 로봇에서라도 맵핑이 동작하도록 ROS를 설정하는 방법 지도를 만드는 여러가지 방법 이번 course에서는 turtlebot simulation package를 사용합니다. 아래 링크를 참조하세요 emanual.robotis.com/docs/en/platform/turtlebot3/simulation/ 시뮬레이션 모델은 Waffle 모델을 사용합니다. waffle 모델을 사용하기 위해서는 환경 변수를 추가하거나, bash shell에 해당 명..

ROS Navigation(1. Basic Concept)

이 포스트는 theconstructsim.com의 ROS Navigation in 5 Days 를 참고하였습니다. 이번 포스트에서 다룰 내용은 ROS Navigation Stack이란 무엇인가? Navigation Stack을 위해 필요한 것은 무엇인가? move_base node는 무엇이며 왜 중요한 것인가? move_base node에서 무슨 part가 발생하는가? 이번 course에서는 turtlebot simulation package를 사용합니다. 아래 링크를 참조하세요 emanual.robotis.com/docs/en/platform/turtlebot3/simulation/ 시뮬레이션 모델은 Waffle 모델을 사용합니다. waffle 모델을 사용하기 위해서는 환경 변수를 추가하거나, bash..

ROS noetic YOLO V3

이번 포스팅에서는 ROS noetic에서 tensorflow v2로 구현한 YOLO V3를 사용하여 물체인식을 하는 방법에 대해 설명합니다. 해당 환경은 Ubuntu 20.04, ros noetic, IntelRealsense D415 camera를 사용하였습니다. YOLO V3-tf2 Download 1. 다음 링크로 들어가서, git clone을 하여 다운받습니다. github.com/zzh8829/yolov3-tf2 $ git clone github.com/zzh8829/yolov3-tf2.git 2. 위에서 설치한 디렉토리에서, 아래 명령을 사용하여 conda 가상환경을 생성하고, 활성화 합니다. $ conda env create -f conda-gpu.yml $ conda activate yol..

Study/ROS 2020.12.29

ROS noetic 환경을 위한 CUDA, cuDNN, tensorflow 설치

ROS Melodic버전까지는 공식적으로 파이썬2만을 지원하기 때문에 파이썬3를 사용하는 최근 딥러닝코드들은 사용할 수 없습니다. 따라서 이를 해결하기 위해 가상환경을 만들어서 파이썬3를 인터프리터로 설정하는 방법을 사용하던데... 며칠동안 삽질을 했지만 결국 가상환경에서의 python3코드를 돌리는 것은 실패했습니다. 자꾸 모듈 import가 안되네요... 그래서 결국 그냥 파이썬 3환경을 지원하는 최신 버전인 noetic으로 환경을 바꾸었습니다. 우분투 20.04가 나온지 몇 달이 지났으니 지금쯤이면 noetic 패키지도 많이 있겠지... 하고 찾아봤더니 제가 필요한 패키지들은 대부분 지원을 하는 것 같아서 결국 환경을 엎었습니다. 1. 우분투 20.04를 설치하고 나서, 우리가 필요로 하는 CUDA..

Study/ROS 2020.12.04

The Vector Field Histogram - Fast Obstacle Avoidance for Mobile Robots

Johann Borenstein의 The Vector Field Histogram - Fast Obstacle Avoidance for Mobile Robots 내용을 정리한 포스트 입니다. VFH의 대략적인 내용은 다음과 같습니다. VFH(Vector Field Histogram)은 world model로써 2차원 cartesian histogram grid를 사용합니다. 이 world model은 로봇에 장착된 거리 센서를 사용하여 계속 업데이트됩니다. VFH는 로봇이 움직이도록 요구되는 제어 명령을 위해 2단계의 data-reduction process를 사용합니다. 첫 번째 단계에서는 histogram grid가 로봇의 순간적인 위치 주변에서의 1차원 polar histogram로 축소됩니다. p..

Study/Robotics 2020.11.18

ROS_Basics(4. Service. Server and Client)

이 포스트는 theconstructsim.com의 ROS BASICS 를 참고하였습니다. https://youtu.be/DBFYZRMLr70 이번 포스트에서 다룰 내용은 - service가 무엇인가? - 로봇의 service를 다루는 법 - service를 호출하는 법 시뮬레이션 모델은 turtlebot3 Waffle 모델을 사용합니다. waffle 모델을 사용하기 위해서는 환경 변수를 추가하거나, bash shell에 해당 명령을 입력하면 됩니다. $ export TURTLEBOT3_MODEL=waffle 또는, ~/.bashrc 를 수정하여 맨 밑에 export TURTLEBOT3_MODEL=waffle 를 추가합니다. 우리는 이전에 배운 topic만으로도 우리의 로봇을 위해 뭐든지간에 필요한 것을 ..

ROS Basics(3. Topic, Subscriber)

이 포스트는 theconstructsim.com의 ROS BASICS 를 참고하였습니다. https://youtu.be/DBFYZRMLr70 이번 포스트에서 다룰 내용은 - Subscriber가 뭔지 알고, 어떻게 만드는지 알기 - Custom Topic message 만들기 시뮬레이션 모델은 turtlebot3 Waffle 모델을 사용합니다. waffle 모델을 사용하기 위해서는 환경 변수를 추가하거나, bash shell에 해당 명령을 입력하면 됩니다. $ export TURTLEBOT3_MODEL=waffle 또는, ~/.bashrc 를 수정하여 맨 밑에 export TURTLEBOT3_MODEL=waffle 를 추가합니다. Part 2 : Subscriber 우리는 node가 정보를 읽거나 쓸 수..

ROS Basics(2. Topic, Publisher)

이 포스트는 theconstructsim.com의 ROS BASICS 를 참고하였습니다. https://youtu.be/DBFYZRMLr70 이번 포스트에서 다룰 내용은 - ROS topic이 뭔지 알고, 이것을 어떻게 사용하는지 알기 - publisher가 뭔지 알고, 어떻게 만드는지 알기 - topic message가 뭔지 알고, 어떻게 동작하는지 알기 Part 1 : Publisher 다음 예제에서는 앞으로 모든 예제들을 포함할 my_examples_pkg 라고 하는 rospackage를 만들것입니다. 만드는 방법은 다음과 같습니다. (이전 포스트에서 설정을 했다면 $ cd ~/catkin_ws/src 는 $ cs로, $ cd ~/catkin_ws && catkin_make는 $ cm 으로 대체할 ..