나는 초음파 근접 센서에 의해 부분적으로 탐색하는 자율 로버에서 작업 중입니다. 하드웨어를 구현하기 전에 시뮬레이터로 알고리즘의 테스트를하고 싶습니다.아크에서 제한된 한 점에서 주어진 반지름을 가진 모든 픽셀 찾기
나는 몇 가지 문제가있는 한 가지 일은 초음파 센서가 60 도의 시야를 가지고 있다는 것입니다. 물체가 감지되면 그 반경에있는 60도 아크를 따르는 모든 점 일 수 있습니다.은 물체를 가지고 있지만 그 반경 아래의 모든 점은 을 보장합니다.은 물체를 가지지 않습니다.
내가해야 할 일은 (x, y) 좌표와 방위 (지금은 4 개의 추기경으로 제한)가있는 함수를 작성하고 그 안에있는 픽셀 목록을 나에게 돌려 보내야합니다. 반경과 그 반경에있는 픽셀의 목록. 여러 위치 및 베어링에서 반복적으로 스캔하면 모든 물체를 찾을 수 있습니다.
초기 생각은 반복적으로 작업하는 것이 었습니다. 센서 앞에있는 줄에서 시작하여 점진적으로 더 넓은 스캔 (1,1,3,3,5,5,7,7 등)으로 앞뒤로 쓸어 넘깁니다. 그러나 결국 반경은 행과 정렬되지 않습니다. 내 새로운 검색 경로는 픽셀을 사용하여 호를 그리는 방법을 파악한 다음 반경을 첫 번째 충돌까지 올리는 것입니다.
이 질문은 비슷한 질문을하지만 특정 점에만 관심이 있으므로 근본적으로 다른 문제라고 생각합니다.
"이 종악기의"씨앗 그러면 섹터 내의 픽셀이 될 것입니까? 그런 다음 링 세그먼트 내의 픽셀을 얻으려면 두 반지름 사이의 차이를 사용할 수 있습니까? – Huckle
예, 모든 픽셀이 시드로 사용될 수 있습니다. 나는 네 번째 조건이 링에 더 좋을 것이라고 생각한다. (내 원점의 불필요한 더블 열거를 피하기 위해) – MBo
나는 이것을 시도하고 다시보고 할 것이다. – Huckle