PDA

View Full Version : giúp em cách định tọa độ robot trong diện tích 25x25m


jetli_ming
08-12-2008, 08:40 PM
chào các huynh.
em đang thực hiện một con robot có khả năng hoạt động độc lập trong phạm vi 25x25m.
nhưng gặp phải một vấn đề là làm sao xác định được tọa độ của robot trong phạm vi đó.

em có một vài ý tưởng không biết có khả thi không .
1, dùng hồng ngoại, siêu âm. .v.v. xác định tọa độ (x,y) bằng cách đặt 2 cảm biến vuông góc với nhau, chiếu vào tường, các góc được tính toán để giảm thiểu độ lệch so với đường thẳng góc.
cách này có vẻ tốn kém và khó thực hiện.
2, đặt hai tạm thu phát sóng điện từ định hướng hai góc sân, được điều khiển bởi các động cơ bước, phát hai tần số khác nhau, robot được lắp đặt các bộ thu phát dữ liệu từ hai trạm chính nó sẽ báo cho hai trạm chính khi các luồng sóng từ trạm chính quét qua nó, trạm chính sẽ xử lí tìm ra góc giữa 'robot-trạm- đường thẳng nối hai trạm'. khi đã có hai góc, ta có thể xác định được khoang cách tới robot.^.^
3,nguyên lí cũng tương tự cách trên nhưng ta đặt trạm phát ở hai góc sân phát sóng bình thường, hai tần số, trên robot lúc này đặt hai anten thu định hướng gắn trên các động cơ quay quanh robot, động cơ sẽ quay đến khi nào "lượng" sóng được là lớn nhất , tính toán các góc quay=> tọa độ.


nói chung cách nào cũng căng, các huynh có ý kiến gì giúp em với.
NẾU SỬ DỤNG CÁCH 2,3 THÌ CÓ THỂ LÀM NHƯ THẾ NÀO?

anh_gioi
09-12-2008, 12:26 PM
cách 1 tuy hơi tốn về cảm biến nhưng hiệu quả, lập trình cũng không đến nỗi. tớ cũng đang làm đề tài này, nhưng do ôn thi nên tạm ngừng một thời gian.chắc phải hết tháng này mới làm típ quá . t làm theo cách 1 như cậu bảo đấy.

jetli_ming
10-12-2008, 09:20 PM
mình nghĩ, theo cách đó không phải là không được, nhưng khi robot hoạt động, khả năng bị trơn trượt là rất lớn, tính toán độ lẹch so với phương thẳng góc chắc sẽ khó khăn ==> tính chính xác không cao.

falleaf
10-12-2008, 10:41 PM
Em không thể làm thế được.

1) Nếu Robot của em không có la bàn và khả năng tự quay của cảm biến, thì em chỉ có thể xác định được khoảng cách đối với các vật dựa vào 2 cảm biến đó. Như vậy khi robot bị xoay hướng khác, thì em không thể xác định vị trí của Robot theo X, Y.

2) Trường hợp thứ hai, đó là em đã biết bản đồ hoạt động của Robot (bản vẽ phòng), em có thể sử dụng phương pháp tìm feasible pose (vị trí khả thi) để định vị robot. Nhưng nếu làm vậy mà với 2 cảm biến, thì em sẽ xác định được rất nhiều feasible pose. Khi đó phải lọc lại điểm nào mới là điểm đúng của robot, có đôi khi không thể xác nhận được vì thông tin quá ít.

3) Một phương pháp khác là vừa đi vừa định vị lại. Khi đó dựa vào vị trí cũ, em có thêm một vector nữa. Cách này giúp em có 3 "cây gậy mù". Nếu không phải là mô hình dạng mê cung, thì với 3 cây gậy mù, nói chung là em có thể định vị được.

Chốt lại, em không thể định vị được với 2 yếu tố cảm biến, trên không gian 2 chiều. Bởi bản thân không gian 2 chiều đã có 3 thông số định vị, giá trị x,y và hướng \theta.

Chúc vui

khaivinh_plc
15-07-2009, 07:54 PM
các bạn có thể cho mình biết cách thức định vị được không? Tức là dùng cảm biến gì đó hay cái gì khác. Dùng vi điều khiển gì là tốt nhất!!!!!!!!!!!
mình rât thích robot

