AWS DeepRacer가 지원하는 레이스 유형 및 이를 가능하게 하는 센서 이해 - AWS DeepRacer

AWS DeepRacer가 지원하는 레이스 유형 및 이를 가능하게 하는 센서 이해

AWS DeepRacer에서는 다음과 같은 유형의 레이싱 이벤트에 참여할 수 있습니다.

  • 타임 트라이얼: 방해 받지 않는 트랙에서 시간을 다투어 경주하며 가장 빠른 랩 타임을 목표로 합니다.

  • 장애물 회피: 정지 장애물이 있는 트랙에서 시간을 다투어 경주하며 가장 빠른 랩 타임을 목표로 합니다.

  • 헤드-투-봇 레이스: 같은 트랙에서 하나 이상의 다른 자동차를 상대로 경주하고 다른 자동차보다 먼저 결승선을 통과하는 것을 목표로 합니다.

AWS DeepRacer 커뮤니티 레이스는 현재 타임 트라이얼만 지원합니다.

AWS DeepRacer 차량에 다양한 센서를 장착하고 실험해야 특정 레이스 유형에서 주변 환경을 관찰할 수 있는 충분한 기능을 제공할 수 있습니다. 다음 단원에서는 지원되는 유형의 자율 레이싱 이벤트를 가능하게 하는 AWS DeepRacer 지원 센서에 대해 설명합니다.

AWS DeepRacer 레이싱 유형에 맞는 센서 선택

AWS DeepRacer 차량에는 전방 단안 카메라가 기본 센서로 제공됩니다. 또 하나의 전방 단안 카메라를 추가하여 전방 스테레오 카메라를 만들거나 단안 카메라 또는 스테레오 카메라를 LiDAR 장치로 보완할 수 있습니다.

다음 목록에는 AWS DeepRacer 지원 센서의 기능이 간단한 비용 혜택 분석과 함께 요약되어 있습니다.

전방 카메라

전방 단안 카메라는 트랙 경계 및 형태를 포함하여 호스트 차량 앞의 환경 이미지를 캡처할 수 있습니다. 가장 저렴한 센서이며 잘 표시된 트랙에서 장애물 없는 타임 트라이얼과 같은 간단한 자율 주행 작업을 처리하는 데 적합합니다. 적절한 훈련을 통해 트랙에 고정된 정지 장애물을 회피할 수 있습니다. 그러나 장애물 위치 정보는 훈련된 모형에 내장되어 있으므로 모형이 과적합될 가능성이 있으며 다른 장애물 배치로 일반화되지 않을 수 있습니다. 정지 객체가 무작위 위치에 배치되거나 트랙의 다른 이동 차량에 배치되면 모델이 수렴하지 않을 수 있습니다.

실제로 AWS DeepRacer 차량은 기본 센서로 전방 단안 카메라와 함께 제공됩니다. 이 카메라에는 120도 광각 렌즈가 장착되어 있으며 RGB 이미지를 캡처한 다음 15fps(초당 프레임)로 160 x 120픽셀 회색조 이미지로 변환합니다. 이러한 센서 특성은 시뮬레이터에 보존되어 훈련된 모델이 시뮬레이션에서 실제 세계로 잘 이전 될 가능성을 극대화합니다.

전방 스테레오 카메라

스테레오 카메라에는 동일한 해상도 및 주파수로 이미지를 캡처하는 두 개 이상의 렌즈가 있습니다. 두 렌즈의 이미지는 관찰된 객체의 깊이를 측정하는 데 사용됩니다. 스테레오 카메라의 깊이 정보는 호스트 차량이 특히 역동적인 환경에서 장애물 또는 다른 전방 차량과의 충돌을 회피하는 데 유용합니다. 그러나 추가된 깊이 정보로 인해 훈련이 더 느리게 수렴됩니다.

