공부#Robotics#자율주행/(ROS2)Path Planning

python robotics 환경 세팅하기

BrainKimDu 2023. 5. 25. 18:01

이 글은 다음을 참고하여 진행합니다. 

Getting Started — PythonRobotics documentation (atsushisakai.github.io)

 

Getting Started — PythonRobotics documentation

© Copyright 2018-2021, Atsushi Sakai.

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가 필요합니다. 파이썬은 여러 모듈들을 조합해서 사용하는 방식이기 때문에 버전 충돌의 문제가 발생할 수 있습니다. 이를 방지하기 위해 가상환경 세팅이 필요합니다. 이에 도움을 주는 프로그램입니다.

Free Download | Anaconda

 

Free Download | Anaconda

Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

대충 설치합니다. 이 설치과정과정은 생략합니다. 설치 폴더에 한글경로가 존재하면 안됩니다.

설치가 완료되면 중요한 친구는 이 친구 입니다.

검색으로 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)

 

Git - Downloading Package

Download for Windows Click here to download the latest (2.40.1) 32-bit version of Git for Windows. This is the most recent maintained build. It was released 30 days ago, on 2023-04-25. Other Git for Windows downloads Standalone Installer 32-bit Git for Win

git-scm.com

Visual Studio Code - Code Editing. Redefined

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

 

VScode를 실행하고, 다음의 과정을 진행합니다.

해당 폴더를 열어줍니다. 

그 후에 Localization에 있는 extended_kalman_filter.py를 열어줍니다.

 

이 상태에서 ctrl+shift+p 를 누르고 

다음을 입력한 이후에

우리가 만들어주었던 pyrobot을 선택하고서 실행을 합니다.

이렇게 실행되면 성공입니다.

 

그리고 추가적으로 해당  documentation을 공부하려면 다음의 책을 준비하는 것이 좋습니다.

PROBABILISTIC-ROBOTICS.ORG

 

PROBABILISTIC-ROBOTICS.ORG

 

www.probabilistic-robotics.org

확률론적 로보틱스 - YES24

 

확률론적 로보틱스 - YES24

수학 통계학 지식을 기반으로 하는 확률론적 로보틱스는 기존 로보틱스 연구의 한계를 극복하고자 새롭게 성장하고 있는 분야다. 『확률론적 로보틱스』는 로보틱스 분야의 고전이라 할 수 있

www.yes24.com

 

해당 책이 자율주행 로보틱스 분야에서는 바이블로 뽑히는 책입니다.