본문 바로가기

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

패스트캠퍼스 환급 챌린지 43일차 : BT 이해를 위한 간단한 프로그래밍

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

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

 

 

 

[강의시작 | 강의종료]

 

 

[완강 인증]

 

 

 

[학습 내용]

 

 

-bt_test-

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

 

 

-bt_test_Groot2-

 

 

-bt_sequence-

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

 

 

-bt_fallback-

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

 

 

[강의 후기]

-생각해 볼 점-

이번 강의에서는 BT 이해를 위한 간단한 프로그래밍 실습을 진행했습니다. Behavior Tree는 설계한 행동의 처음부터 끝까지를 순차적으로 실행합니다. 이를 이용해 Sequence, Fallback을 실습하고 Groot2를 사용해 시각화 해봤습니다. BT를 이해하기 위해 공을 잡고 옮겨서 내려놓는 작업을 수행하는 로봇을 Behavior Tree로 구상했습니다. 공에 다가가는 ApproachBall, 공을 찾는 Findball, 공을 놓는 Placeball, 공을 잡는 Gripper, 공이 가까이에 있는지 확인하는 Ballclose, 공이 잡혔는지 확인하는 Ball grasped의 행동 및 연산을 수행합니다. bt_test 영상을 확인해보면 FindBall -> Ballclose -> ApproachBall -> Ball grasped -> Placeball 순으로 실행되는것을 확인할 수 있습니다. 이와 같이 실행되는 BT 형태는 Groot2 실습 이미지에서 확인할 수 있습니다. sequence와 fallback 실습 영상에서는 3가지의 행동을 이용해 논리 연산을 실습했습니다. sequence는 task1만 출력되는것을 확인할 수 있습니다. sequence는 이하의 모든 작업들이 Success/True 값이어야 참 값을 반환하기 때문에, failure가 포함되는 순간 Failure, False 값을 냅니다. Fallback은 task 1,2를 출력했습니다. fallback은 이하의 작업들 중 하나만 success/true 값이면 참 값을 반환하기 때문에 2번째 task에서 참 값을 반환하며 종료됩니다. 여기서 참 값을 출력하는 디버깅이 없기 때문에 화면에는 출력되지 않았습니다. 이렇게 BT의 구조와 작동 방식에 대한 실습을 진행해봤는데, 이전에 배웠었던 CPP을 기반으로 돌아가다 보니 이해하는데 있어서 큰 어려움은 없었습니다. Behavior Tree는 로봇의 동작을 관리하는데 있어서 전체적인 틀을 잡고 방향성을 제시해 주는 중요한 역할을 수행합니다. 실제 프로젝트를 수행할 때에도 사용할 수 있도록 더 자세히 학습하겠습니다.