실제 AWS DeepRacer 차량에서는 또 하나의 단안 카메라를 추가하여 차량 좌우 양측에 카메라를 장착하여 중안 스테레오 카메라를 구성합니다. AWS DeepRacer 소프트웨어는 두 카메라에서 캡처한 이미지를 동기화합니다. 캡처된 이미지는 회색조로 변환되고, 누적되고, 추론을 위해 신경망으로 공급됩니다. 실제 환경에 잘 일반화하도록 모델을 훈련하기 위해 동일한 메커니즘이 시뮬레이터에 복제됩니다.

LiDAR 센서

LiDAR 센서는 회전 레이저를 사용하여 가시 스펙트럼을 초과하는 광 펄스를 발출하고 복귀하는 데 걸리는 시간을 보냅니다. 특정 펄스 히트가 있는 객체의 방향 및 거리는 LiDAR 장치를 중심으로 한 대형 3D 맵에 점으로 기록됩니다.

예를 들어 LiDAR는 차량이 차선을 변경하는 동안 충돌을 회피하기 위해 호스트 차량의 사각 지대를 탐지하는 데 도움을 줍니다. LiDAR와 모노 또는 스테레오 카메라를 결합하면 호스트 차량이 적절한 조치를 취하기에 충분한 정보를 캡처할 수 있습니다. 그러나 LiDAR 센서는 카메라에 비해 비용이 많이 듭니다. 또한 신경망이 LiDAR 데이터를 해석하는 방법을 배워야 합니다. 따라서 훈련이 수렴하는 데 더 오래 걸립니다.

실제 AWS DeepRacer 차량에서는 LiDAR 센서가 후면에 장착되고 6도 아래로 기울어져 있습니다. 이 센서는 초당 10회 회전의 각속도로 회전하며 가시 범위는 15cm~2m입니다. 호스트 차량의 뒤쪽과 옆에 있는 객체뿐 아니라 앞쪽에서 차량에 가리지 않는 높은 객체도 감지할 수 있습니다. 각도 및 범위는 LiDAR 장치가 환경 잡음에 덜 취약하도록 선택됩니다.

다음과 같은 지원되는 센서 조합으로 AWS DeepRacer 차량을 구성할 수 있습니다.

  • 전방 단안 카메라 단독.

    이 구성은 타임 트라이얼뿐 아니라 고정 위치 장애물 회피에 적합합니다.

  • 전방 스테레오 카메라 단독.

    이 구성은 장애물이 고정 또는 무작위 위치에 있는 장애물 회피에 적합합니다.

  • 전방 단안 카메라와 LiDAR.

    이 구성은 장애물 회피 또는 헤드-투-봇 레이스에 적합합니다.

  • 전방 스테레오 카메라와 LiDAR.

    이 구성은 장애물 회피 또는 헤드-투-봇 레이스에 적합하지만 타임 트라이얼에는 가장 경제적인 것은 아닙니다.

AWS DeepRacer 차량을 타임 트라이얼에서 장애물 회피, 헤드-투-봇 레이스로 전환하기 위해 더 많은 센서를 추가함에 따라 차량은 훈련 시 기본 신경망에 공급하기 위해 더 많은 환경 데이터를 수집합니다. 그러면 모델이 증가한 복잡성을 처리해야 하므로 훈련이 더욱 어려워집니다. 결국 모델 훈련 방법을 배우는 작업이 더욱 까다로워집니다.

점진적으로 배우려면 먼저 타임 트라이얼 훈련을 시작한 다음 장애물 회피, 그런 다음 헤드-투-봇 레이스로 전환해야 합니다. 자세한 권장 사항은 다음 단원에서 확인할 수 있습니다.

AWS DeepRacer 모델 교육을 위한 에이전트 구성

AWS DeepRacer 차량이 장애물 회피 또는 헤드-투-봇 레이스에서 경주할 수 있도록 강화 학습 모델을 훈련하려면 적절한 센서를 사용하여 에이전트를 구성해야 합니다. 간단한 타임 트라이얼의 경우 단안 카메라로 구성된 기본 에이전트를 사용할 수 있습니다. 에이전트를 구성할 때 선택한 센서와 더 잘 연동하여 의도한 운전 요구 사항을 충족하도록 행동 공간을 사용자 정의하고 신경망 토폴로지를 선택할 수 있습니다. 또한 훈련 중에 시각적 식별을 위해 에이전트의 모양을 변경할 수 있습니다.

