
State Machine: 상황별 규칙으로 상태와 경로를 결정하기
UNICORN Racing 팀은 다양한 상황에 알맞게 대응하는 robust한 주행을 목표로 합니다. 주행 중 마주치는 각종 상황과 planner의 출력을 기반으로 예측 가능한 판단을 내려 주행의 목표와 경로, 속도를 결정하는 것이 State Machine의 역할입니다. State Machine은 정교한 이론이나 최적화가 아니라, 레이싱에서의 직관과 ...

UNICORN Racing 팀은 다양한 상황에 알맞게 대응하는 robust한 주행을 목표로 합니다. 주행 중 마주치는 각종 상황과 planner의 출력을 기반으로 예측 가능한 판단을 내려 주행의 목표와 경로, 속도를 결정하는 것이 State Machine의 역할입니다. State Machine은 정교한 이론이나 최적화가 아니라, 레이싱에서의 직관과 ...

The UNICORN Racing team aims for robust driving that responds appropriately to diverse situations. The State Machine’s role is to make predictable decisions from the situations encountered while dr...

동적 장애물 회피는 추월을 성공시키는 데 필수적인 요소이지만, 자신과 상대의 상태, 트랙 정보를 함께 활용해 좁은 트랙에서 추월을 성사시키는 것은 상당히 어려운 과제입니다. MPC처럼 자신과 상대의 timestep을 함께 고려해 step별 행동을 계획하거나, 제약조건을 걸어 솔버로 회피 궤적을 계산하는 방식은 솔루션을 예측하기 어렵고 매 순간 fea...

Dynamic obstacle avoidance is essential for successful overtaking — but pulling off an overtake on a narrow track, using your own state, the opponent’s state, and the track information together, is...

1. Pure Pursuit — 경로 추종 제어의 원리 Controller gb_optimizer가 만든 raceline을 실제 조향·속도 명령으로 바꾸는 런타임 제어기입니다. controller 패키지의 controller_manager 노드 — L1 guidance 기반 Pure Pursuit. 목표 raceline 추종: 차량이 매 ...

1. Pure Pursuit — The Principle of Path-Following Control Controller The runtime controller that turns the raceline built by gb_optimizer into actual steering and speed commands — the controller_...

0. 들어가기 전에 — 노드와 파라미터 본격적으로 튜닝하기 전에 용어 두 개만 짚고 가겠습니다. 노드(node): 실행되는 프로그램 한 덩어리입니다. 예시로, 우리가 추후에 조절해볼 speed_sector_tuner가 노드입니다. 파라미터(parameter): 그 노드가 들고 있는 설정값입니다. 예를 들어 “얼마나 멀리 내다보고 운전할지”...

0. Before We Start — Nodes and Parameters Two terms to cover before we tune in earnest. Node: one running chunk of a program. For example, the speed_sector_tuner we will adjust later is a node...
주행 중 속도나 PID 오차 같은 코드 속 값을 실시간으로 확인하고 싶을 때 사용합니다. 보통 ROS에서는 이런 값을 확인하려면 토픽을 새로 만들어야 하고(publisher 선언·메시지 타입 지정·발행 코드), 토픽이 아닌 내부 변수는 그마저도 어렵습니다. Pitwall telemetry는 코드 어디서든 pitwall.log("이름", 값)만 넣으면...
Use this when you want to watch values inside the code — speed, PID error, and so on — in real time while driving. Normally in ROS, checking such values means creating a new topic (declaring a publ...