주요 콘텐츠

apply

메시지 엔터티를 타깃 프레임으로 변환

설명

tfentity = apply(tfmsg,entity)'TransformStamped' ROS 메시지로 표현되는 변환을 입력 메시지 객체 entity에 적용합니다.

이 함수는 entity의 메시지 유형을 결정하고 적절한 변환 방법을 적용합니다. 객체가 특정 메시지 유형을 처리할 수 없는 경우 MATLAB®에 오류 메시지가 표시됩니다.

최신 변환만 사용하려면 transform을 호출하십시오. 나중에 사용하기 위해 변환 메시지를 저장하려면 getTransform을 호출한 다음 apply을 호출하십시오.

참고

apply 항목은 제거될 예정입니다. rosApplyTransform을 대신 사용하십시오. 자세한 내용은 ROS 메시지 구조체 함수 항목을 참조하십시오.

예제

예제

모두 축소

TransformStamped ROS 메시지를 가져오기 위해 ROS 네트워크에 연결합니다. 연결할 IP 주소를 지정합니다. 변환 트리를 생성하고 원하는 두 프레임 사이의 변환을 구합니다.

rosinit('192.168.17.129')
Initializing global node /matlab_global_node_73610 with NodeURI http://192.168.17.1:55060/
tftree = rostf;
pause(1);
tform = getTransform(tftree,'base_link','camera_link',...
                     rostime('now'),'Timeout',5);

ROS Point 메시지를 만들고 변환을 적용합니다. ROS 네트워크 외부에서 Point 메시지를 가져올 수도 있습니다.

pt = rosmessage('geometry_msgs/PointStamped');
pt.Header.FrameId = 'camera_link';
pt.Point.X = 3;
pt.Point.Y = 1.5;
pt.Point.Z = 0.2;

tfpt = apply(tform,pt);

ROS 네트워크를 종료합니다.

rosshutdown
Shutting down global node /matlab_global_node_73610 with NodeURI http://192.168.17.1:55060/

입력 인수

모두 축소

변환 메시지로, TransformStamped ROS 메시지 핸들로 지정됩니다. tfmsggeometry_msgs/TransformStamped 유형의 ROS 메시지입니다.

ROS 메시지로, Message 객체 핸들로 지정됩니다.

지원되는 메시지:

  • geometry_msgs/PointStamped

  • geometry_msgs/PoseStamped

  • geometry_msgs/PointCloud2

  • geometry_msgs/QuaternionStamped

  • geometry_msgs/Vector3Stamped

출력 인수

모두 축소

변환된 ROS 메시지로, Message 객체 핸들로 반환됩니다.

버전 내역

R2019b에 개발됨

모두 확장

참고 항목