완료된 에이전트 구성은 훈련 및 평가를 위해 모델 메타데이터의 일부로 기록됩니다. 평가를 위해 에이전트는 지정된 센서, 행동 공간 및 신경망 기술을 사용하기 위해 기록된 구성을 자동으로 검색합니다.

이 단원에서는 AWS DeepRacer 콘솔에서 에이전트를 구성하는 단계를 안내합니다.

AWS DeepRacer 콘솔에서 AWS DeepRacer 에이전트를 구성하려면
  1. AWS DeepRacer 콘솔에 로그인합니다.

  2. 기본 탐색 창에서 Garage(차고)를 선택합니다.

  3. Garage(차고)를 처음 사용하는 경우 WELCOME TO THE GARAGE(차고에 오신 것을 환영합니다.) 대화 상자가 표시됩니다. > 또는 <를 선택하여 AWS DeepRacer 차량에 지원되는 다양한 센서에 대한 소개를 살펴보거나 X를 선택하여 대화 상자를 닫습니다. 이 소개 정보는 Garage(차고) 도움말 창에서 찾을 수 있습니다.

  4. Garage(차고) 페이지에서 Build new vehicle(새 차량 빌드)를 선택합니다.

  5. Mod your own vehicle(차량 수정) 페이지의 Mod specifications(사양 수정) 아래에서 하나 이상의 센서를 선택하여 원하는 레이스 유형에 맞는 최상의 조합을 훈련해 봅니다.

    AWS DeepRacer 차량 타임 트라이얼을 훈련하려면 Camera(카메라)를 선택합니다. 장애물 회피 또는 헤드-투-봇 레이스의 경우 다른 센서 유형을 사용하는 것이 좋습니다. 스테레오 카메라를 선택하려면 단안 카메라를 추가로 구입해야 합니다. AWS DeepRacer는 스테레오 카메라를 두 대의 단안 카메라로 만듭니다. 한 대의 차량에 하나의 단안 카메라 또는 하나의 중안 스테레오 카메라를 구성할 수 있습니다. 두 경우 모두, 훈련된 모델이 장애물 회피 또는 헤드-투-봇 레이스의 사각 지대를 감지하고 회피할 수 있도록 하려면 에이전트에 LiDAR 센서를 추가할 수 있습니다.

  6. Garage(차고) 페이지의 Neural network topologies(신경망 토폴로지) 아래에서 지원되는 네트워크 토폴로지를 선택합니다.

    일반적으로 더 깊은 신경망(계층이 더 많음)은 급한 커브와 방향 회전이 많은 보다 복잡한 트랙을 주행하거나, 정지 장애물을 회피하는 레이스를 하거나, 다른 이동 차량과 경쟁하는 데 더 적합합니다. 그러나 더 깊은 신경망은 훈련 비용이 많이 들고 모델이 수렴하는 데 더 오래 걸립니다. 반면에 얕은 네트워크(계층이 더 적음)는 비용이 적게 들고 훈련하는 데 걸리는 시간이 더 짧습니다. 훈련된 모델은 장애물이 없는 트랙에서 경쟁자 없는 타임 트라이얼과 같은 보다 단순한 트랙 조건이나 주행 요구 사항을 처리할 수 있습니다.

    특히 AWS DeepRacer는 3계층 CNN 또는 5계층 CNN을 지원합니다.

  7. Garage(차고) 페이지에서 다음을 선택하여 에이전트의 행동 공간 설정으로 이동합니다.

  8. Action space(행동 공간) 페이지에서 첫 번째 훈련의 기본 설정을 그대로 둡니다. 후속 훈련에서는 조향 각도, 최고 속도 및 세분화에 대해 다양한 설정을 실험합니다. 그리고 다음(Next)을 선택합니다.

  9. Color your vehicle to stand out in the crowd(눈에 띄는 차량 색상 지정) 페이지에서 Name your DeepRacer(DeePracer 이름 지정)에 이름을 입력한 다음 Vehicle color(차량 색상) 목록에서 에이전트의 색상을 선택합니다. 그런 다음 제출을 선택합니다.

  10. Garage(차고) 페이지에서 새 에이전트의 설정을 검토합니다. 추가로 수정하려면 Mod vehicle(차량 수정)을 선택하고 이전 단계를4단계부터 반복합니다.