nguyendinhtuan
16-07-2009, 11:04 AM
chào các huynh.
em đang thực hiện một con robot có khả năng hoạt động độc lập trong phạm vi 25x25m.
nhưng gặp phải một vấn đề là làm sao xác định được tọa độ của robot trong phạm vi đó.

em có một vài ý tưởng không biết có khả thi không .
1, dùng hồng ngoại, siêu âm. .v.v. xác định tọa độ (x,y) bằng cách đặt 2 cảm biến vuông góc với nhau, chiếu vào tường, các góc được tính toán để giảm thiểu độ lệch so với đường thẳng góc.
cách này có vẻ tốn kém và khó thực hiện.
2, đặt hai tạm thu phát sóng điện từ định hướng hai góc sân, được điều khiển bởi các động cơ bước, phát hai tần số khác nhau, robot được lắp đặt các bộ thu phát dữ liệu từ hai trạm chính nó sẽ báo cho hai trạm chính khi các luồng sóng từ trạm chính quét qua nó, trạm chính sẽ xử lí tìm ra góc giữa 'robot-trạm- đường thẳng nối hai trạm'. khi đã có hai góc, ta có thể xác định được khoang cách tới robot.^.^
3,nguyên lí cũng tương tự cách trên nhưng ta đặt trạm phát ở hai góc sân phát sóng bình thường, hai tần số, trên robot lúc này đặt hai anten thu định hướng gắn trên các động cơ quay quanh robot, động cơ sẽ quay đến khi nào "lượng" sóng được là lớn nhất , tính toán các góc quay=> tọa độ.


nói chung cách nào cũng căng, các huynh có ý kiến gì giúp em với.
NẾU SỬ DỤNG CÁCH 2,3 THÌ CÓ THỂ LÀM NHƯ THẾ NÀO?


Cách 1: Bạn dùng cảm biến siêu âm/ Hồng ngoại để xác định khoảng cách vậy bản có thêm 1 bài toán nữa đó là làm sao để xác định cảm biến của bạn là vuông góc với mặt phẳng (Mặt tường). Khi bạn di chuyển tọa độ cụ thể robot di chuyển bạn sẻ tính độ sai lệnh góc như thế nào? Do đó mình nghĩ để bạn xác định được vuông góc cũng là rất khó. Trừ phi đây là bài toán cho sai số lớn. Nếu sai số lớn thì chỉ cần 4 cảm biến siêu âm là đủ.

LeDuc
18-07-2009, 09:16 AM
Thử xem cách này có được kô nha . Ý tưởng của tôi dựa trên việc tính toán quĩ đạo đã di chuyển trong mặp phẳng của robot .
Đầu tiên ta xác định tọa độ ban đầu cho robot ở tọa độ X0Y0 .
Khi robot di chuyển trong mặt phẳng ta sẽ tính toán quĩ đạo đang đi của robot để xác định xem nó hiện đang ở đâu trong mặt phẳng , từ đó sẽ đưa ra phương hướng di chuyển .
Việc tính toán quĩ đạo dựa vào thông số hồi tiếp vị trí từ 2 encoder của 2 động cơ đưa về . Khi đó ứng với thời gian tức thời thì quĩ đạo chủ là đường thẳng thôi , như vậy sẽ đơn giản , và bài toán có thể giải quyết được .
Sau mỗi lần cập nhật robot phải tính quĩ đạo hiện tại của mình so với tọa độ góc ban đầu ta set đặt .
Kô biết ai có ý kiến gì ko ?

