어쩌다 보니, 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 SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 33592
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16948
118 오픈소스 소통을 위한 Git 공부하기 | ep6. 내 저장소에 소스를 푸시하기 위한 Fork | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.02 74
117 오픈소스 소통을 위한 Git 공부하기 | ep5. 브랜치 (Branch) 이해하기 | 애저 듣고보는 잡학지식 코난(김대우) 2022.11.01 45
116 오픈소스 소통을 위한 Git 공부하기 | ep4. 변경 단위를 만들기 위한 Commit | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.31 43
115 오픈소스 소통을 위한 Git 공부하기 | ep3. 소스를 가져오기 위한 Clone | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.30 57
114 오픈소스 소통을 위한 Git 공부하기 | ep2. Git를 소개합니다 | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.28 52
113 오픈소스 소통을 위한 Git 공부하기 | ep1. 버전 관리의 중요성 | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.27 55
112 오픈소스 소통을 위한 Git 공부하기 | ep0. 인트로 | 애저 듣고보는 잡학지식 코난(김대우) 2022.10.24 110
» Azure VM - 오픈소스 ROS Gazebo Web 설치 및 실행 file 코난(김대우) 2022.10.19 153
110 parquet 파일의 meta 정보 추출 코난(김대우) 2021.11.16 1127
109 embedded SQL - GlueSQL, rust 기반 오픈소스 프로젝트 file 코난(김대우) 2021.10.22 453
108 대규모 머신러닝 프로젝트 Serving에 사용되는 Python WAS, ASGI - uvicorn file 코난(김대우) 2021.10.06 1006
107 Apache Arrow 리뷰 file 코난(김대우) 2021.10.05 2046
106 autopep8을 이용한 python 린트(linting) 구현 코난(김대우) 2021.09.15 684
105 Python에서 환경변수(environment variable) 처리 코난(김대우) 2021.09.15 252
104 Python에서 random 문자열이나 숫자 가져오는 방법 코난(김대우) 2021.09.15 963
103 Python 중급 강좌 - 9. 비동기 작업(Asynchronous operations): asyncio 코난(김대우) 2021.01.03 760
102 Python 중급 강좌 - 8. 외부 리소스 관리(Managing external resources): with 코난(김대우) 2021.01.03 419
101 Python 중급 강좌 - 7. 파일작업(File read/write) file 코난(김대우) 2021.01.03 1419
100 Python 중급 강좌 - 6. 파일시스템(File system) 관리 코난(김대우) 2021.01.03 667
99 Python 중급 강좌 - 5. 다중상속(Mixins - multiple inheritance) 코난(김대우) 2021.01.03 492





XE Login