Car Simulator는 퍼지 제어 시스템, 유전자 알고리즘 및 입자 떼 최적화를 사용하여 지도에서 자율주행차 의 움직임을 시뮬레이션합니다. VR 장치도 지원합니다. 자세한 내용은 여기를 참조하세요.
입력에는 자동차의 3개 거리 센서(전방, 왼쪽 및 오른쪽 45도)가 포함되어 있으며, 이는 정의된 동작 방정식, 자동차의 위치, 자동차와 수평축 사이의 각도로부터 얻을 수 있습니다. 출력은 스티어링 휠의 회전 각도입니다.
목표는 벽에 부딪히지 않고 엔드라인에 도달하고 이동 궤적(각 시점의 위치, 센서 값, 핸들 회전 각도 포함)을 텍스트 파일로 출력한 후 그래픽 인터페이스에 표시하는 것입니다.
시뮬레이션된 자동차의 운동 방정식은 다음과 같습니다.
퍼지 제어 시스템은 맞춤형 7개의 퍼지 규칙과 개별 무게 중심 역퍼지화 장치를 사용합니다. 자세한 내용은 여기를 참조하세요.
자동차 시뮬레이터는 실제 가치 유전 알고리즘(GA)을 사용하여 방사형 기본 기능 네트워크(RBFN)를 훈련하고 자동차는 RBFN으로 제어됩니다. 유전자는 혼합 차원 벡터의 RBFN(w, m, σ)의 세 가지 매개변수로 정의됩니다. 적합도 함수는 특정 입력 사례에서 데이터 세트의 예상 출력과 RBFN 출력의 평균 분산입니다. 가장 낮은 적합도 값이 최고의 RBFN 매개변수입니다.
방사형 기본 함수 네트워크의 구조는 다음과 같습니다.
Car Simulator는 입자 떼 최적화(PSO)를 사용하여 RBFN을 훈련할 수도 있습니다. PSO 좌표는 혼합 차원 벡터의 RBFN(w, m, σ)의 세 가지 매개변수로 정의됩니다. 적합도 함수는 특정 입력 사례에서 데이터 세트의 예상 출력과 RBFN 출력의 평균 분산입니다. 가장 낮은 적합도 값이 최고의 RBFN 매개변수입니다.
https://jasonnor.github.io/Car-Simulator/
Car Simulator는 VR 장치도 지원합니다. 이 페이지를 열어주세요.
InputA1 InputB1 InputC1 Output1
InputA2 InputB2 InputC2 Output2
...
여기서, 입력A는 중앙 거리 센서 값, 입력B는 오른쪽 거리 센서 값, 입력 C는 왼쪽 거리 센서 값, 출력은 스티어링 휠의 회전 각도입니다. 기본 데이터 세트는 여기에서 찾을 수 있습니다.
InputA1 InputB1 InputC1 InputD1 InputE1 Output1
InputA2 InputB2 InputC2 InputD1 InputE1 Output2
...
여기서, 입력A는 자동차의 X 좌표, 입력B는 자동차의 Y 좌표, 입력C는 중앙 거리 센서 값, 입력D는 오른쪽 거리 센서 값, 입력E는 왼쪽 거리 센서 값, 출력은 스티어링 휠의 회전 각도입니다. 기본 데이터 세트는 여기에서 찾을 수 있습니다.
문제를 해결하고 코드 베이스에 직접 기여하는 데 관심이 있다면 자유롭게 사용하세요.
Car Simulator는 MIT 라이선스로 출시됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.