Làm thế nào để đối phó với crosstalk sonar


10

Robot của chúng tôi có một dãy tròn gồm 12 cảm biến sonar trông như thế này:

nhập mô tả hình ảnh ở đây

Các cảm biến sonar là khá tốt. Chúng tôi sử dụng bộ lọc thông thấp để xử lý nhiễu và các bài đọc có vẻ khá chính xác. Tuy nhiên, khi robot đi qua một bề mặt phẳng như bức tường, một điều kỳ lạ xảy ra. Các sonar không hiển thị các bài đọc sẽ chỉ ra một bức tường, thay vào đó, nó xuất hiện như một bề mặt cong.

Cốt truyện dưới đây được thực hiện khi robot đối diện với một bức tường. Xem đường cong trong các đường màu xanh, so với đường thẳng màu đỏ. Đường màu đỏ được tạo ra bằng cách sử dụng máy ảnh để phát hiện bức tường, trong đó các đường màu xanh hiển thị số đọc sonar được lọc.

nhập mô tả hình ảnh ở đây

Chúng tôi tin rằng lỗi này là do nhiễu xuyên âm, trong đó xung của cảm biến sonar bật ra khỏi tường ở một góc và được nhận bởi một cảm biến khác. Đây là một lỗi hệ thống, vì vậy chúng tôi thực sự không thể đối phó với nó như chúng tôi sẽ làm với tiếng ồn. Có bất kỳ giải pháp ra khỏi đó để sửa chữa cho nó?


liên quan: "Câu hỏi nhiều siêu âm Rangefinder" . Tôi có nên sao chép và dán câu trả lời của riêng mình từ đây đến đây không?
David Cary

Câu trả lời:


10

Đây là một vấn đề phổ biến, và một trong rất nhiều. Cảm biến âm thanh là một lĩnh vực nghiên cứu phức tạp, một phần quan trọng trong đó được dành để đoán xem đường sóng âm đã đi giữa việc gửi và nhận nó. Như bạn đã nhận thấy, giả sử rằng nó đi thẳng ra ngoài và quay trở lại sẽ tạo ra kết quả kỳ lạ trong thực tế.

Để thực sự giải quyết nó, bạn sẽ cần sử dụng một hệ thống đặt tần số và / hoặc độ dài âm duy nhất trên mỗi cảm biến. Điều này có thể được đưa đến các thái cực quan trọng, ví dụ Điều chế độ rộng xung ngẫu nhiên giả ngẫu nhiên để loại bỏ nhiễu xuyên âm của cảm biến Sonar trong Robot di động .

Ngoài ra còn có một giải pháp công nghệ thấp, khá đơn giản trong khái niệm. Nếu bạn chỉ muốn phát hiện nhiễu xuyên âm, đó sẽ là vấn đề bắn xung của một cảm biến duy nhất ở giữa việc bắn tất cả các xung của cảm biến. Nếu bạn phát hiện xung trở lại với bất kỳ cảm biến nào khác, bạn biết rằng bạn đang ở trong tình huống nhiễu xuyên âm.

Trong thực tế, điều này khá lãng phí: lưu ý rằng điều này có hiệu quả giảm một nửa số lượng mẫu bạn có thể lấy. Vì vậy, bạn có thể cải thiện việc triển khai bằng cách chia các cảm biến thành các nhóm trong đó mỗi thành viên của nhóm đủ xa so với các nhóm khác mà nó sẽ không nhận được nhiễu xuyên âm. Phiên bản mạnh mẽ nhất của phương pháp này là làm cho các nhóm trở thành giả danh , điều này không chỉ cho phép các lỗi trung bình theo thời gian mà còn giúp phát hiện nhiễu xuyên âm trên cơ sở cảm biến riêng lẻ.

Trong trường hợp cụ thể của bạn, bạn có thêm lợi ích của cảm biến máy ảnh mà bạn đã hiển thị đang trả về giá trị chính xác hơn cho các phạm vi. Các chiến lược để kết hợp các phép đo riêng biệt (và có thể xung đột) thành một ước tính chính xác hơn là chủ đề rất rộng của riêng nó (được gọi là hợp nhất , ví dụ 1 , ví dụ 2 ), nhưng là một chiến lược rất phù hợp với những gì bạn đang làm ở đây.


5

Một số cảm biến, chẳng hạn như Maxbotix MB1200 XL-MaxSonar-EZ0, có một hệ thống xích daisy được xây dựng trong đó một cảm biến kích hoạt cảm biến tiếp theo sau khi kết thúc phép đo. Bằng cách này, bạn có thể có N cảm biến và đảm bảo rằng chỉ có một phát bắn cùng một lúc nhưng ở đó cảm biến tiếp theo sẽ bắn ngay khi đầu tiên thu được lợi nhuận. Giải pháp này đơn giản nhưng rõ ràng làm giảm đáng kể lượng dữ liệu bạn nhận được trên mỗi đơn vị thời gian. Các giải pháp của Ian gần hơn với tối ưu.


4