이제 에이전트를 훈련할 준비가 되었습니다.

타임 트라이얼을 위한 AWS DeepRacer 훈련 조정

AWS DeepRacer를 처음 사용하는 경우 간단한 타임 트라이얼부터 시작하여 차량을 운전할 AWS DeepRacer 모델을 훈련하는 방법을 익힐 수 있습니다. 이렇게 하면 보상 함수, 에이전트, 환경 등의 기본 개념을 차근차근 접할 수 있습니다. 목표는 차량이 트랙을 벗어나지 않고 가능한 한 빨리 랩을 끝낼 수 있는 모델을 훈련하는 것입니다. 그런 다음 훈련된 모델을 AWS DeepRacer차량에 배치하여 추가 센서 없이 실제 트랙에서 주행을 테스트할 수 있습니다.

이 시나리오에 맞게 모델을 학습시키려면 AWS DeepRacer 콘솔의 차고에서 기본 에이전트를 선택할 수 있습니다. 기본 에이전트는 전방 단안 카메라, 기본 행동 공간 및 기본 신경망 토폴로지로 구성되었습니다. 좀 더 정교한 에이전트로 전환하기 전에 기본 에이전트로 AWS DeepRacer 모델 훈련을 시작하는 것이 좋습니다.

기본 에이전트를 사용하여 모델을 훈련하려면 다음 권장 사항을 따르십시오.

  1. 보다 규칙적인 형태와 보다 완만한 커브 간단한 트랙으로 모델 훈련을 시작합니다. 기본 보상 함수를 사용합니다. 그리고 30분 동안 모델을 훈련합니다. 훈련 작업이 완료된 후 동일한 트랙에서 모델을 평가하여 에이전트가 랩을 마칠 수 있는지 확인합니다.

  2. 보상 함수 매개 변수를 참조하십시오. 다른 인센티브로 훈련을 계속하여 에이전트가 더 빨리 진행하도록 보상합니다. 다음 모델의 훈련 시간을 1~2시간으로 연장합니다. 첫 번째 훈련과 두 번째 훈련 사이의 보상 그래프를 비교합니다. 보상 그래프가 개선되지 않을 때까지 실험을 계속합니다.

  3. 행동 공간에 대해 자세히 알아보십시오. 최고 속도(예를 들어, 1m/s)를 높여 모델을 3번째로 훈련합니다. 행동 공간을 수정하려면 수정할 기회가 생겼을 때 Garage(차고)에서 새 에이전트를 빌드해야 합니다. 에이전트의 최고 속도를 업데이트할 때 알아야 할 점은 최고 속도가 높을수록 에이전트가 평가 중인 트랙을 더 빨리 완료할 수 있고 AWS DeepRacer 차량이 물리적 트랙에서 랩을 더 빨리 마칠 수 있다는 것입니다. 그러나 최고 속도가 높을수록 훈련이 수렴하는 데 걸리는 시간이 길어지는 경우가 많습니다. 에이전트가 커브에서 오버슈트하여 트랙을 벗어날 가능성이 높기 때문입니다. 세분성을 줄여 에이전트가 가속 또는 감속할 여지를 늘리고 다른 방법으로 보상 함수를 조정하여 훈련이 더 빨리 수렴되도록 할 수 있습니다. 훈련이 수렴된 후 3번째 모델을 평가하여 랩 타임이 향상되는지 확인합니다. 더 이상 개선이 없을 때까지 계속 탐색하십시오.

  4. 더 복잡한 트랙을 선택하여 1단계부터 3단계까지 반복합니다. 모델을 훈련하는 데 사용한 트랙과 다른 트랙에서 모델을 평가하여 모델이 다른 가상 트랙으로 얼마나 잘 일반화하는지 확인합니다실제 환경으로 일반화.

  5. (선택 사항) 하이퍼파라미터 값을 여러 개 사용하여 훈련 프로세스를 개선하고 1단계부터 3단계까지 반복합니다.

  6. (선택 사항) AWS DeepRacer 로그를 확인하고 분석합니다. 로그를 분석하는 데 사용할 수 있는 샘플 코드는 https://github.com/aws-samples/aws-deepracer-workshops/tree/master/log-analysis를 참조하십시오.

