2017-11-25 1 views
0

개인 학습 프로젝트의 경우 시뮬레이션 된 자동차 물마루를 간단한 미로로 제어하기 위해 간단한 신경 네트워크를 만들고 있습니다.C#의 가상 근접 센서.

입력 할 수있는 네트워크를 제공하려면 자동차 주변에 가상 센서가 있어야 장애물이 얼마나 가까이 있는지 나타낼 수 있습니다.

어떻게하면됩니까? 나는 장애물과 얼마나 겹치는지를 감지 할 수있는 차량 라인이있는 예제를 보았습니다.

예를 들어 전방 센서 선이 벽 내부에서 40 %이면 네트워크의 값 0.40을 차감하여 장애물이 자동차 정면까지 얼마나 가까이 있는지 알 수 있습니다. 동일한 프로세스가 왼쪽, 오른쪽 및 후면 센서에 대해 반복됩니다.

나는 정말로 나 자신을 잘 설명하고, 사진을 게시 할 수 있었지만 너희들이 낯선 사람들의 링크를 좋아하지 않는다는 것을 알고있다.

어떤 통찰력이라도 고맙게 생각합니다.

답변

1

나는 내가이 태클 것입니다 방법에 대한 간단한 개요를 스케치합니다 : 자동차의 환경에서

  1. 쿼리 개체를 응용 프로그램에 대한 의미가 여백과 함께. 예 : 2 미터가 넘는 장애물에 차량이 응답하게하려면 마진을 2 미터로하십시오.
  2. 근처에있는이 물체에 대해 센서의 가상 광선과의 교차점을 계산하십시오. 이를 위해서는 아마도 SO : How do you detect where two line segments intersect?에서 찾을 수있는 linesegment-linesegment-intersection의 수학적 결과를 사용하고 싶을 것입니다. 물론 물론 선분을 사용하여 환경을 모델링 할 수 있어야합니다. 곡선 오브젝트가 있다면, 다중 선 피치 근사로 충분할 것입니다. 또는 광선 자체의 교차점을 계산하는 환경 개체에 대한 인터페이스를 정의하십시오. 이제 직사각형, 원, 호, 보행자, 자전거 타는 사람, 말 등의 수학을 전문으로 할 수 있습니다 ... 센서의 거리가 얼마나 정확해야하는지, 교차로 작성에 소비 할 시간 계산 코드.
  3. 가장 가까운 교차로를 생성 한 객체를 각 센서 광선으로 선택합니다.
+1

할 수 있으려면 (복잡한) 객체는 빠른 테스트를 허용하는 경계 상자를 제공해야합니다. 객체가 많은 경우 효율적인 [공간 분할] (https://en.wikipedia.org/wiki/Space_partitioning) 알고리즘을 찾아야 할 수 있습니다. –

관련 문제