MOTION — 모델에 규정 운동을 부여하는 motion generator(및 동명의 force 함수)

Adams 에서 MOTION 은 두 가지로 쓰인다. (1) 모델의 조인트나 마커에 규정된 운동을 강제하는 motion generator 요소, (2) 그 운동이 유발하는 force/torque 성분을 돌려주는 run-time MOTION 함수 이다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.139] [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.646].

정의·용도

motion generator 는 모델 안에서 운동을 생성하는 요소로, constraint create motion_generator 명령으로 만들고 constraint modify motion_generator 명령으로 수정한다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.139] [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.224]. translational, revolute, cylindrical joint 에 부착하여 그 조인트의 자유도에 시간 함수로 규정된 운동을 부여할 수 있다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.226].

Adams data set file 을 읽어 생성된 motion generator 의 이름은 문자 MOT 뒤에 Adams data set ID 번호가 붙는다. 예를 들어 Adams MOTION/101 의 이름은 MOT101 이다. 전처리(preprocessing) 중에 만들었다면 그때 지정한 이름을 갖는다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1608].

run-time 함수로서의 MOTION 은 motion object 가 영향을 주는 두 body 중 한쪽에 그 motion 이 유발하는 force 또는 torque 성분을 돌려준다. 즉 MOTION_NAME 으로 지정한 motion 이 일으키는 force COMPONENT 를 반환한다 [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.646] [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1701].

형식 / 필드 / 구문

motion generator 생성 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.139]:

constraint create motion_generator
  motion_name              = a new motion
  adams_id                 = geom._id
  comments                 = string
  joint_name               = existing joint
  type_of_freedom          = freedom type
  i_marker_name            = existing marker
  j_marker_name            = existing marker
  axis                     = motion_axes
  function                 = function
  user_function            = real
  time_derivative          = displacement / velocity / acceleration
  displacement_ic          = length
  velocity_ic              = velocity
  rotational_displacement_ic = angle
  rotational_velocity_ic   = angular_velocity
  Routine                  = string

주요 파라미터 의미 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.141] [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.226]:

Parameter설명
motion_namemotion generator 의 이름 (생성 시 새 이름, 수정 시 기존 이름)
joint_name이 요소가 결합되는 translational/revolute/cylindrical joint
type_of_freedomcylindrical joint 에 부착 시 translational 또는 rotational 운동 지정
i_marker_name / j_marker_nameI/J marker 지정
axisX/Y/Z/B1/B2/B3
time_derivativeFUNCTION 인자가 displacement·velocity·acceleration 중 무엇을 정의하는지 지정
displacement_icvelocity/acceleration 으로 정의된 motion 의 초기 변위
velocity_icacceleration 으로 정의된 motion 의 초기 속도
rotational_displacement_ic회전 변위
rotational_velocity_ic회전 속도

MOTION run-time 함수 [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.646]:

MOTION (Motion Name, On This Body, Force Component, Along/About Axes)

panel set twindow_function motion 형식에서는 motion_name, return_value_on_marker, component(= all_components), reference_marker 인자를 받는다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1701].

사용 예

joint 에 시간 함수의 회전 운동을 부여하는 예 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.140]:

constraint create motion_generator &
  motion_name             = ROT_MOTION &
  joint_name              = JOINT_1 &
  type_of_freedom         = rotational &
  function                = time &
  rotational_velocity_ic  = 25.9 &
  rotational_displacement_ic = 25.4

위 명령은 지정한 joint 에 시간 함수인 회전 운동을 부여하며, 회전 속도는 25.9, 회전 변위는 25.4 가 된다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.140]. 기존 motion 의 이름을 바꾸는 등 수정에는 constraint modify motion_generator 를 쓴다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.225].

Function Builder 에서 motion 함수를 만들 때는, 링크에 revolute joint 와 rotational joint motion 을 둔 뒤 motion 아이콘을 Modify 하고 Impose Joint Motion 대화상자의 F(time) 항목에 Function Builder 로 함수(예: Math Functions 의 Simple Harmonic)를 작성한다 [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.729] [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.730].

관련 항목

출처

  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.139]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.140]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.141]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.224]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.225]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.226]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1608]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1701]
  • [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.646]
  • [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.729]
  • [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.730]