Gazebo 동적 장애물을 글보고 실습해봤다.

 

참고 사이트는 다음과 같으며 https://github.com/akshayhiregoudar/dynamic_obstacles_in_gazebo

 

GitHub - akshayhiregoudar/dynamic_obstacles_in_gazebo: Build and import dynamic obstacles in a Gazebo environment.

Build and import dynamic obstacles in a Gazebo environment. - GitHub - akshayhiregoudar/dynamic_obstacles_in_gazebo: Build and import dynamic obstacles in a Gazebo environment.

github.com

 

사실 내가 구현한 건 박스 대신 이상한 카메라 동적 장애물을 만들었다.

https://www.youtube.com/watch?v=WGcN9x-cAG8 

카메라 동적 장애물들이 잘 움직인다. 

 

플러그인으로 장애물들이 움직이는 데 이부분을 수정한다면 이전 글에서 말한 UAM 환경 상 동적 장애물을 쉽게 구현할 수 있을것이다. 

 

장애물 후보로 길 잃은 택배드론, 야생 새, 다른 UAM 등으로 설정할 예정이다.

 

여러분에게 있어 가장 중요한 것은

위 환경을 만드는 방법이고 나는 다음과 같은 과정을 통해 구현했다.

 

우선 위 깃허브에서 클론 할 작업환경(폴더)를 만들어준다.

 

mkdir gazebo_obs && cd gazebo_obs

 

깃 클론 해주고

git clone {위에 깃허브 주소}

 

클론된 폴더에 들어가주고

cd {클론 된 깃 폴더}

 

동적 모션을 추가해주는 플러그인을 빌드해야되기에 빌드폴더를 만들어주고

mkdir build

 

이전에 있는 스크립트를 CMAKE로 어루만져주고(타겟 스크립트를 정해주고)

cmake ..

 

make로 빌드해준다. 

make 

 

그러면 리눅스에선 빌드하면 .so 파일들이 나올텐데 이것들을 가제보 플러그인 환경등록(정확한 설명은 아님)해주기 위해

export GAZEBO_PLUGIN_PATH=`pwd`:$GAZEBO_PLUGIN_PATH

 위 명령어를 실행해주고 다음 명령어를 친다. 이거 중요함. 안움직이면 build 폴더 내에서 위 명령어 쳐줘야함 아마 터미널 껐다 키면 다시 해줘야함

 

gazebo turtlebot3_cafe.world 

 

가제보 시뮬레이션이 실행되지만 장애물이 안보일거다 

 

왜냐하면 world 파일에 우리에겐 없는 모델이 있기 때문

 

 turtlebot3_cafe.world 파일을 열어서 table 모델을 다 없애준다.

 

그리고 실행 

 

gazebo turtlebot3_cafe.world 

 

그러면 영롱한 박스들이 돌아다닐것이다.

 

서비스로 파일 업로드.

 

 

turtlebot3_cafe.world
0.00MB

 

728x90

+ Recent posts