장애물 회피 레이스를 위한 AWS DeepRacer 훈련 조정

타임 트라이얼에 익숙해지고 몇 가지 수렴된 모델을 훈련한 후에는 보다 어려운 다음 도전인 장애물 회피로 전환합니다. 여기서 목표는 트랙에 배치된 객체와 충돌하지 않고 최대한 빨리 랩을 완주할 수 있는 모델을 훈련하는 것입니다. 이것은 분명히 에이전트가 학습하기 어려운 문제이며 훈련이 수렴하는 데 더 오래 걸립니다.

AWS DeepRacer 콘솔은 두 유형의 장애물 회피 훈련을 지원합니다. 즉, 장애물을 트랙을 따라 고정 또는 무작위 위치에 배치할 수 있습니다. 고정 위치에서는 장애물이 훈련 작업 전반에 걸쳐 동일한 장소에 고정되어 있습니다. 무작위 위치에서는 장애물이 에피소드마다 임의로 위치를 변경합니다.

시스템 자유도가 낮기 때문에 고정 위치 장애물 회피를 위한 훈련이 수렴하기 더 쉽습니다. 그러나 훈련된 모형에 위치 정보가 내장된 경우 모형이 과적합될 수 있습니다. 결과적으로 모형이 과적합되어 잘 일반화되지 않을 수 있습니다. 무작위 위치 장애물 회피의 경우, 에이전트는 이전에 본 적이 없는 위치에서 장애물과 충돌하지 않도록 학습해야 하기 때문에 훈련이 수렴하기가 더 어렵습니다. 그러나 이 옵션을 사용하여 훈련된 모델은 더 잘 일반화되고 실제 레이스에 잘 이전되는 경향이 있습니다. 시작하려면 장애물을 고정 위치에 배치하고 동작에 익숙해진 다음 무작위 위치에 도전하십시오.

AWS DeepRacer 시뮬레이터에서 장애물은 AWS DeepRacer 차량의 포장 상자와 동일한 치수(9.5인치(L) x 15.25인치(W) x 10/5인치(H))의 입방체 상자입니다. 따라서 포장 상자를 실제 트랙에 장애물로 배치하면 시뮬레이터에서 훈련된 모델이 실제 세계로 쉽게 이전될 수 있습니다.