Có thể sử dụng nhiều cảm biến siêu âm trên một robot không? Có: "Sử dụng nhiều cảm biến Sonar" .

Như bạn đã tìm ra, một cảm biến thường nhận được tiếng vang của ping được gửi bởi một cảm biến khác. Có một số cách để đối phó với độ nhạy chéo, đại khái theo thứ tự đơn giản nhất trước tiên:

  • Ping chỉ có một bộ chuyển đổi tại một thời điểm, bỏ qua tất cả các bộ chuyển đổi khác trong khi chờ đợi "tiếng vang ma" từ bộ chuyển đổi hiện tại bị tắt trước khi ném bộ chuyển đổi tiếp theo. Điều này nhanh hơn nhiều so với quay cơ học một đầu dò. Có lẽ điều này sẽ đủ nhanh, trừ khi robot của bạn đang lao vào mọi thứ với tốc độ gần bằng tốc độ âm thanh.
  • Sử dụng các máy phát hoặc máy thu góc chùm tương đối hẹp (hoặc cả hai) cho mỗi cảm biến và tăng góc từ cảm biến này sang cảm biến khác để một cảm biến không thể nghe thấy tiếng vang từ một cảm biến khác (trừ khi vật ở phía trước đầu dò gây ra một số phản xạ lạ ) - các cảm biến lệch nhau gần giống như góc chùm. Than ôi, điều này để lại "điểm mù" giữa các bộ chuyển đổi nơi mà các vật thể không thể nhìn thấy bởi bất kỳ bộ chuyển đổi nào.
  • Một số kết hợp - ví dụ, tăng góc từ cảm biến này sang cảm biến khác để một cảm biến chỉ nghe thấy tiếng vang từ 2 lân cận của nó (khoảng một nửa góc chùm); sau đó xen kẽ giữa ping đầu dò chẵn (bỏ qua các đầu dò lẻ) và ping đầu dò lẻ (bỏ qua các đầu dò chẵn).
  • Mỗi đầu dò hoạt động ở một tần số khác nhau. Than ôi, tất cả các đầu dò siêu âm chi phí thấp, với một vài ngoại lệ , được điều chỉnh để cộng hưởng ở 40 kHz. Khi nghe nhiều loại tín hiệu khác nhau, các bộ chuyển đổi này chỉ có thể "nghe" các tín hiệu trong phạm vi vài kHz là 40 kHz. Bạn sẽ phải cân bằng (a) Càng xa 40 kHz bạn sử dụng trên đầu dò được thiết kế cho 40 kHz, nó càng kém nhạy, do đó bạn muốn tần số "tương đối gần" đến 40 kHz; và (a) Tất cả các tần số càng gần nhau thì càng khó phân biệt giữa chúng, vì vậy bạn muốn có một bộ tần số được trải rộng "tương đối xa nhau". Tôi không biết có thỏa hiệp tốt hay không - nếu không, bạn bị mắc kẹt với (c) sử dụng các cảm biến đắt tiền hơn được điều chỉnh theo các tần số khác,Cảm biến "băng thông rộng" không được điều chỉnh theo bất kỳ tần số cụ thể nào.
  • Sử dụng thời gian truyền khác nhau để loại trừ tiếng vang ma. Giả sử bạn truyền từ bên trái, trì hoãn 2 ms (gần như không đủ để cho tiếng vang tắt), sau đó truyền từ bên phải, ... sau khi tiếng vang tắt, sau đó truyền từ bên trái, trì hoãn 3 ms, sau đó truyền từ bên phải. Nếu người nhận bên phải nhận được tiếng vang trở lại 5 ms sau cả hai lần, thì bạn có thể chắc chắn đó là tiếng vang thực sự; nếu người nhận bên phải nhận được tiếng vang trở lại 5 ms sau lần đầu tiên, 6 ms sau lần thứ hai, thì đó có thể là một bóng ma từ người nhận bên trái. (Có nhiều kỹ thuật "trải phổ" phức tạp hơn nhiều để phân tách nhiều máy phát tất cả sử dụng cùng tần số cùng một lúc.)
  • Kết hợp các tín hiệu từ tất cả các máy thu. Nếu bạn có một máy phát trung tâm ping theo mọi hướng (hoặc tương đương bạn có các máy phát được chỉ theo mọi hướng và bạn ping tất cả chúng cùng một lúc), và tiếng vang đầu tiên bạn nhận được sẽ chạm vào máy thu bên trái trước (sau đó là bên phải người nhận nghe thấy tiếng vang), bạn biết rằng chướng ngại vật gần nhất ở gần bên trái hơn bên phải. (Có các kỹ thuật "mảng pha" phức tạp hơn, kết hợp tín hiệu từ tất cả các máy thu và thậm chí các kỹ thuật "chùm tia" tinh vi hơn để điều chỉnh một chút thời gian truyền của tất cả các máy phát.)

Tái bút: Bạn đã xem "Hồng ngoại so với siêu âm - Những gì bạn nên biết" ?

(Vâng, tôi đã nói tất cả những điều này trước đây, tại "Câu hỏi nhiều máy đo siêu âm" .)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.