nguyendinhtuan
18-07-2009, 01:07 PM
Thử xem cách này có được kô nha . Ý tưởng của tôi dựa trên việc tính toán quĩ đạo đã di chuyển trong mặp phẳng của robot .
Đầu tiên ta xác định tọa độ ban đầu cho robot ở tọa độ X0Y0 .
Khi robot di chuyển trong mặt phẳng ta sẽ tính toán quĩ đạo đang đi của robot để xác định xem nó hiện đang ở đâu trong mặt phẳng , từ đó sẽ đưa ra phương hướng di chuyển .
Việc tính toán quĩ đạo dựa vào thông số hồi tiếp vị trí từ 2 encoder của 2 động cơ đưa về . Khi đó ứng với thời gian tức thời thì quĩ đạo chủ là đường thẳng thôi , như vậy sẽ đơn giản , và bài toán có thể giải quyết được .
Sau mỗi lần cập nhật robot phải tính quĩ đạo hiện tại của mình so với tọa độ góc ban đầu ta set đặt .
Kô biết ai có ý kiến gì ko ?

Trên lý thuyết bạn làm được do bỏ qua ma sát trượt tương đối giữa bánh xe và mặt phẳng trong khi di chuyển. Thực tế bạn là sẻ ra sai số tích lũy từ các lần di chuyển và bạn sẻ sai tọa độ. Mình nghĩ vậy.

manhha2799
19-07-2009, 02:45 PM
Nếu dùng thêm la bàn điện tử kết hợp với encoder thì sai số sẽ ít đi.

LeDuc
19-07-2009, 07:23 PM
Trên lý thuyết bạn làm được do bỏ qua ma sát trượt tương đối giữa bánh xe và mặt phẳng trong khi di chuyển. Thực tế bạn là sẻ ra sai số tích lũy từ các lần di chuyển và bạn sẻ sai tọa độ. Mình nghĩ vậy.
Nếu vậy thì nó sẽ bị sai số cộng dồn .
Vậy cách giải quyết vấn về này như thế nào ? có ai co ý kiến gì ko?
Nếu sử dụng la bàn số liệu có ổn ko ? Chi phí mua đồ cũng là điều phải xem lại nửa .

nguyendinhtuan
20-07-2009, 05:57 AM
Nếu dùng thêm la bàn điện tử kết hợp với encoder thì sai số sẽ ít đi.

La bàn chỉ là để định hướng chứ đâu có dùng để xác định khoảng cách đâu. Dùng la bàn cũng không tránh được sai số. Có cách đơn giản là bạn tọa độ hóa toàn bộ sân, nếu bạn dùng công nghệ rẻ tiền. còn nếu dùng công nghệ đắt tiền thì có nhiều cách lắm

kidcdt
21-07-2009, 12:14 AM
bac F có thể viet 1 bai về la ban điên tử cho anh em đc ko! hiên nay công ty cua bac có ban loai nay ko và giá là bao nhiêu??

vandep
27-12-2009, 09:30 AM
tôi cũng đang làm về đề tài đó nè, các bác có thể giúp tôi được hok. tôi thì cần xác định tọa độ điểm để tiến hành cho máy khoan khoan lỗ vào bề mặt ở 4 góc của mặt phẳng hình vuông.
tôi đưa ra hai giả thuyết: thứ nhất là sẽ cho mặt phẳng di chuyển bằng hai động cơ bước kéo chiều dọc và chiều ngang.còn máy khoan thì cố định
thứ hai là mặt phẳng cố định,còn máy khoan thí di chuyển. tất cả sẽ điều khiển bằng nút nhấn. nhưng nếu dùng toàn bộ tự động, việc định vị chính xác tọa độ điểm trên mặt phẳng thì phải như thế nào, nhờ máy bác tư vấn giúp

quoc_vu
27-12-2009, 02:43 PM
thực ra đề tài này mình cũng đang làm cho luận văn của mình : máy tính sẽ vẽ ra quỹ đạo trên 1 bản đồ số bằng cách phân tích bản đồ , sau đó lưu các điểm cần đến vào 1 mảng và sẽ gửi lệnh cho robot di chuyển theo quỹ đạo đó.tuy nhiên việc di chuyển sẽ có sai số do ma sát trượt và sai số do hệ thống cơ khí nên mình sẽ dùng 1 dàn cảm biến siêu âm trang bị hết xung quanh robot (vì robot có biên dạng tròn , chỉ cần khoảng 10 đến 20 cái là đủ :D ), về giải thuật thì cần xử lý hiện tượng crosstalk , PId tốc độ động cơ , neraul network để đưa robot về vị trí mong muốn bằng công thức động học ngược