MATLAB 도움말 센터
로봇 바디 교체
replaceBody(robot,bodyname,newbody)
replaceBody(robot,bodyname,newbody)는 로봇 모델의 바디를 새로운 바디로 교체합니다. Parent 속성과 Children 속성을 제외한 바디의 모든 속성이 이 변경에 따라 업데이트됩니다. 나머지 로봇 모델은 영향을 받지 않습니다.
robot
bodyname
newbody
Parent
Children
예제
모두 축소
동역학 함수를 사용하여 조인트 토크와 조인트 가속도를 계산하기 위해 rigidBodyTree 객체와 rigidBody에 대한 동역학 속성을 지정합니다.
rigidBodyTree
rigidBody
강체 트리 모델을 만듭니다. 연결할 두 개의 강체를 만듭니다.
robot = rigidBodyTree('DataFormat','row'); body1 = rigidBody('body1'); body2 = rigidBody('body2');
바디에 연결할 조인트를 지정합니다. body2의 고정 변환을 body1로 설정합니다. 이 변환은 x 방향으로 1미터입니다.
body2
body1
joint1 = rigidBodyJoint('joint1','revolute'); joint2 = rigidBodyJoint('joint2'); setFixedTransform(joint2,trvec2tform([1 0 0])) body1.Joint = joint1; body2.Joint = joint2;
두 바디에 대한 동역학 속성을 지정합니다. 로봇 모델에 두 바디를 추가합니다. 이 예제에서는 구형 질량(body2)이 연결된 막대(body1)에 대한 기본값이 제공됩니다.
body1.Mass = 2; body1.CenterOfMass = [0.5 0 0]; body1.Inertia = [0.001 0.67 0.67 0 0 0]; body2.Mass = 1; body2.CenterOfMass = [0 0 0]; body2.Inertia = 0.0001*[4 4 4 0 0 0]; addBody(robot,body1,'base'); addBody(robot,body2,'body1');
전체 로봇의 질량 중심 위치를 계산합니다. 로봇에 그 위치를 플로팅합니다. xy 평면 보기로 바꿉니다.
comPos = centerOfMass(robot); show(robot); hold on plot(comPos(1),comPos(2),'or') view(2)
두 번째 바디의 질량을 변경합니다. 질량 중심이 변하는 것을 알 수 있습니다.
body2.Mass = 20; replaceBody(robot,'body2',body2) comPos2 = centerOfMass(robot); plot(comPos2(1),comPos2(2),'*g') hold off
로봇 모델로, rigidBodyTree 객체로 지정됩니다. 강체가 이 객체에 추가되고, bodyname에 의해 지정된 강체에 연결됩니다.
바디 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 바디는 robot으로 지정된 로봇 모델에 있어야 합니다.
데이터형: char | string
char
string
강체로, rigidBody 객체로 지정됩니다.
모두 확장
사용법 관련 참고 사항 및 제한 사항:
rigidBodyTree 객체를 만들 때 MaxNumBodies로 로봇 모델에 추가할 수 있는 바디의 상한을 지정하는 구문을 사용하십시오. 또한 DataFormat 속성을 이름-값 쌍으로 지정해야 합니다. 예를 들면 다음과 같습니다.
MaxNumBodies
DataFormat
robot = rigidBodyTree("MaxNumBodies",15,"DataFormat","row")
데이터 사용량을 최소화하기 위해 모델에서 예상되는 바디 개수에 가까운 수로 상한을 설정하십시오. 코드 생성 시 모든 데이터 형식이 지원됩니다. 동역학 함수를 사용하기 위해 데이터 형식을 "row" 또는 "column"으로 설정해야 합니다.
"row"
"column"
show 및 showdetails는 코드 생성을 지원하지 않습니다.
show
showdetails
R2016b에 개발됨
rigidBodyJoint | rigidBody | replaceJoint | addBody | removeBody
rigidBodyJoint
replaceJoint
addBody
removeBody
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
유럽
아시아 태평양
지역별 지사에 문의