장애물 회피를 실험하려면 아래 단계에 설명된 권장 방법을 따르십시오.

  1. 기존 에이전트를 사용자 정의하거나 새 에이전트를 빌드하여 새 센서 및 행동 공간에서 기본 에이전트 또는 실험을 사용합니다. 최고 속도는 0.8m/s 이하로 제한하고 속도 세분성은 1 또는 2 레벨로 제한해야 합니다.

    고정 위치에 2개의 객체를 배치하여 약 3시간 동안 모델 훈련을 시작합니다. 예제 보상 함수를 사용하여 레이싱할 트랙이나 해당 트랙과 유사한 트랙에서 모델을 훈련합니다. AWS DeepRacer Smile Speedway(중급) 트랙은 단순한 트랙이므로 서밋 레이스 준비에 적합합니다. 동일한 수의 장애물이 있는 동일한 트랙에서 모델을 평가합니다. 총 예상 보상이 어떻게 수렴되는지 주시합니다(수렴할 경우).

  2. 보상 함수 매개 변수를 참조하십시오. 보상 함수의 변형을 실험합니다. 장애물을 4개로 늘립니다. 에이전트를 훈련하여 동일한 훈련 시간에 훈련이 수렴되는지 확인합니다. 수렴하지 않으면 보상 함수를 다시 조정하거나 최고 속도를 낮추거나 장애물 수를 줄인 다음 에이전트를 다시 훈련합니다. 더 이상 의미 있는 개선이 없을 때까지 실험을 반복합니다.

  3. 이제 무작위 위치에서 장애물을 회피하는 훈련으로 전환합니다. AWS DeepRacer 콘솔의 차고에서 사용할 수 있는 추가 센서를 사용하여 에이전트를 구성해야 합니다. 스테레오 카메라를 사용할 수 있습니다. 또는 LiDAR 장치를 단안 카메라 또는 스테레오 카메라와 결합할 수 있지만 훈련 시간이 길어질 수 있습니다. 훈련을 더 빨리 수렴할 수 있도록 비교적 낮은 최고 속도(예를 들어, 2m/s)로 행동 공간을 설정합니다. 네트워크 아키텍처의 경우 장애물 회피에 충분한 것으로 밝혀진 얕은 신경망을 사용합니다.

  4. 단순한 트랙에 장애물 4개를 무작위로 배치하여 4시간 동안 새 에이전트를 훈련합니다. 그런 다음 동일한 트랙에서 모델을 평가하여 무작위로 배치된 장애물이 있는 랩을 완주할 수 있는지 확인합니다. 완주하지 못하는 경우 보상 함수를 조정하고 다른 센서를 사용해 보고 훈련 시간을 늘릴 수 있습니다. 또 한 가지 팁으로, 기존 모델을 복제하여 훈련을 계속하여 이전에 학습한 경험을 활용할 수 있습니다.

  5. (선택 사항) 행동 공간에 더 높은 최고 속도를 선택하거나 트랙을 따라 무작위로 더 많은 장애물을 배치합니다. 다양한 센서 조합으로 실험하고 보상 함수 및 하이퍼파라미터 값을 조정합니다. 5계층 CNN 네트워크 토폴로지를 사용하여 실험합니다. 그런 다음 모델을 재훈련하여 훈련 수렴에 어떤 영향을 미치는지 확인합니다.

헤드-투-봇 레이스를 위한 AWS DeepRacer 훈련 조정

장애물 회피 훈련을 마쳤으면 이제 다음 수준의 도전인 헤드-투-봇 레이스를 위한 모델 훈련에 도전할 준비가 되었습니다. 장애물 회피 이벤트와 달리, 헤드-투-봇 레이스는 다른 차량이 주행하는 역동적인 환경에서 벌어집니다. 목표는 AWS DeepRacer 차량이 다른 주행 차량 사이에서 트랙을 벗어나거나 다른 차량과 충돌하지 않고 먼저 결승선에 도착하도록 모델을 훈련하는 것입니다. AWS DeepRacer 콘솔에서는 에이전트가 1~4개의 로봇 차량과 경쟁하도록 하여 헤드-투-봇 레이스 모델을 훈련할 수 있습니다. 일반적으로 더 긴 트랙에 더 많은 장애물이 있어야 합니다.

각 로봇 차량은 일정한 속도로 미리 정의된 경로를 따라 주행합니다. 로봇 차량이 차선을 변경하거나 출발 차선을 유지하도록 할 수 있습니다. 장애물 회피 훈련과 마찬가지로, 로봇 차량이 트랙의 두 차선에 골고루 분포되도록 할 수 있습니다. 콘솔은 트랙에 배치할 수 있는 로봇 차량을 4개로 제한합니다. 트랙에 경쟁하는 차량이 많을수록 학습 에이전트가 다른 차량과 더 다양한 상황에 접할 수 있는 기회를 더 많이 얻을 수 있습니다. 이 방법은 하나의 훈련 작업에서 더 많은 것을 학습하고 에이전트는 더 빨리 훈련됩니다. 그러나 각 훈련이 수렴하는 데 더 오래 걸릴 수 있습니다.

