카테고리 없음

패스트캠퍼스 환급챌린지 21일차 : 자율주행 로봇을 위한 ROS 2 & Nav 2 한번에 끝내기 강의 후기

연두부진 2025. 3. 25. 23:05

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

 

오늘은 ROS2 통신방법 중 마지막인 Action의 개요를 배웠다.

 

[오늘의 수강 영상]

 

[오늘의 필기]

 

Action이란?

5초이상의 장기 실행작업을 위해 설계된 비동기 통신방식이다.

 

client와 server로 구성되어 있으며

server : 특정 액션을 제공하는 노드

client : 액션을 요청하는 노드

 

메시지 유형에는 세가지가 있다.

1. Goal : Action client가 서버에 요청하는 작업의 목표

(ex. A에서 B로 가고 싶다.)

2. Feedback : 장기 실행작업에 사용하기 위해 중간점검을 위한

server가 client에게 현재 프로그램의 중간 상태 정보

(ex. 목적지 까지 남은 시간,현위치정보)

3. Result : 작업이 완료되면 server가 client에게 반환하는 최종결과

(ex. B에 도착 완료)

 

전체적인 그림은 다음과 같다.

 

action은 장기실행작업에 사용되므로 중간에 그만두고 싶을 때

client에서 진행중인 작업 취소가 가능하다.

 

액션의 Interface type은 다음과 같다.

1.Goal 부분

2. Result 부분

3. Feedback 부분

액션 예시(example_interface/Fibonacci.action)

 

마지막으로 topic,service,action에 대해서

총정리해보면 다음과 같다.

 

구분 정의 특징 Interface type
Topic 노드 간 비동기식으로 단방향 통신으로 위한 메커니즘 1. 비동기 통신 : publisher와 subscriber가 각자 동작
2. 다대다 통신 : 하나의 Publisher와 여러개의 subscriber 
3. 고유한 메시지 타입
4. 실시간으로 사용
1. message 사용
2. .msg 확장자 사용

Service 노드 간 동기식으로 일대일 통신을 위한 메커니즘 1. 동기 통신 : client가 request를 보내고 server가 response를 보내면서 서로 통신이 오가며 그 사이에 서로 아무런 행동도 하지 못함
but, async를 사용해서 비동기로도 사용 가능
2. Request와 Response 모델사용
3. 일회성 호출 : client가 요청할 때만 정보를 줌
4. 정보가 필요한 경우가 명확한 상황일 때 사용
1. request와 response 사용
2. .srv 확장자 사용

Action 노드 간 동기식으로 5초 이상 작동하는 장기 실행 작업을 위한 메커니즘 1 비동기 통신 : client가 Goal을 설정해서 server에 보내면 실행이 시작되고 feedback을 받으면서도 다른 작업 수행가능
2. 진행 중인 작업 client에서 취소 가능
3. 피드백을 통한 진행 상황 모니터링 가능
1. goal, feedback, result 사용
2. .action 확장자 사용


통신 방법 중 마지막인 action에 대해 배워보면서

topic,service,action도 정리해보았는데

아무것도 몰랐던 21일 전과 달라진 것 같아

뿌듯한다.

 

현재 TIAGo에서 지원하는 패키지 중에 문제가 하나있어

action은 여기까지 진행하고

다음에 문제가 해결되면 이어서

실습을 진행해보겠다.

 

앞으로도 파이팅!!


공부 시작시간
공부 종료시간

 

#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완

https://bit.ly/4hTSJNB

 

🔥누적 수강 9백만 시간 돌파 기념 100% 페이백 (03.22 - 03.27) | 패스트캠퍼스

단 6일 한정! 지금 수강 시작하면 수강료 100% 돌려드려요!

fastcampus.co.kr