Webots 프로젝트

이 페이지에는 Google Season of Docs에서 수락된 기술 작문 프로젝트의 세부정보가 포함되어 있습니다.

프로젝트 요약

오픈소스 조직:
Webot
테크니컬 라이터:
소프트 일루전 채널
프로젝트 이름:
Webots 동영상 튜토리얼 시리즈 (ROS2와 통합)
프로젝트 기간:
표준 기간 (3개월)

Project description

학습 결과:

이 동영상 튜토리얼 시리즈는 신규 사용자가 Webot을 가장 잘 시작할 수 있도록 돕고 시청자에게 구체적인 시뮬레이션을 달성하기 위한 명확한 단계별 솔루션을 제공합니다.

목표:

이 시리즈가 끝나면 시청자는 기본 ROS2 노드를 만들고 Webot과 상호작용할 수 있을 뿐만 아니라 모바일 로봇의 고급 프로젝트를 수행할 자신감을 얻을 수 있습니다. 이 동영상 시리즈는 로봇 공학 분야의 몇 가지 중요한 개념에 대한 훌륭한 이론 설명도 제공합니다.

동영상 시리즈 세부정보:

  1. Visual Studio Code에서 ROS 2 설치 및 저장소 설정 여기에는 ROS2의 명령별 설치와 작업의 기본 사항이 포함됩니다. 둘째, VS 코드에서의 ROS 작업공간 설정과 VS 코드에서 기본 탭의 기능도 포함됩니다.

  2. 기본적인 ROS2 및 Webots 예 Webots ROS2의 몇 가지 예를 사용하여 시뮬레이션을 위해 ROS2와 Webot을 함께 사용할 경우 어떻게 놀라운 일이 일어날지 시청자들의 이해를 얻게 됩니다. ROS2와 Webots 간의 통신에 대한 기본 이론도 포함됩니다.

  3. ROS2 서비스를 사용하여 Webots와 상호작용합니다. ROS와 ROS2 서비스의 차이점을 설명하는 ROS 서비스의 기초 교육 둘째, 서비스를 호출하고 판독값에 센서 주제를 사용하고 모션에 대한 액추에이터를 활성화하기 위한 단계별 튜토리얼을 표시합니다.

  4. ROS2 퍼블리셔로 맞춤 로봇을 조종합니다. ROS2 게시자를 사용하여 Webot에 메시지를 게시하는 방법을 알아봅니다. ROS 서비스에서 Webot의 모션에 사용할 수 있는 주제에 키보드 출력을 게시하여 로봇 모션을 제어하는 예를 구현할 수 있습니다.

  5. ROS2 구독자를 가진 로봇의 피드백을 받습니다. 이 동영상에서는 거리 센서의 센서 측정값을 구독하여 충돌하려는 로봇을 멈춥니다. 따라서 기본적으로 이는 게시되는 대화형 메시지가 포함된 장애물 회피 노드입니다.

  6. 마스터(게시자) 슬레이브(구독자) 로봇 및 ROS2 이 동영상에서는 키보드로 한 로봇을 조종하고 다른 로봇을 수동 로봇으로부터 도망치게 합니다. '도둑과 경찰'의 시나리오와 비슷합니다. [3,4,5개 동영상의 연속입니다]. 이렇게 하면 시청자가 커뮤니케이션을 테스트할 수 있으며 ROS에 문제가 있는 경우 시뮬레이션에서 결함이 발생합니다.

  7. Rviz 설정 (다른 센서 출력 표시). 이 동영상에서는 몇 가지 다른 센서를 추가하고 Rviz에 데이터를 게시합니다. 이 동영상이 끝나면 시청자가 Rviz를 설정 (예: 시각화를 위해 Lidar, Camera 등의 센서 추가)하여 구성을 저장하고 다음 번에 저장된 구성을 생성할 수 있습니다.

  8. 디버깅 동영상 (Rostopic echo, Rostopic info, RQT_graph) 이 동영상에서는 디버깅 기법을 이해하는 데 도움이 되도록 몇 가지 주제의 고의적인 잘못된 기능을 포함합니다. RQT 그래프를 살펴보고 문제를 일으키는 주제를 파악하는 프로세스를 따라가 보겠습니다. rostopic echo를 사용하여 주제가 게시되고 있는지 확인하고 마지막으로 rostopic 정보를 확인하여 문제를 확인합니다. 문제를 해결하고 정상적으로 작동합니다.

  9. 디버깅 동영상(rqt_console, rqt_gui) 이 동영상에서는 Ros 메시지(정보, 디버그, 오류 등)를 노드에서 사용하고 rqt_console 사용 방법을 알아봅니다. 또한 이 동영상은 rqt_gui를 사용하여 더미 메시지를 게시하여 필요한 기능을 사용하도록 확장될 예정입니다. 이는 일부 버그를 수정하기 위한 대안이 될 수 있습니다.

  10. 고급 주제 동영상: 알 수 없는 환경 (SLAM 도구 상자 또는 LaMa)에서의 SLAM 라이브러리 통합[1부] 이 동영상은 SLAM 문제의 기본 이론으로 시작합니다. 그런 다음 위에서 학습한 개념을 사용하여 프로젝트의 핵심을 이해합니다. 마지막으로 터미널을 통해 필요한 노드를 생성하고 Rviz에서 매핑 출력을 확인합니다.

  11. 고급 주제 동영상: 알 수 없는 환경(SLAM 도구 상자 또는 LaMa)에서의 SLAM 라이브러리 통합에 관한 내용(SLAM 도구 상자 또는 LaMa)[2부] 이 동영상에서는 10번째 동영상의 연장선에서 모든 노드를 함께 실행하는 시작 파일을 만들고 ROS 프레임워크의 개념을 제대로 이해하기 위해 rqt_graph를 검사하는 방법을 설명합니다. 마지막으로 지도 서버를 사용하여 패키지에서 생성한 지도를 저장합니다.

  12. 고급 주제 동영상: OpenCV (AR 태그 감지, Ar_track_alvar 패키지) 통합에 관한 동영상 [1부] AR 태그의 정의와 컴퓨터 비전을 사용한 현지화에서 AR 태그의 중요성에 관한 동영상을 시작합니다. 그런 다음 AR 트랙 Alvar 패키지가 작동하는 방식을 기반으로 합니다. 이는 프로젝트에 대한 전반적인 관점을 제공하는 데 도움이 됩니다. 마지막으로 Webots에서 ROS 주제로 전송되는 동영상 프레임 스트림을 지원하는 서비스를 제공합니다.

  13. 고급 주제 동영상: OpenCV (AR 태그 감지, Ar_track_alvar 패키지) 통합[2부] 이 동영상은 패키지에서 위의 이미지 스트림을 사용하는 12번째 동영상의 연장선이며 로봇과 AR 태그 간의 변환 주제가 게시되어 Rviz에서 볼 수 있습니다. 마지막으로 로봇을 움직이면 Rviz 및 rostopic 메시지에서 다양한 태그의 위치와 위치가 변경되는 것을 볼 수 있습니다.

결론:

이 GSOD 프로젝트는 ROS2와 Webot의 통합에 관한 기본적인 이해를 돕는 독립적인 패키지입니다. 이 패키지에는 주제, 서비스, 노드, 시작 파일, 게시자, 구독자, 다양한 디버깅 도구 및 VS 코드 사용과 같은 ROS2의 개념의 실용적 구현도 포함되어 있습니다. 여기에는 SLAM 및 OpenCV와 같은 고급 주제 프로젝트도 포함됩니다. 이를 통해 시청자는 ROS2와 Webot을 사용한 엔드 투 엔드 작업의 패러다임을 경험할 수 있습니다.