LUMOS MAXIMA
로그인
LUMOS MAXIMA
로그인
[Autonomous Ship] A* Algorithm 자체 개발(3) : 처음부터 다시 구조화(2021.07.29.)
한은기
·
2021년 7월 29일
팔로우
0
Autonomous Ship
NAOE
0
Study) NAOE
목록 보기
7/11
문제점
글로 정리한 뒤 개발에 착수했으나, 각 클래스의 변수/메서드 및 상호 관계, 특히 코드의 흐름을 먼저 잡고 코딩을 하지 않았음
반복문이 많은 해당 알고리즘의 특성 상, 스스로도 헷갈리는 경우가 많았음
특히
배의 현재 위치
/
8방위를 탐색할 중심점
/
탐색하고 있는 8방위 점들
이 구분이 머릿속에서 명확히 되지 않았음
Numpy Array의 형상과 메서드가 매우 헷갈림. 때문에 계속 형상 문제에서 오류가 발생
해결책
처음부터 코드를 다시 작성함
순서도를 먼저 그린 뒤 각 클래스의 변수와 메서드를 먼저 정하고 시작
각 메서드나 클래스가 어디서 어떻게 불려지고, 무엇을 인수로 주고받는지 확실히 함
변수명을 통일
기존에 리스트였던 것들을 모두 Numpy Array로 통일함
피드백
출발점부터 도착점까지 무난히 잘 도착하는 것을 터미널 출력으로 확인함
완성된 코드는 그리 길지도 복잡하지도 않지만, 오류 수정하는 데 3-4시간을 소요함
특히 Numpy Array의 형상 문제로 오류가 잦았음. np.array([[1, 3]])과 np.array([1, 3])의 형상 차이를 구분하는 것이 매우 중요하며, 브로드캐스팅 연산 등 배열끼리의 연산에서도 애를 먹음
추후 계획
GPS 기반으로 좌표 찍기
시뮬레이션 돌려보도록 PyQt나 matplotlib 사용해 개발
ROS 용 제작
기타 초기 계획했던 부분 점검
알고리즘 개발 배경부터 구조가 담긴 자료 제작(PPT)
Source Code
GitHub(실시간 업데이트) :
AutonomousShipAlgorithm/A_star
한은기
🏫Inha Univ. Naval Architecture and Ocean Engineering & Computer Engineering (Undergraduate) / 🚢Autonomous Vehicles, 💡Machine Learning
팔로우
이전 포스트
[Autonomous Ship] A* Algorithm 자체 개발(2) : 경계선 설정 외(2021.07.26.)
다음 포스트
[Autonomous Ship] A* Algorithm 자체 개발(4) : 시뮬레이션 구현 외(2021.07.30.)
0개의 댓글
댓글 작성