이 글은 다음을 참고하여 진행합니다.
Getting Started — PythonRobotics documentation (atsushisakai.github.io)
위에서 배우는 알고리즘을 ROS상에서 Turtlebot을 이용해서 구동하는 것을 목표로 진행합니다. 대충 내가 끌리는대로 번역하고 있습니다.
Getting Started
오픈소스 소프트웨어 프로젝트인 PythonRobotics는 Python의 로봇 알고리즘들을 모아놓은 것입니다. 이 프로젝트는 자율주행 (autonomous navigation)과 로보틱스의 기초 아이디어(알고리즘)에 대한 이해를 목표로하는 초심자들을 위한 것입니다.
이 프로젝트에 실려있는 알고리즘들은 상업이나 학술적으로 활용되고 있는 알고리즘이 선택되었습니다. 그 알고리즘에 대한 sample code들은 python3를 기반으로 작성되었으며, 여러 모듈들을 의존하고 있습니다. 이 알고리즘들을 이해하기 위해 다양한 그림이나 animation을 제공합니다.
요구사항으로는
- Python 3.11.x 이상
- NumPy
- SciPy
- Matplotlib
- cvxpy
- pytest
- pytest-xdist
- mypy
- sphinx
- ruff
가 필요합니다.
환경 세팅 (윈도우)
이 글은 윈도우 환경에서 작성되기 때문에 다음의 설치과정이 필요합니다. 다음의 과정을 따라서 환경을 setting 하시길 바랍니다. 리눅스(우분투)환경은 나중에 필요할 때 소개하도록 하겠습니다.
우선은 Anaconda가 필요합니다. 파이썬은 여러 모듈들을 조합해서 사용하는 방식이기 때문에 버전 충돌의 문제가 발생할 수 있습니다. 이를 방지하기 위해 가상환경 세팅이 필요합니다. 이에 도움을 주는 프로그램입니다.
대충 설치합니다. 이 설치과정과정은 생략합니다. 설치 폴더에 한글경로가 존재하면 안됩니다.
설치가 완료되면 중요한 친구는 이 친구 입니다.
검색으로 Anaconda Prompt 찾아서 실행하면 됩니다. 그리고 추가적으로 Jupyter Notebook도 설치가 됩니다.
한가지 확인해주어야할 부분은 실행하고 Jupyter notebook 을 입력했을 때 jupyter notebook이 제대로 실행되는지 확인해야합니다.
원래는 이를 실행하면, 인터넷창이 실행되어야 합니다. 자동으로 실행이 안되더라도, 밑에 있는 주소를 웹주소에 입력하면 접속이 가능합니다. ctrl + z (혹은 ctrl + c) 로 실행을 종료하고 다음을 입력합니다.
jupyter notebook --generate-config
그러면 아래의 경로에 파일이 생성됩니다. 이 파일이 있는 위치까지 이동합니다. 다음을 검색하여 찾아냅니다.
c.NotebookApp.browser
다음부분을 다음과 같이 수정합니다.
c.NotebookApp.browser = 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe %s'
저는 엣지를 실행하게 하지만, 크롬이나 기타 브라우저를 사용하시는 분들은 직접 찾아보셔야할 것입니다.
뭐 대충 이렇게 뜨면 됩니다. 여기까지 설치가 완료됩니다. 추가적으로 이제 가상환경을 설정해주어야합니다.
conda update conda
다음을 통해서 업그레이드를 진행합니다.
conda create -n pyrobot python=3.11
다음을 통해서 python 3.11 버전의 가상환경을 만들어줍니다. 가상환경의 이름은 pyrobot입니다.
이렇게 뜨면 성공적으로 만들어진 것입니다. 이제 계속 진행하도록 하겠습니다.
mkdir pyrobot
cd pyrobot
다음을 통해서 workspace를 제작하고, 다음을 통해 진행합니다.
conda install git
git clone https://github.com/AtsushiSakai/PythonRobotics.git
이제 가상환경을 불러오고, 해당 git의 requirements를 설치하도록 합시다.
conda activate pyrobot
cd PythonRobotics
pip install -r requirements/requirements.txt
그러면 앞으로 이 문서의 공부를 진행할때는 pyrobot 가상환경을 통해서 진행합니다.
추가적으로 필요한 것은
Git - Downloading Package (git-scm.com)
Visual Studio Code - Code Editing. Redefined
VScode를 실행하고, 다음의 과정을 진행합니다.
해당 폴더를 열어줍니다.
그 후에 Localization에 있는 extended_kalman_filter.py를 열어줍니다.
이 상태에서 ctrl+shift+p 를 누르고
다음을 입력한 이후에
우리가 만들어주었던 pyrobot을 선택하고서 실행을 합니다.
이렇게 실행되면 성공입니다.
그리고 추가적으로 해당 documentation을 공부하려면 다음의 책을 준비하는 것이 좋습니다.
해당 책이 자율주행 로보틱스 분야에서는 바이블로 뽑히는 책입니다.
'공부#Robotics#자율주행 > (ROS2)Path Planning' 카테고리의 다른 글
ROS2로 turtlebot3 제어하기 5장. turtlebot이 생성된 경로를 따라 움직이게 하자 (0) | 2023.06.03 |
---|---|
ROS2로 turtlebot3 제어하기 4장. map파일을 가지고 전역경로 생성하기 (0) | 2023.06.03 |
ROS2로 turtlebot3 제어하기 3장. Nav2 이해하기와 파이썬 환경설정 (0) | 2023.06.03 |
ROS2로 turtlebot3 제어하기 2장. MAP 만들기 (0) | 2023.06.02 |
ROS2로 turtlebot3 제어하기 1장. 경로계획(Path planning)의 개요 (0) | 2023.06.02 |