- OS : Ubuntu 22.04
- ROS 2 Humble
- Gazebo 11
1. 액션 메세지 정의 만들기
1. 액션의 의미

"source : ROS 2 Documentation"
- action client가 action server에 요청할 때 send goal을 보낼 때 action definition이 같이 날아감
- action server는 마칠때까지 중간 과정을 topic으로 feedback을 줌
2. action 폴더 만들기

- my_first_package_msgs에 action 폴더 만들기 (mkdir action)
3. DistTurtle.action 생성
# Request
float32 linear_x
float32 angular_z
float32 dist
---
# Result
float32 pos_x
float32 pos_y
float32 pos_theta
float32 result_dist
---
# Feedback
float32 remained_dist

- 컨셉은 turtle을 내가 원하는 거리만큼 이동할 수 있도록
- Request에는 선속도와 각속도(cmd_vel), 이동해야 할 목표 거리
- Result에는 현재의 포지션과 자세 (turtle의 pos 토픽), 이동한 선(호)의 길이 계산 후 dist와 일치하면 정지
- 남은 거리는 Feedback으로
4. CMakeLists.txt 수정

- action 정의 추가했으니, CmakeLists.txt 수정
- action 폴더 안에 DistTurtle.action이라는 파일이 있음
5. package.xml 수정

6. 빌드 후 환경 부르기

- ws에서 humble 부르고 colcol build
- ros2study 환경 부르기
7. 결과 확인
