ROS2에서 urdf를 쓰는 첫걸음

할 일
ROS2에서 휴머노이드를 움직이고 싶습니다만, urdf라고 하는 로봇의 기술 방법에 대해 ROS2 환경에서 어떻게 하면 좋은지 모릅니다.
ROS1에 대응한 정보라면 책도 사이트도 곧바로 발견됩니다만, ROS2로 제로로부터가 되면 좀처럼 정보를 찾을 수 없습니다.
그래서 ROS2에서 hrdf를 시작하는 경우의 첫 걸음을 메모에 남겨 둡니다.
먼저 최소한의 urdf 파일을 작성하여 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의 뷰 화면의 조작은,
먼저 적절한 작업 공간으로 이동하여 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의 뷰 화면의 조작은,
$ nano 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>
rviz2 시작
$ rviz2
빈 rviz2가 일어나면 왼쪽에 "Displays"창이 있는지 확인합니다.
그렇지 않은 경우 위 메뉴의 Panels에서 Displays를 선택합니다.
udrf 적용
Displays 창 아래에 있는 Add를 누르고 RobotModel을 선택합니다.

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

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

덧붙여서 Rviz2의 뷰 화면의 조작은,
되어 있습니다.
보충
이번에는 xml 파일을 rviz2에서 열고 있기 때문에 패키지 빌드가 필요하지 않습니다.
작업 공간 활성화도 물론 필요하지 않았습니다.
그렇지만 향후의 실험에 필요하게 되기 때문에 그 준비만은 해 두었습니다.
계속
이 모노리스를 다음은 gazebo에 표시시키고 싶습니다.
다음 기사:
Reference
이 문제에 관하여(ROS2에서 urdf를 쓰는 첫걸음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Ninagawa_Izumi/items/411746933d221cb43e9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 모노리스를 다음은 gazebo에 표시시키고 싶습니다.
다음 기사:
Reference
이 문제에 관하여(ROS2에서 urdf를 쓰는 첫걸음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ninagawa_Izumi/items/411746933d221cb43e9d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)