About me
home
Portfolio
home

Global Planner

진행 상태
완료
팀원
마감일
태그
작업 (하위 작업)에 관계됨
3 more properties

1. Waypoint 보간

2. Waypoint 노드별 분리, 저장

waypointstxt.zip
70.1KB
wA7A4.txt
31.0KB
w
x : 328540.00 y : 4161354.00
import math as m
float normalrad(float x):
if(x < - m.pi ) :
x = x + 2 * m.pi
elif x > m.pi:
x = x - 2*m.pi
return x

3. Dijkstra

코드
클래스
Dijkstra
다익스트라 알고리즘에 관련한 클래스
WaypointInfo
Waypoint 정보들에 관련한 리스트
waypoint txt파일들 읽어와서 노드들로 저장
std::vector<std::string> nodeList; // 각 노드의 알파벳 이름 std::vector<Pair> edgeList; // 어떤 노드들끼리 이어져있는지 (1,4) std::vector<std::vector<geometry_msgs::PoseStamped>> edgeWayList; // edge의 waypoint std::vector<Pairf> costList; // edge의 비용
C++
복사
노드, egde들이 저장된 “순서”가 index가 됨
두 클래스에서 노드들이 리스트로 저장되어 관리됨. 각 리스트에서 인덱스가 같은 것끼리 동일한 노드를 의미함

4. Waypoint 원점 수정 제안

원점 이동 전: rviz에서 경로가 이상하게 보임
원점 이동 후: 부드러움
school_navigation.zip
78.5KB
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