Mục lục:

Robot di chuyển chính xác SnappyXO: 6 bước
Robot di chuyển chính xác SnappyXO: 6 bước

Video: Robot di chuyển chính xác SnappyXO: 6 bước

Video: Robot di chuyển chính xác SnappyXO: 6 bước
Video: Hướng dẫn lập trình mô phỏng hoạt robot nachi trong nhà máy sản xuất #6 2024, Tháng mười một
Anonim
Robot di chuyển chính xác SnappyXO
Robot di chuyển chính xác SnappyXO

Làm cho rô bốt Arduino của bạn đi thẳng trong một khoảng cách xác định hoặc xoay theo một góc xác định bằng cách sử dụng thư viện Arduino PreciseMovement.

Robot cần có bánh lăn hoặc bánh xe tương đương để giảm thiểu ma sát trong khi xoắn.

www.pololu.com/product/954

Bạn có thể ra lệnh cho rô-bốt tiến tới một khoảng cách xác định hoặc vặn theo một góc xác định. Chương trình xác định vị trí của nó bằng cách sử dụng tính toán chết. Vì các ước tính vị trí chỉ dựa vào vận tốc của bánh xe, nên sự trượt sẽ gây ra sai số đáng kể. Người thiết kế robot nên cẩn thận để giảm thiểu nguy cơ trượt.

Điều này đã được thử nghiệm để hoạt động với robot SnappyXO.

Bước 1: Vị trí hướng dẫn đã thay đổi

Hướng dẫn đã được chuyển đến trang bên dưới. Hướng dẫn này không còn được duy trì.

sites.google.com/stonybrook.edu/premo

Bước 2: Xây dựng Robot truyền động vi sai SnappyXO

Thư viện PreciseMovement mà chúng tôi sẽ sử dụng chỉ tương thích với rô bốt truyền động vi sai. Bạn có thể chọn sử dụng các loại rô bốt dẫn động 2 bánh khác.

Bước 3: Kết nối thiết bị điện tử

Kết nối các thiết bị điện tử
Kết nối các thiết bị điện tử

Đối với bộ mã hóa quang học SnappyXO tiêu chuẩn:

D0 (đầu ra bộ mã hóa) -> Pin kỹ thuật số Arduino

VCC -> Arduino 5V

GND -> GND

Động cơ và nguồn Arduino:

Nguồn điện động cơ phải đủ cho động cơ bạn đang sử dụng. Đối với bộ SnappyXO, pin 4AA được sử dụng cho nguồn động cơ và pin 9V cho nguồn Arduino. Đảm bảo rằng tất cả chúng đều có GND chung.

Bước 4: Cài đặt Thư viện Arduino PreciseMovement

Tải xuống:

github.com/jaean123/PreciseMovement-library/releases

Cách cài đặt Thư viện Arduino:

wiki.seeedstudio.com/How_to_install_Arduino_Library/

Bước 5: Mã

Mã Arduino:

create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview

Các thông số này yêu cầu điều chỉnh. Các thông số khác được gắn nhãn khuyến nghị trên mã có thể được điều chỉnh để có hiệu suất tốt hơn.

  • Kiểm tra và đặt các chân động cơ dưới ARDUINO PINS.
  • Đặt LENGTH và RADIUS.

    • CHIỀU DÀI là khoảng cách từ bánh xe bên trái đến bánh xe bên phải.
    • RADIUS là bán kính của bánh xe.
  • Đặt PULSES_PER_REV, là số xung mà bộ mã hóa đầu ra cho một vòng quay.

    • Lưu ý rằng điều này khác với số lượng xung mà bộ mã hóa đầu ra cho một vòng quay của trục động cơ trừ khi các bộ mã hóa được kết nối để đọc trực tiếp từ trục bánh xe.
    • PULSES_PER_REV = (xung trên một vòng quay của trục động cơ) x (tỷ số truyền)
  • Đặt STOP_LENGTH nếu bạn thấy rô bốt vượt quá sau khi di chuyển về phía trước.

    Robot sẽ dừng khi vị trí ước tính cách mục tiêu STOP_LENGTH. Do đó, STOP_LENGTH, là khoảng cách gần đúng cần thiết để rô bốt dừng lại

  • Thông số PID

    KP_FW: Đây là thành phần tỷ lệ của chuyển động tịnh tiến. Tăng điều này cho đến khi robot đi thẳng. Nếu bạn không thể làm cho nó hoạt động bình thường bằng cách điều chỉnh điều này, thì có thể phần cứng đã bị lỗi. (ví dụ: lệch bánh xe, v.v.)

    KP_TW: Đây là thành phần tỷ lệ của PID chuyển động xoắn. Đơn giản chỉ cần bắt đầu từ giá trị thấp và tăng giá trị này cho đến khi tốc độ xoắn, hoặc vận tốc góc của robot trong khi xoắn, đủ nhanh nhưng không gây ra hiện tượng vọt lố. Để quan sát, bạn có thể cho rô bốt thay thế từ 0 đến 90 và quay lại bằng cách chèn phần sau vào hàm vòng lặp

Đặt điều này trong vòng lặp để điều chỉnh KP_FW:

mover.earch (99999);

Đặt điều này trong vòng lặp để thay thế từ 0 đến 90 để điều chỉnh KP_TW:

mover.twist (90); // Xoắn 90 CW

chậm trễ (2000);

mover.twist (-90) // Xoắn 90 CCW

chậm trễ (2000);

Lưu ý rằng để thực sự xoắn vận tốc góc tại TARGET_TWIST_OMEGA, KI_TW cũng cần được điều chỉnh vì bộ điều khiển tỷ lệ sẽ không bao giờ cố định mục tiêu chính xác. Tuy nhiên, không cần thiết phải xoắn với vận tốc góc chính xác đó. Vận tốc góc chỉ cần đủ chậm.

Bước 6: Cách thức hoạt động

Nếu bạn tò mò về cách nó hoạt động, hãy đọc tiếp.

Chuyển động về phía trước được giữ thẳng bằng cách sử dụng thuật toán theo đuổi thuần túy trên một đường thẳng. Thông tin thêm về Theo đuổi thuần túy:

Bộ điều khiển PID xoắn cố gắng giữ vận tốc góc xoắn ở TARGET_TWIST_OMEGA. Lưu ý rằng vận tốc góc này là vận tốc góc của toàn bộ rô bốt không phải của các bánh xe. Chỉ một bộ điều khiển PID được sử dụng và đầu ra là tốc độ ghi PWM của cả động cơ trái và phải. Tính toán chết được thực hiện để tính toán góc. Khi góc đạt đến ngưỡng lỗi, rô bốt sẽ dừng lại.

Đề xuất: