본문 바로가기

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

패스트캠퍼스 환급챌린지 6일차 : Interface Programming - Action

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

https://fastcampus.info/4oKQD6b

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

 

 

 

 

 

 

 

https://fastcampus.co.kr/data_online_selfdriving

 

자율주행 로봇을 위한 ROS 2 & SLAM & Nav2 한번에 끝내기 | 패스트캠퍼스

로봇 입문 시작점 ROS 2부터 자율주행 로봇을 위한 SLAM & Navigation2 와 시뮬레이터를 활용한 자율주행 로봇 실습까지 한번에

fastcampus.co.kr

본 글은 위 강의를 참고하여 작성되었습니다

 

 

 

 

[강의시작 | 강의종료]

 

 

 

[완강 인증]

 

 

 

[학습 내용]

 

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

 

 

 

 

[강의 후기]

 

이전에 실습했던 action server를 토대로, custom action type을 생성해 동작시키는 실습을 진행했습니다.

 

 

-custom action type-

: custom action type은 action server와 client가 주고받는 데이터 타입으로, goal/feedback/result를 가지고 있습니다. 사용자가 원하는 결과값을 도출하기 위해 생성할 수 있습니다. 형식은 아래와 같습니다.

 

<goal>
'''
ex) float32 theta
'''

---

<result>
'''
ex) float32 delta
    bool success 
'''

---

<feedback>
'''
ex) float32 remaining
'''

 

+ action type 생성이 완료되면 동작시킬 server.py 파일에서 import 시켜줘야합니다.

# ex) from custom_interfaces.action import RotateAbsolute

 

+ action type 속의 goal, result, feedback도 제대로 사용되는지 확인해줍니다.

 

 

 

-생각해볼 점-

 

이번 강의에선 Interface type을 생성 및 action server, client에 적용하는 실습을 진행하고, ROS2의 통신구조 공부를 마무리했습니다. 이전에 다뤘던 server에 생성한 interface type을 적용해 원하는 값을 반환받는 동작을 실습했습니다. 이전에 다뤘던 내용을 복습하며 개념을 정리하는 시간을 가졌습니다.

 

ROS 2 통신의 마지막 강의를 마치며

 

ROS 2를 처음 접하다 보니, 새롭게 배운 내용들이 많았습니다. 통신 방법에는 topic, service, action 3가지가 있습니다. topic은 비동기식 단방향 통신, service는 동기식 1대1 통신, action은 장기 실행을 위한 비동기 통신의 성격을 띱니다. topic은 '전송', service는 '연결', action은 '장기 수행'의 목적을 갖습니다. 이에 따른 동작과 실습도 진행했습니다. 기초 개념을 정립하고 실습을 진행하며 코드 작성방법, 실행방법, 활용방법, 실습 시 주의사항 등을 전체적으로 공부했습니다. 궁금하고 모르겠는 내용들은 이후에 진행하는 '심화 programming' 과정에서 다룰 수 있겠습니다. 앞으로 남은 강의도 기대가 되고, 꾸준히 수강하겠습니다.