이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
Gazebo 및 시뮬레이션된 TurtleBot 시작하기
이 예제에서는 Gazebo® 시뮬레이터 엔진을 설정하는 방법을 보여줍니다. 또한 이 예제는 Gazebo에 대해 더 깊이 알아보는 것은 물론 시뮬레이션된 TurtleBot®에 대해서도 알아보기 위한 준비 단계입니다.
Gazebo는 물리적 시나리오를 실제로 테스트하고 실험할 수 있는 시뮬레이터입니다. Gazebo는 고체 물리학과 우수한 그래픽스로 신속하게 실험을 생성하고 실행할 수 있기 때문에 로보틱스에서 유용한 툴입니다. MATLAB®은 ROS 인터페이스를 통해 Gazebo에 연결됩니다.
가상 머신 다운로드하기
ROS와 Gazebo가 이미 설치되어 있는 가상 머신 이미지를 다운로드할 수 있습니다. 이 가상 머신은 Ubuntu® Linux®를 기반으로 하며 ROS Toolbox™의 예제를 지원하도록 사전 구성되어 있습니다.
ROS 가상 머신을 다운로드하고 설치합니다.
가상 머신을 시작합니다.
Ubuntu 바탕 화면에는 여러 Gazebo 세계 시작 스크립트는 물론 기타 유틸리티 바로 가기도 표시됩니다. TurtleBot® 예제의 경우 Gazebo Empty 아이콘, Gazebo House 아이콘, Gazebo Office 아이콘 또는 Gazebo Sign Follower ROS 아이콘을 사용합니다.
Gazebo House를 클릭합니다. 세계(world)가 열립니다.
참고: Gazebo 화면이 완전히 검게 보이면 이미지를 최소화했다가 다시 최대화하여 새로 고칩니다.
Ubuntu 가상 머신에서 새 터미널을 엽니다.
ifconfig
를 입력하고 돌아가서 가상 머신에 대한 네트워킹 정보를 확인합니다.eth0
아래에서inet addr
은 가상 머신의 IP 주소를 표시합니다.
네트워크를 설정하려면 두 개의 ROS 환경 변수 ROS_MASTER_URI 및 ROS_IP를 설정해야 합니다. Linux® 가상 머신의 데스크탑에서 데모를 사용하는 경우 이러한 변수는 일반적으로 시작 시 자동으로 설정됩니다.
(선택 사항) 자체 가상 머신을 사용하는 경우 터미널에서 다음 명령을 실행하여 변수를 설정합니다.
IP_OF_VM
을ifconfig
를 통해 가져온 IP 주소로 바꿉니다.
echo export ROS_MASTER_URI=http://IP_OF_VM:11311 >> ~/.bashrc echo export ROS_IP=IP_OF_VM >> ~/.bashrc
echo $ENV_VAR
을 사용하여 환경 변수를 확인합니다(ENV_VAR을 적절한 환경 변수로 변경). 터미널을 닫았다가 다시 열면 적용됩니다.
다음 다이어그램은 올바른 환경 변수 할당을 보여줍니다(가짜 IP 주소가 사용됨).
기존 Gazebo 시뮬레이터에 연결하기
Linux 배포판에서 이미 Gazebo를 실행 중인 경우 다음 설명에 따라 시뮬레이터를 설정합니다.
ROS 웹사이트에서 TurtleBot에 적합한 패키지를 다운로드합니다.
ROS 웹사이트의 지침에 따라, 시뮬레이션된 Gazebo 환경에서 TurtleBot을 실행합니다.
환경 변수가 적절하게 설정되어 있고 호스트 컴퓨터와 Gazebo 컴퓨터 간에 ping을 주고받을 수 있는지 확인합니다. 네트워크를 설정하는 방법은 여러 가지가 있습니다. Connect to a ROS Network 예제에는 ROS 네트워크의 장치 간 연결을 확인하는 방법에 대한 팁이 포함되어 있습니다.
Linux 머신 터미널에서 ROS 명령을 사용하려면 적절한 ROS 설치를 사용하도록 터미널 환경을 설정해야 합니다. ROS 명령을 실행하기 전에 터미널에서 적절한 ROS 환경 설정 스크립트를 소싱합니다. 가상 머신에서 이 명령은
source
/opt/ros/noetic/setup.bash
입니다.다음 토픽에 대한 액세스 권한이 있는지 확인합니다. Linux 머신의 터미널에서, 사용할 수 있는 토픽을 확인하기 위해
rostopic list
를 입력합니다.
호스트 컴퓨터 설정
네트워크에서 호스트 컴퓨터의 IP 주소를 찾습니다. Windows® 컴퓨터의 경우 명령 프롬프트에서
ipconfig
를 입력합니다. Mac이나 Linux 컴퓨터의 경우 터미널을 열고ifconfig
를 입력합니다. 다음은ipconfig
의 예를 보여줍니다.
참고: 연결 유형은 랩탑에 연결되어 있는 방법에 따라 다를 수 있습니다. 이 경우 이더넷을 사용하기도 하지만 대부분의 경우 무선(wlan) 연결이 적절합니다.
시뮬레이터 머신
ping IP_OF_VM
에 대해 ping을 수행합니다. 성공한ping
이 먼저 표시되고 그 뒤에 실패한ping
이 표시됩니다.
다음 단계
Gazebo에 대한 더 많은 예제는 Pick-and-Place Workflow in Gazebo Using ROS (Robotics System Toolbox) 항목을 참조하십시오.
TurtleBot에 대한 예제는 Communicate with the TurtleBot 항목을 참조하십시오.