2009-10-07 54 views
7

Couple của bạn bè và tôi sẽ được xây dựng robot đơn giản để theo dõi một dòng trắng trên một bề mặt màu đen, chúng tôi chưa bao giờ làm việc này trước và tôi có kế hoạch mức rất cao tấn công,Robotics và Computer Vision

Nhận một bo mạch mini atx cho tất cả các nhu cầu tính toán, một cam web để theo dõi con đường và 2 động cơ điện một cho động cơ đẩy một hướng.

Mối quan tâm chính của tôi là, có cách nào tốt hơn để theo dõi đường không? hoặc một webcam làm việc cho công việc?

EDIT:

Theo dõi trên các câu trả lời bằng photoresistor có vẻ là con đường để đi, bu tôi có một câu hỏi nữa sẽ có tín hiệu, bên phải đường đua kể các robot phải xoay sở ra. một lần nữa màu trắng trên nền đen. chẳng hạn như tôi phải thực hiện một trái trên một ngã ba. có cách nào để xử lý việc này mà không cần máy ảnh không?

Trả lời

13

Tốt nhất là nên bỏ qua phần mềm tầm nhìn phức tạp và sử dụng các thiết bị điện tử đơn giản. Có những thiết bị gọi là phototransistors nhạy cảm với ánh sáng. Điểm hai xuống dưới ở mỗi bên của robot, bị che khuất từ ​​ánh sáng từ phía trên. Nếu bot bắt đầu chuyển sang phải thay vì theo dòng, cảm biến bên trái sẽ được kích hoạt. Nếu nó đi bên trái, một trong những quyền sẽ được kích hoạt. Sử dụng phản hồi của các tín hiệu này để hướng dẫn robot (bạn có thể áp dụng chúng gần như trực tiếp vào động cơ nếu bạn có hai động cơ).

2

Tôi tạo ra một robot tương tự ở trường và tạo ra hai cảm biến nhỏ, về cơ bản chỉ là LDR trong một ống chống ánh sáng với một mạch điều khiển ngưỡng sáng làm cho lật từ bật tắt. Nó làm cho logic rất đơn giản - có một đường màu đen dưới cảm biến này không? Có.

Sử dụng cam web có thể liên quan đến quá trình xử lý trực quan.

Trong thời gian chờ đợi, bạn có thể làm việc trên các hệ thống con khác, ví dụ như điều khiển động cơ từ máy tính và tự xây dựng điều đó và tìm hiểu cách cấp nguồn.

+1

Hãy nhớ rằng các robot phức tạp và có rất nhiều thứ có thể xảy ra. Đơn giản là tốt. Rất tốt. Ít nhất, hãy làm cho robot hoạt động với LDR, vì vậy bạn không cố gắng gỡ lỗi mọi thứ cùng một lúc. –

5

Cam web sẽ không gặp sự cố khi theo dõi đường màu trắng trên nền đen và nếu bạn thấy mình có vấn đề về độ nhạy thì đó là phần dễ dàng nâng cấp của hệ thống. (Bạn chỉ cần cắm vào một cam đắt hơn)

Nó có thể bạn quan tâm để có một cái nhìn tại OpenCV,

(Open Source Computer Vision) là một thư viện các hàm lập trình cho thời gian thực tầm nhìn máy tính.

Nó có thể cung cấp cho bạn một số ý tưởng cho bạn thực hiện, hoặc thậm chí được sử dụng cho bạn nếu bạn kết thúc bằng C++

chỉnh sửa: mặc dù sử dụng LDR như Andrew M gợi ý có thể là một giải pháp đơn giản hơn:)

+1

+ ~ OpenCV là một giải pháp tốt nếu theo dõi thị lực phức tạp hơn. Và tôi đồng ý, máy dò ảnh được đề xuất ở nơi khác là giải pháp đơn giản cho vấn đề cụ thể này. – kenny

0

Đề xuất bạn sử dụng cả hai động cơ để điều khiển, mỗi bên ngồi ở giữa khung xe và sau đó hai bánh trước và sau (nhô lên khỏi sàn một chút để có thể đá trên bánh lái). Sau đó, bạn có thể lái nó giống như một chiếc xe tăng và nó có thể bật sáu xu (hoặc đồng xu nếu từ Mỹ).

Chỗ cũ Robot Wars thí sinh :)

+0

Tôi thường sử dụng 3 để đơn giản. Ngoài cân bằng trọng lượng (trên bánh lái) có lý do để sử dụng 2 bánh xe thay vì 1 không? Căn chỉnh? – NVRAM

+0

đơn giản là tốt vì vậy nếu ba công việc sau đó dính vào nó. Sử dụng hai phương tiện bạn có thể có các bánh lái nhiều hơn ở giữa robot để bạn có thể làm cho nó có vòng tròn quay chặt hơn. Tùy thuộc vào bề mặt bạn đang lái xe, bạn có thể thử sử dụng miếng trượt nylon hoặc ổ bi trong cốc sắp xếp có nghĩa là bạn có thể quay hoàn hảo ngay tại chỗ, bánh xe có thể đá bạn ra một chút vì chúng phải tự xoay xở. hy vọng rằng sẽ giúp –

2

bình luận trước về cách sử dụng cảm biến ảnh là những gợi ý tốt, mặc dù họ có thể khó tìm/làm cái gì đó sẽ cắm vào cổng USB.

Nếu bạn đi tuyến đường máy ảnh, tôi khuyên bạn nên mô phỏng một cảm biến đơn giản; có lẽ lấy trung bình của nửa bên trái và bên phải của đầu vào như một dấu hiệu để lái xe thẳng/trái/phải.

Nhưng, nếu bạn muốn dành ít thời gian hơn để tạo các phần tùy chỉnh, bạn có thể xem LEGO NXT kit. Chúng đi kèm với một cảm biến quang học và một môi trường lập trình đồ họa. Ngay cả khi bạn không mua, bạn có thể học hỏi từ các cuộc thảo luận cộng đồng xung quanh nó.

0

Nếu bạn đi với camera bạn có thể phải làm một số xử lý ảnh đơn giản. Cách dễ nhất có lẽ sẽ là hình thức thích ứng - lấy tất cả các điểm ảnh từ khung máy ảnh, chuyển đổi sang màu xám (nếu có màu), tính trung bình và sử dụng nó làm ngưỡng - bạn sẽ có đường trắng trên nền đen. Nếu bạn vẫn nhận được những đốm trắng nhỏ (do ánh sáng không đồng đều), bạn có thể lọc chúng ra bằng cách tách hình ảnh thành các thành phần kết nối (với tràn ngập) và loại bỏ các đốm nhỏ. Sau đó bạn hy vọng sẽ nhận được một sọc trắng trên nền đen.

Các vấn đề liên quan