Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

:)

URDF기반 자동차 3D모델링 본문

ROS

URDF기반 자동차 3D모델링

mihee 2022. 3. 10. 18:56

로봇 모델링 언어

  • ROS는 로봇을 3D로 모델링하는 언어를 지원
    • URDF : Unified Robot Description Format
    • 로봇의 3D 형상 및 외관, 관성 등 물리적 특성 등을 XML 언어로 정의함
    • URDF로 정의된 로봇 모델은 RVIZ에서 3차원으로 보거나 Gazebo에서 물리 시뮬레이션 가능

URDF 좌표계와 단위

  • 좌표계
    • 위치나 크기를 표현하기 위해 데카르트 좌표계 x,y,z 사용
    • 회전을 표한하기 위해 오일러각도 roll,pitch,yaw를 사용
  • 단위
    • 길이 : 미터 m
    • 각도 ; 라디안 radian
    • 질량 : 킬로그램 kg
    • 속도 : m/s (병진/직진운동)
    • 각속도 : radian/s (회전운동)

URDF 형상과 색상 표현

  • 형상 표현
    • cylinder : 원통
    • box : 상자
    • sphere : 공
  • 색상표현
    • RGB + 투과율 A를 0~1 사이의 숫자로 정의

URDF 기구 표현

  • 기구의 표현
    • Base : 고정 부분(grounded)
    • Link : 관절에 연결되는 로봇 팔의 부분
    • Joint : 링크를 연결하는 부위로 보통 모터의 회전을 통해 움직임을 만듦
      • fixed : 고정
      • revolute : 작동 범위 제한
      • continuous : 연속회전

URDF - XML

  • link 태그의 구성
  • <visual> : 시각화를 위해 형상과 위치를 정의 <geometry> : 형상 정의 (원통, 상자, 공) <orgin> : 꼬정축을 기준으로 Link 형상의 roll, pitch, yall 위치를 라디안으로 나타내고 x,y,z 좌표 위치를 미터 단위로 지정함 <material> : 형상의 컬러값을 지정
  • joint 태그의 구성 ( 형상으로 표현되지 않음)
<parent> : parent frame의 이름을 지정해서 child frame과 연결
<child> : child frame의 이름을 지정해서 parent frame과 연결
<orogin> : 고정축을 기준으로 형상의 Roll, pitch, yall 위치를 라디안으로 나타내고 x,y,z 좌표 위치를 미터 단위로 지정. joint는 parent의 orgin을 child는 joint의 Origin을 고정축으로 정함
<limit> : Joint의 운동범위 제한값을 지정
  lower : revolute type의 joint에서 최저 각을 지정
  upper : revolute type의 joint에서 최대 각을 지정
  effort : N 힘의 최대값을 지정
  velocity : radian/s 최대속도를 지정함

RVIZ에서 회전막대 시각화

  1. ex_urdf 패키지 만들기 (ROS workspace의 src 폴더에 작업)
    • $ catkin_create_pkg ex_urdf roscpp tf geometry_msgs urdf rviz xacro
  2. 서브 폴더 만들기
    • /urdf 폴더 만들기 & pan_tilt.urdf 파일작성
  3. 서브 폴더 만들기
    • launch 폴더 만들기 & view_pan_tilt_urdf.launch 만들기
  4. 생성된 파일 확인
    • check_urdf pan_tilt.urdf (작성된 urdf 파일에 문법적인 오류가 있는지 확인)
    • urdf_to_graphiz pan_tilt.urdf ( link와 joint 관계도를 PDF 파일로 만들어준다.)
roslaunch ex_urdf view_pan_tilt_urdf.launch 

'ROS' 카테고리의 다른 글

자이카 센서  (0) 2022.03.11
RVIZ 오도메트리 활용  (0) 2022.03.10
자이카 ROS 패키지  (0) 2022.03.07
ROS 설치와 구동 실습  (0) 2022.03.06
ROS 기초  (0) 2022.03.05
Comments