파이썬 & 오픈소스 개발 Tip과 강좌

이곳은 파이썬과 여러 오픈소스 기반 프레임워크 관련 Tip과 강좌 게시판 입니다. 관련 개발을 진행하면서 알아내신 Tip이나 강좌와 새로운 소식을 적어 주시면 다른 공부하는 분들에게 큰 도움이 됩니다. 감사합니다. SQLER.com은 개발자와 IT전문가의 지식 나눔을 실천하기 위해 노력하고 있습니다.

 

어쩌다 보니, Azure VM으로 ROS GAZEBO를 구성해야 할 일이 있어서 진행하였고, 간략히 기록을 남깁니다.

 

ROS(Robot Operating System)

간략히 산업용 및 여러 용도의 로봇을 개발할때 사용되는 OS 입니다.

로봇 운영체제는 로봇 응용 프로그램을 개발할 때 필요한 하드웨어 추상화, 하위 디바이스 제어, 일반적으로 사용되는 기능의 구현, 프로세스간의 메시지 패싱, 패키지 관리, 개발환경에 필요한 라이브러리와 다양한 개발 및 디버깅 도구를 제공한다.

 

참고링크: 위키백과

 

Gazebo

로봇을 직접 사용하기 어려우니 시뮬레이터를 이용해야죠. GAZEBO가 simulator 입니다.

Gazebo is an open-source 3D robotics simulator. It integrated the ODE physics engine, OpenGL rendering, and support code for sensor simulation and actuator control.

Gazebo can use multiple high-performance physics engines, such as ODE, Bullet, etc. (the default is ODE). It provides realistic rendering of environments including high-quality lighting, shadows, and textures. It can model sensors that "see" the simulated environment, such as laser range finders, cameras (including wide-angle), Kinect style sensors, etc.

For 3D rendering, Gazebo uses the OGRE engine.

 

Gazebo-web

Gazebo를 웹서버와 클라이언트로 분리해, 크롬과 같은 브라우저에서 실행할 수 있도록 합니다.

https://classic.gazebosim.org/tutorials?tut=gzweb_install&cat=gzweb

 

Azure에서 Ubuntu linux를 이용해 Gazebo-web 까지 구성

진행전에, 그냥 Windows에서 하면 안되나요? 라는 질문이 있으실 수 있는데요.

GPU가 충분하고, 사양이 좋은 윈도우로 수행한 사례들이 많은데 이것도 ML처럼 기본 Ubuntu 환경에서 여러 커뮤니티와 ecosystem이 만들어져 있습니다. 원하시는대로 선택하시면 되며, 저는 PC 환경이 그다지 좋지 않아 Azure VM을 서버로, 제 PC를 클라이언트로 사용합니다.

 

Azure에서 제공하는 Ubuntu VM에 xfce 설정해 GUI 환경 설정

Azure에서 Ubuntu 22.04 LTS를 provision 하고, 이어서 xfce를 구성합니다. 아래 내용 참조.

Use xrdp with Linux - Azure Virtual Machines | Microsoft Learn

 

Gazebo 설정

xfce를 구성하고 xrdp로 원격 서버에 접속해 Gazebo를 구성하고 실행합니다. VM 사양이 낮아도 ubuntu 위에서 잘 동작합니다.

저는 대략 DS2 정도로 2-cpu + 8G 메모리 사양이었습니다.

Gazebo : Tutorial : Beginner: Overview (gazebosim.org)

 

Gazebo-web 설정

끝으로 Gazebo-web 구성입니다.

https://classic.gazebosim.org/tutorials?tut=gzweb_install&cat=gzweb 

위의 문서를 참고해 완료했고, 간략히 node를 통해 실행됩니다.

실행하면 기본 8080 포트를 이용하는데, VM에 기본적으로 오픈되어 있지 않으니 직접 8080 포트를 열어주세요.

이어서 크롬이나 엣지 브라우저로 접속하시면 Gazebo 의 여러 작업을 하실 수 있습니다.

 

gazebo.png

 

도움 되시길 바랍니다.

 

삽질한 기록:

Windows에서 구성하고 roslaunch gazebo_ros empty_world.launch 명령 후 gazebo client에서 응답 없음. 아마도 GPU나 사양이 좋은 윈도우면 되는 것 같음. ubuntu에서 구성하고 해결됨.

 

참고링크:

Use xrdp with Linux - Azure Virtual Machines | Microsoft Learn

Gazebo : Tutorial : Beginner: Overview (gazebosim.org)

Gazebo 시뮬레이터

 

No. Subject Author Date Views
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2021년 1월 업데이트) 코난(김대우) 2021.01.01 1066
122 오픈소스 소통을 위한 Git 공부하기 | ep9. 클로징 | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.15 15
121 오픈소스 소통을 위한 Git 공부하기 | ep8-2. 비주얼 스튜디오 코드로 쉽게 Git 사용하기 | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.11 14
120 오픈소스 소통을 위한 Git 공부하기 | ep8-1. 비주얼 스튜디오 코드로 쉽게 Git 사용하기 | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.09 16
119 오픈소스 소통을 위한 Git 공부하기 | ep7. 변경한 소스 반영을 요청하는 풀리퀘스트 | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.05 7
118 오픈소스 소통을 위한 Git 공부하기 | ep6. 내 저장소에 소스를 푸시하기 위한 Fork | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.02 18
117 오픈소스 소통을 위한 Git 공부하기 | ep5. 브랜치 (Branch) 이해하기 | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.01 6
116 오픈소스 소통을 위한 Git 공부하기 | ep4. 변경 단위를 만들기 위한 Commit | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.31 9
115 오픈소스 소통을 위한 Git 공부하기 | ep3. 소스를 가져오기 위한 Clone | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.30 9
114 오픈소스 소통을 위한 Git 공부하기 | ep2. Git를 소개합니다 | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.28 13
113 오픈소스 소통을 위한 Git 공부하기 | ep1. 버전 관리의 중요성 | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.27 10
112 오픈소스 소통을 위한 Git 공부하기 | ep0. 인트로 | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.24 24
» Azure VM - 오픈소스 ROS Gazebo Web 설치 및 실행 file 코난(김대우) 2022.10.19 15
110 parquet 파일의 meta 정보 추출 코난(김대우) 2021.11.16 774
109 embedded SQL - GlueSQL, rust 기반 오픈소스 프로젝트 file 코난(김대우) 2021.10.22 313
108 대규모 머신러닝 프로젝트 Serving에 사용되는 Python WAS, ASGI - uvicorn file 코난(김대우) 2021.10.06 559
107 Apache Arrow 리뷰 file 코난(김대우) 2021.10.05 1090
106 autopep8을 이용한 python 린트(linting) 구현 코난(김대우) 2021.09.15 305
105 Python에서 환경변수(environment variable) 처리 코난(김대우) 2021.09.15 130
104 Python에서 random 문자열이나 숫자 가져오는 방법 코난(김대우) 2021.09.15 322
103 Python 중급 강좌 - 9. 비동기 작업(Asynchronous operations): asyncio 코난(김대우) 2021.01.03 521





XE Login