Thiết kế Robot đánh cờ Ver 1.0

Đăng lúc: Thứ hai - 16/05/2016 10:22 - Người đăng bài viết: SuperG
Robot đánh cờ Ver 1.0

Robot đánh cờ Ver 1.0

Cờ vua là một trò chơi rất nổi tiếng và phổ biến trên toàn thế giới. Mục đích chính của thiết kế là phát triển một Robot chơi cờ độc lập với một hệ thống thông minh để giải trí với chi phí thấp có thể triển khai tới từng gia đình.
 
Hệ thống được thiết kế với tiêu chí cơ bản:
 
· Không phụ thuộc hoặc cần hỗ trợ từ phần cứng hoặc phần mềm bên ngoài.
· Thiết kế giao diện người dùng đơn giản.

· Điện năng thấp, có thể chạy trên pin (6 vol) hoặc AC adapter (220-240 vol)​

1. Thành phần cơ bản:
Các hệ thống tổng thể có ba phần chính: các mạch phần cứng, bàn cờ, và cánh tay robot.
Picture of Basic idea and needed components
 
Bàn cờ có 64 vị trí, nơi các quân cờ di chuyển bên trên. Để cho hệ thống để xác định chuyển động của chúng, cần có một bộ cảm biến dưới mỗi khối để cảm nhận xem một mẫu có di chuyển hay không. Sau đó, các cảm biến sẽ gửi kết quả tới một bộ điều khiển và bộ điều khiển sẽ xác định cách các Robot phải di chuyển.
 
Các Robot được thiết kế như vậy có tất cả 64 khối. Trò chơi bắt đầu với di chuyển của người chơi, và sau đó các cảm biến kích hoạt, cuối cùng, bộ điều khiển sẽ xác định cách chơi và điều khiển để di chuyển quân cờ.
 
 
Chúng ta sẽ cần:
 
Động cơ 1-servo (cho các cánh tay robot, về cơ bản là 6 chiếc)
 
2-Nút cảm biến (64)
 
3- Vi điều khiển
 
4- Bàn cờ vua
 
5- điện trở 10kohm, điện trở 100 ohm, điện trở ohm 7-1k, điện trở ohm 8-2.2k, tụ 9-0.1uf, điều chỉnh điện áp 10-3.3v
 
 
2. Kết nối các cảm biến vị trí
Picture of Connecting the reed sensors
3.PNG
4.PNG
5.PNG
6.PNG
ff.bmp
Xác định một kích thước phù hợp, kích thước bảng được thiết lập ở đây là 40x40cm, với 2x2 cm cho mỗi ô vuông.
Dưới mỗi hình vuông, có một cảm biến từ tính được gọi là "Reed Switch" là cảm biến nhạy cảm với từ trường. Bất cứ khi nào một từ trường được xác định, trạng thái sẽ là bật, nếu không nó sẽ là tắt. Hoạt động của các cảm biến vị trí được hiển thị trong hình. 
Bên trong switch có hai mảnh kim loại. Khi một nam châm tiếp cận, hai mảnh sẽ chạm vào nhau (thu hút) gây ra một "đóng mạch", nếu không nó là một "mạch hở".
Mỗi ô có một nam châm nhỏ bên dưới nó sẽ ảnh hưởng đến các bộ cảm biến. Bằng cách di chuyển cờ xung quanh, cảm biến sẽ được mở ra và đóng lại cho phù hợp.Tiếp theo, sẽ xử lý các cảm biến với 64 vị trí được thiết kế. Mỗi bộ cảm biến sẽ có hai trạng thái mở hoặc đóng. Trước khi kết nối chúng với các vi điều khiển cần một số tiêu chuẩn được thiết lập. 
Để cho vi điều khiển để xác định xem liệu các cảm biến mở hoặc đóng, đầu ra của mỗi cảm biến phải là 1 (cao) hoặc 0 (thấp). Điều cần thiết là thêm một vài điện trở trên mỗi bộ cảm biến để đảm bảo rằng đầu ra của cảm biến là hoặc 1 (cao) hoặc 0 (thấp).
 
Bây giờ các cảm biến cần được điều chỉnh mặc định để 0 hoặc 1, chúng có thể được kết nối với bộ điều khiển chính. Tuy nhiên, vi điều khiển nói chung không thể xử lý số tiền số lượng lớn tín hiệu từ các bộ cảm biến (64 bộ).
Vì vậy, một mạch giải mã được đặt ra. Một kênh (MUX) là một chip hoạt động chuyển đổi qua lại giữa đa tín hiệu vào thành đơn tín hiệu hoặc ngược lại.
 
Trong thiết kế, sử dụng 4 bộ chuyển đổi ghép kênh với 16 kênh (ứng với 64 vị trí) được sử dụng. Sau đó, một đầu ra duy nhất kết nối chân IO của vi điều khiển. Mạch giải mã có 64 đầu vào từ bảng cảm biến và giải mã chúng để có 9 kết quả đầu ra chuyển tới bộ điều khiển chính.
Picture of Connecting the sensors to the microcontroller
8.PNG
09056-01.jpg
2.PNG
 
3. Vi điều khiển
Các thông số kỹ thuật điều khiển rất quan trọng. Các mạch của bộ điều khiển cần tối thiểu như sau:
 
· Vi điều khiển có 32 chân I/O, có khả năng xử lý các thuật toán trí tuệ nhân tạo hạng nặng. (đấy là nói với các siu nhiên có khả năng viết AI khủng)
· Có khả năng điều khiển động cơ servo công suất cao.
· Có khả năng làm với camera (cho các tính năng mở rộng) 
 
