Main Content

collisionBox

상자 충돌 기하 도형 생성

R2019b 이후

설명

collisionBox를 사용하여 원점을 중심으로 하는 상자 충돌 기하 도형을 생성합니다.

생성

설명

예제

BOX = collisionBox(X,Y,Z)는 기하 고정 프레임에서 축 정렬된 상자 충돌 기하 도형을 생성하며, 이때 도형의 중심은 원점에 위치하고 대응하는 좌표축 방향의 각 변의 길이는 X, Y, Z입니다. 기본적으로 기하 고정 프레임은 세계 프레임과 함께 배치됩니다.

BOX = collisionBox(___,Pose=pose)는 세계 프레임을 기준으로 상자의 Pose 속성을 pose로 설정합니다.

속성

모두 확장

상자 기하 도형의 x축 방향 변 길이로, 양의 스칼라로 지정됩니다. 단위는 미터입니다.

데이터형: double

상자 기하 도형의 y축 방향 변 길이로, 양의 스칼라로 지정됩니다. 단위는 미터입니다.

데이터형: double

상자 기하 도형의 z축 방향 변 길이로, 양의 스칼라로 지정됩니다. 단위는 미터입니다.

데이터형: double

세계 프레임을 기준으로 하는 충돌 기하 도형의 자세로, 4×4 동차 행렬 또는 se3 객체로 지정됩니다. 충돌 기하 도형을 생성한 후 자세를 변경할 수 있습니다.

참고

자세가 se3 객체로 지정되면 Pose 속성은 자세를 숫자형 4×4 행렬로 저장한다는 점에 유의하십시오.

데이터형: single | double

객체 함수

show충돌 기하 도형 표시
convertToCollisionMeshConvert collision primitive geometry into collision mesh geometry
fitCollisionCapsuleFit collision capsule around collision geometry

예제

모두 축소

원점을 중심으로 하는 상자 충돌 기하 도형을 생성합니다. x, y, z 방향의 변의 길이는 각각 3미터, 1미터, 2미터입니다.

box = collisionBox(3,1,2)
box = 
  collisionBox with properties:

       X: 3
       Y: 1
       Z: 2
    Pose: [4x4 double]

상자를 시각화합니다.

show(box)
title("Box")

Figure contains an axes object. The axes object with title Box, xlabel X, ylabel Y contains an object of type patch.

두 개의 동차 변환 행렬을 만듭니다. 첫 번째 행렬은 z축 중심의 π/2라디안 회전이고, 두 번째 행렬은 x축 중심의 π/8라디안 회전입니다.

matZ = axang2tform([0 0 1 pi/2]);
matX = axang2tform([1 0 0 pi/8]);

첫 번째 상자와 동일한 크기로 두 번째 상자 충돌 기하 도형을 생성합니다. 상자의 자세를 두 행렬의 곱으로 변경합니다. 이 곱은 z 축 중심의 첫 회전 후 이어서 x 축 중심의 회전에 해당합니다. 결과를 시각화합니다.

box2 = collisionBox(3,1,2);
box2.Pose = matZ*matX;
show(box2)
title("Box2")

Figure contains an axes object. The axes object with title Box2, xlabel X, ylabel Y contains an object of type patch.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2019b에 개발됨

모두 확장