-
자율 주행 시스템 : 행동(Action) 단계Autonomous Navigation/Control 2021. 9. 3. 14:21
2021.08.02 - [Autonomous Navigation] - 자율 주행(Autonomous Navigation)
자율 주행(Autonomous Navigation)
자율 주행(Autonomous Navigation)은 크게 인지(Perception)과 계획(Planning), 그리고 행동(Action) 단계로 이루어져 있습니다. 인지 단계에서는 주변 환경, 즉 장애물과 이동 가능한 공간 등을 파악합니다. 계
wjdghksdl26.tistory.com
자율 주행에 대한 소개글에서 언급했듯, 자율 주행 시스템은 인지(Perception) - 계획(Planning) - 행동(Action) 단계로 이루어져 있습니다. 계획과 행동 단계는 딱딱 나누어져 있기보다는 어느 정도 겹쳐져 있습니다.
계획 단계는 인지 단계에서 제공하는 주변 환경의 정보를 받아서 적절한 제약 조건 하에 이동하기 위한 경로를 생성하는 작업입니다. 예를 들어 우회전을 해야 한다고 할 때, 우회전 차로로 차선 변경을 해야 하는데 그 차선에 충돌 가능성이 있는 차량이 있는지 등의 정보를 이용해 어느 시점에 차선 변경을 어느 속도로 어디서 해야 할지를 결정하는 작업입니다. 일반적으로 Path planning이라고 검색을 해 보면 A* algorithm이나 RRT algorithm등을 찾을 수 있는데, 당연히 도로 환경에서 이러한 planner들을 바로 사용할 수는 없습니다. 환경이 매우 dynamic하기 때문인데, 하여튼 계획 단계는 별도의 카테고리에서 다루도록 하겠습니다.
행동 단계는 계획 단계에서 내놓은 경로를 추종하며 이동하는 단계입니다. 위의 그림은 계획 단계의 시스템이 내놓은 경로 데이터입니다. 그런데 이 경로는 그냥 이런 식으로 가라는 정보일 뿐, 실질적으로 엑셀과 브레이크, 기어를 어떻게 조작할지는 알려주지 않습니다. 이것이 행동 단계에서 할 일입니다. 즉, 경로는 어떻게어떻게 해서 주어졌는데 과연 이 경로로 이동하기 위해서는 스티어링을 어떻게 조작해야 하는가~ 라는, 자율 주행 시스템의 마지막 단계에 가까운 시스템이라고 볼 수 있습니다.
물론 이 시스템을 계획 단계에 포함시킬 수도 있습니다. 경로를 내놓는 시스템을 global planner, 핸들과 엑셀을 조작하는 시스템을 local planner라고 표현하기도 합니다. 이 블로그에서는 글을 쪼개기 위해 local planner를 행동 단계라는 별도의 단계에 포함시키도록 하겠습니다.
한 가지 생각하고 지나가야 할 점은 자동차의 스티어링 모델입니다. 자동차는 앞바퀴의 각도를 비틀어서 조향을 하기 때문에, 당연하겠지만 위의 그림처럼 differential drive 로봇들과는 다르게 제자리 회전이 불가능합니다. 즉, 방향을 바꿀 때 반드시 rotation과 translation이 같이 일어납니다. 자율 주행 시스템의 스티어링 모델들은 모두 이런 제약 조건을 고려하여 설계되어 있습니다.
다음 글에서는 널리 사용되는 세 가지의 lateral control model에 대해 알아보겠습니다.
'Autonomous Navigation > Control' 카테고리의 다른 글
자율 주행 자동차의 스티어링 제어 방법 : Vehicle Lateral Control (0) 2021.09.03