로봇 차량으로 에이전트를 훈련하려면 에이전트 행동 공간의 최고 속도를 로봇 차량의 (일정한) 속도보다 높게 설정해야 훈련 중에 에이전트가 더 많은 추월 기회를 얻을 수 있습니다. 처음에는 에이전트의 최고 속도는 0.8m/s로, 로봇 차량의 이동 속도는 0.4m/s로 설정하는 것이 좋습니다. 로봇이 차선을 변경할 수 있도록 하면 훈련이 더욱 어려워집니다. 에이전트는 같은 차선의 전방에서 이동하는 차량에 충돌하는 것을 방지하는 방법뿐 아니라 다른 차선의 전방에서 이동하는 다른 차량과 충돌하지 않도록 하는 방법을 학습해야 하기 때문입니다. 무작위 간격으로 차선을 변경하도록 로봇 차량을 설정할 수 있습니다. 이 간격은 훈련 작업을 시작하기 전에 지정한 시간 범위(예를 들어, 1~5초)에서 무작위로 선택됩니다. 이 차선 변경 동작은 실제 세계의 헤드-투-봇 레이스 동작과 더 유사하며 훈련된 에이전트가 더 잘 할 수 있습니다. 그러나 모델 훈련이 수렴하는 데 더 오래 걸립니다.

아래에 제안된 단계에 따라 헤드-투-봇 레이스를 위한 훈련을 반복하십시오.

  1. AWS DeepRacer 콘솔의 차고에서 스테레오 카메라와 LiDAR 유닛으로 구성된 새로운 교육 에이전트를 빌드하십시오. 로봇 차량에 대해서만 스테레오 카메라를 사용하여 상대적으로 우수한 모델을 훈련할 수 있습니다. LiDAR는 에이전트가 차선을 변경할 때 사각 지대를 줄입니다. 최고 속도를 너무 높게 설정하지 마십시오. 처음에는 1m/s로 시작하는 것이 좋습니다.

  2. 헤드-투-봇 레이싱을 위해 훈련하려면 두 대의 봇 차량으로 시작하십시오. 봇의 이동 속도를 에이전트의 최고 속도보다 낮게 설정합니다(예를 들어, 에이전트의 최고 속도가 1m/s인 경우 0.5m/s). 차선 변경 옵션을 비활성화한 다음 방금 생성한 훈련 에이전트를 선택합니다. 보상 함수 예제 중 하나를 사용하거나 최소한으로 필요한 수정을 한 다음 3시간 동안 훈련합니다. 레이싱할 트랙이나 해당 트랙과 유사한 트랙을 사용합니다. AWS DeepRacer Smile Speedway(중급) 트랙은 단순한 트랙이므로 서밋 레이스 준비에 적합합니다. 훈련이 완료되면 동일한 트랙에서 훈련된 모델을 평가합니다.

  3. 좀 더 어려운 작업을 위해 두 번째 헤드-투-봇 레이스 모델에 훈련된 모델을 복제합니다. 더 많은 로봇 차량으로 실험을 진행하거나 차선 변경 옵션을 활성화합니다. 2초보다 긴 무작위 간격으로 느린 차선 변경 작업을 시작합니다. 사용자 지정 보상 함수를 실험해 볼 수도 있습니다. 일반적으로 사용자 지정 보상 함수 로직은 다른 차량을 추월하는 것과 차선을 유지하는 것 사이의 균형을 고려하지 않으면 장애물 회피 로직과 비슷할 수 있습니다. 이전 모델이 얼마나 우수한지에 따라 3~6시간을 더 훈련해야 할 수도 있습니다. 모델을 평가하고 모델이 어떤 성능을 보이는지 확인합니다.