본문 바로가기

[패스트캠퍼스 11월 환급 챌린지]

패스트캠퍼스 환급챌린지 3일차 : Action 명령어

 

 

 

[ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ]

https://fastcampus.info/4oKQD6b

 

 

[강의시작 | 강의종료]

 

[완강 인증]

 

 

[학습 내용]

 

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.

 

 

 

[강의 후기]

이전 강의에서 다룬 Action의 명령어에 대해 실습해봤습니다.

 

help

help는 어떤 명령어가 있는지 확인할 때 사용합니다. 입력 방법은 아래와 같습니다.

ros2 action -h #--help

 

 

list

list는 현재 실행중인 action 목록을 확인할 때 사용합니다. 입력 방법은 아래와 같습니다.

ros2 action list

 

 

info

info는 특션 액션에 대한 정보를 확인할 때 사용합니다. 입력 방법은 아래와 같습니다.

ros2 action info <action_name>

 

옵션 -t를 추가하여 사용된 인터페이스에 대한 정보를 확인할 수 있습니다. 입력 방법은 아래와 같습니다.

ros2 action info <action_name> -t

 

 

show

show는 인터페이스에 대한 자세한 데이터를 확인할 때 사용합니다. 입력 방법은 아래와 같습니다.

ros2 interface show <pkg_name>/action/<interface_name>

 

 

send_goal

send_goal은 action_server에 요청을 보낼 때 사용합니다. 입력 방법은 아래와 같습니다.

ros2 action send_goal <action_name> <action_type> <values>
# ex) ros2 action send_goal /play_motion2 play_motion2_msgs/action/PlayMotion2 "{motion_name: 'wave'}"

 

인수로 -f(--feedback)를 붙여 피드백 데이터를 모니터링 할 수 있습니다. 입력 방법은 아래와 같습니다.

 

ros2 action send_goal -f <action_name> <action_type> <values>
# ex) ros2 action send_goal -f /torso_controller/follow_joint_trajectory control_msgs/action/FollowJointTrajectory "{trajectory: {joint_names: ['torso_lift_joint'], points: [{positions: [0.35], time_from_start: {sec: 3}}]}}"

 

 

 

 

 

 

-생각해볼 점-

Action의 명령어에 대해 공부하고 작동 방식에 대해 간략하게 실습해봤습니다. 이전 후기에서 얘기했었던 '개인 프로젝트를 진행할 대 action을 어떻게 사용할까'에 대한 부분을 조금더 구체화 할 수 있었습니다. 명령어 list를 통해 사용되는 action 목록을 확인하고, 필요한 기능이 없다면, action 파일을 생성 할 수 있습니다. 명령어 send_goal을 통해 원하는 동작을 수행시키고 -f(--feedback)인수를 추가해 수행중인 동작을 모니터링 할 수 있습니다.  다음 강의에선 action의 구성 요소인 Server와 Client를 다룰 것이고, 이에 따라 action의 동작 과정과 필요한 interface, 사용되는 interface type 등을 더 자세하게 다룰 것입니다. 강의를 따라가며 진행도가 점점 느는것이 볼때마다 만족스럽고, 알아가는것이 늘어날 때 마다 두근거립니다. 강의를 완강할 때 까지, 더 나아가 ROS2를 스스로 다루며 원하는 작업을 수행할 수 있을 때 까지 정진 하겠습니다.