Bài này chọn VĐK 32 bit, 80MHZ có khả năng phát video và xử lý song song. Nó đủ mạnh để chạy toàn bộ hệ thống mà không vướng mắc gì thêm. P0 để P8 được sử dụng cho các bộ ghép kênh, P9 đến P15 được sử dụng để kiểm soát các động cơ RCservo.
Picture of The Propeller microcontroller
1.PNG
Picture of The circuit designs and PCB's
1.PNG
2.PNG
3.PNG
4.PNG
 
4. Cánh tay Robot
Picture of The Robotic Arm
13.PNG
11.PNG
Đã có bài riêng về cánh tay Robot, các bạn làm tương tự hoặc có thể mua sẵn để tập trung vào vấn đề này tốt hơn. Điều quan trọng nhất là kích thước của tay Robot và bàn cờ phải phù hợp.
Sau khi thiết kế hoàn thành tay Robot và xây dựng một hệ thống kiểm soát cần thiết để di chuyển các quân cờ đến vị trí chính xác. Việc kiểm soát cánh tay robot là một vòng lặp mở, có nghĩa là không có thông tin phản hồi từ cánh tay cho vi điều khiển. Tuy nhiên, động cơ servo chính nó là một hệ thống vòng khép kín; như vậy, sự ổn định của nó có thể được đảm bảo.
 
Hệ thống điều khiển được thực hiện bằng cách sử dụng phương pháp Master-Slave. Các vi điều khiển sẽ gửi lệnh đến động cơ cánh tay servo robot, và chúng sẽ di chuyển cho phù hợp.
Truyền điều khiển động cơ servo bằng việc cấp xung sẽ dễ dàng hơn thay vì dùng góc. Tất cả các vị trí (64 vị trí) được tìm thấy trên thực tế qua điều khiển servo với phần mềm máy tính đặc biệt cho phép điều khiển từng RC servo qua đó xác lập tọa độ theo từng RCservo. 
 
Mỗi khối trên bàn cờ có thông tin ccanf thiết cho cánh tay robot: Vị trí # 1 và vị trí # 2. 
 
Để sử dụng hai vị trí này được thực hiện trong 4 bước sau:
 
1) Các vi điều khiển cho các cánh tay robot chuyển sang khối quy định, chiều dọc (Vị trí # 1)
 
2) Các vi điều khiển cho các cánh tay robot chuyển sang khối quy định, chiều ngang  (Vị trí # 2)
 
3) Nhận quân cờ
 
4) Quay trở lại vị trí trong cùng một khối
 
5) Di chuyển tới vị trí mới quay trở lại bước 1.
 
Những vị trí được tìm thấy trên thực tế sau khi đồng bộ tay Robot với bàn cờ.
 
5. Phần mềm
 
Một trong những ưu điểm của hệ thống này là nó là một độc lập không có phần mềm bên ngoài hoặc phần cứng được mở rộng như PC. Do đó, phần mềm sẽ được chạy toàn bộ tại hệ thống và chạy ở trung tâm của hệ thống. 
Cần một số yêu cầu của phần mềm như sau:
 
5.1. Xác định cách chơi.
 
5.2. Kiểm tra và thông báo tính hợp lệ cho người chơi và vị trí quân.
 
5.3. Xác định bước đi cho cánh tay robot.
 
Để xác định quân cờ của người chơi đang chuyển động, và đích đến là gì. Điều này được thực hiện bằng cách sử dụng một thuật toán đọc tập các vị trí (sử dụng các cảm biến) trước và sau khi người chơi di chuyển các mảnh. 
Các thuật toán sẽ so sánh các dữ liệu trước và sau khi các vị trí đã được thay đổi. Một khi các thuật toán tìm vị trí, nó có thể thiết lập một bản đồ như "nguồn" và "điểm đến" để xác nhận thông tin về ván chơi.
Để thông báo tính hợp lệ, bạn có thể dùng đèn LED, âm thanh, giọng nói... tiếp theo là xác định bước đánh cho tay Robot và di chuyển chúng phù hợp.
 
Thiết kế các thuật toán chơi cờ vua không hề dễ dàng. Bên dưới là một ví dụ để các bạn tham khảo trên cơ sở nghiên cứu lấy căn cứ và phát triển phù hợp với từng cá nhân, đây chưa phải là kết quả chuẩn cho Robot này.
Code tham khảo: 
 
Cám ơn các bạn quan tâm, hãy cùng chia sẻ vì cộng đồng!​
 
Tham khảo: instructables.com
 

 

 

 

Đánh giá bài viết
Tổng số điểm của bài viết là: 0 trong 0 đánh giá
Click để đánh giá bài viết
 

Giới thiệu sản phẩm dịch vụ

Giới thiệu sản phẩm dịch vụ: -          Cung cấp giải pháp, thiết kế các sản phẩm Robot gia dụng -          Cung cấp các sản phẩm điện thông minh, nhà thông minh -          Sửa chữa, phục hồi chức năng cho Robot -  ...

Thăm dò ý kiến

Bạn có muốn sở hữu một Robot trong nhà không?

Cần một Robot để dọn dẹp

Cần một Robot trông nhà

Cần một Robot để giải trí

Bạn cần một Robot theo cách khác

Bạn đã có rồi

Bạn không cần

Liên kết