Apple의 신형 MacBook Pro는 아키텍처가 M1이라서 안타깝게도 다양한 서비스를 받지 못 합니다. 신형 MacBook Pro는 Ubuntu에서 ROS를 사용하기 위해 가상 소프트웨어인 Paralles가 필요하지만 비싼 가격 때문에 사용하기가 꺼려집니다. 그래서 macOS를 지원하는 ROS2를 설치하려고 했지만 ARM 아키텍처는 지원해 주고 있지 않습니다.
개인적으로 ROS를 공부하고 싶었던 저는 다른 방법을 찾던 중 학부 때 다루었던 Matlab이 ROS2를 지원한다는 사실을 알게 되었습니다. Matlab의 ROS2는 다행이도 신형 MacBook에서도 문제없이 작동했습니다. 이를 계기로 기쁜 마음으로 Matlab을 통해 ROS2를 공부를 시작했습니다. 이 글은 ROS에 대해 이미 어느정도 알고 있다는 전제하에 작성되었습니다.Matlab의 ROS2
ros2node로 노드를 만들 수 있습니다.
test1 = ros2node("/test1")

ros2 node list로 네트워크에 있는 모든 노드를 볼 수 있습니다.

clear로 네트워크에서 원하는 노드를 종료할 수 있습니다.
clear test1

exampleHelperROS2CreateSampleNetwork로 네트워크에 샘플 Subscriber와 Publisher를 추가할 수 있습니다. 그리고 ros2 node list로 추가된 노드를 확인해 봅시다. 우측의 작업공간에 추가된 노드들과 다른 요소들을 한눈에 볼 수 있습니다.
exampleHelperROS2CreateSampleNetwork
ros2 node list

ros2 topic list로 네트워크에 있는 토픽을 확인할 수 있습니다. /parameter_events는 ROS2에 항상 존재하는 전역 토픽입니다. exampleHelperROS2CreateSampleNetwork에 있는 다른 토픽인 /pose와 /scan도 확인할 수 있습니다.
ros2 topic list

ros2 topic list -t로 각 토픽의 메시지 타입을 확인할 수 있습니다.
ros2 topic list -t

Publiser와 Subscirber는 메시지를 통해 서로 정보를 주고 받습니다. 메시지에는 발행 시간, 데이터 타입 등 다양한 정보가 담겨있습니다. ros2 msg show를 입력해 원하는 메시지에 대한 정보를 알 수 있습니다.
ros2 msg show geometry_msgs/Twist

다른 메시지도 알아봅시다.
ros2 msg show geometry_msgs/Vector3

clear를 입력하면 ROS2 네트워크와 연결을 해제할 수 있습니다. 입력하면 우측 작업공간에 있는 토픽, 메시지, 노드 등 모두 사라집니다.
clear