ROS2에서 urdf를 쓰는 첫걸음

5042 단어 ROS2rviz2URDFrviz
아무것도 실망이 중요

할 일



ROS2에서 휴머노이드를 움직이고 싶습니다만, urdf라고 하는 로봇의 기술 방법에 대해 ROS2 환경에서 어떻게 하면 좋은지 모릅니다.
ROS1에 대응한 정보라면 책도 사이트도 곧바로 발견됩니다만, ROS2로 제로로부터가 되면 좀처럼 정보를 찾을 수 없습니다.
그래서 ROS2에서 hrdf를 시작하는 경우의 첫 걸음을 메모에 남겨 둡니다.
먼저 최소한의 urdf 파일을 작성하여 rviz2로 표시할 수 있는지 확인합니다.

필요한 것


  • ROS2를 사용할 수 있는 환경(Ubuntu 20.02 + ROS2/foxy)
  • ROS2의 기초 지식 (topic의 송수신 데모를 시도한 정도로 좋다)
  • rviz2 도입

  • 참고



    Using URDF with robot_state_publisher
    ROS 강좌 13 URDF 작성 1
    매우 참고가 되었습니다. 감사합니다.

    ROS2 패키지 만들기



    먼저 적절한 작업 공간으로 이동하여 urdf 테스트용 패키지를 만듭니다.
    $ ~/dev_ws/src #ビルド済みで使える状態の適当なワークスペース
    $ ros2 pkg create urdf_test --build-type ament_python --dependencies rclpy
    

    새롭게 작업 공간을 만들었다고 하는 경우는, 일단 액티베이트도 해 둡니다.
    (활성화하려면 여기를 클릭)
    $ CD ~/dev_ws/
    $ source install/local_setup.bash
    $ CD ~/dev_ws/src
    


    urdf 빈 파일과 저장할 위치를 준비합니다.
    $ cd urdf_test/
    $ mkdir urdf
    $ cd urdf_test
    $ touch test.urdf
    

    urdf 쓰기



    urdf의 내용을 써 갑니다. urdf는 xml 형식의 파일입니다.
    $ nano test.urdf
    

    nano는 물론 vim에서도 code에서도 사용할 수있는 편집기로 OK입니다.

    test.urdf
    <robot name="test_robot">
      <link name="base_link"/> #基準となる空のリンク
    
      <joint name="body_joint" type="fixed"> #ジョイントの設定
        <parent link="base_link"/> #ジョイントの親を指定
        <child  link="body_link"/> #ジョイントの子を指定
      </joint>
      <link name="body_link"> #リンクの設定
        <visual>
          <geometry>
            <box size="0.1 0.2 0.4"/> #見た目を長方形に設定
          </geometry>
        </visual>
      </link>
    </robot>
    

    urdf는 링크 (팔과 같은 부품)와 조인트 (관절과 같은 부품)의 쌍으로 쓰여집니다.
    위는 아마도 urdf의 최소 구성이며 여기에서 뭔가 요소를 제거하면 Rviz2에서 볼 수 없습니다.

    rviz2에서 urdf 표시



    rviz2 시작


    $ rviz2
    

    빈 rviz2가 일어나면 왼쪽에 "Displays"창이 있는지 확인합니다.
    그렇지 않은 경우 위 메뉴의 Panels에서 Displays를 선택합니다.

    udrf 적용



    Displays 창 아래에 있는 Add를 누르고 RobotModel을 선택합니다.



    'RobotModel'이 추가되면,
    Description Source 오른쪽의 공란을 선택하고 File을 선택합니다.
    또한 Description File의 오른쪽에 있는 공백을 선택하여 해당 파일을 지정합니다.



    아래와 같이 화면에 흰색 직육면체가 표시되면 성공입니다.



    덧붙여서 Rviz2의 뷰 화면의 조작은,
  • 왼쪽 클릭 + 이동 : 회전
  • 휠 누름 + 이동 : 이동
  • 오른쪽 클릭 + 상하 : 확대 축소

  • 되어 있습니다.

    보충



    이번에는 xml 파일을 rviz2에서 열고 있기 때문에 패키지 빌드가 필요하지 않습니다.
    작업 공간 활성화도 물론 필요하지 않았습니다.
    그렇지만 향후의 실험에 필요하게 되기 때문에 그 준비만은 해 두었습니다.

    계속



    이 모노리스를 다음은 gazebo에 표시시키고 싶습니다.

    다음 기사:

    좋은 웹페이지 즐겨찾기