Skip to main content
Cổng thông tin giáo viên

Lập trình cánh tay robot - Python

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Phác thảo hoạt động

  • Khám phá này sẽ giới thiệu cho sinh viên về cách lập trình cơ bản cho động cơ cánh tay của V5 Clawbot. 
  • Học cách lập trình Động cơ cánh tay cho phép học sinh kiểm soát chính xác các chuyển động cánh tay của V5 Clawbot. Để biết thêm thông tin về các hướng dẫn được sử dụng trong dự án Python, hãy truy cập thông tin trợ giúp cho VEXcode V5 Python.

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên - Sử dụng tính năng Tự động hoàn thành

Tự động hoàn thành là một tính năng trong VEXcode V5 giúp dự đoán phần còn lại của lệnh bạn đang nhập. Khi học sinh làm việc với VEXcode V5, hãy khuyến khích các em sử dụng tính năng Tự động hoàn thành để hỗ trợ cú pháp Python. Bạn có thể nhận thấy chức năng tự động hoàn thành khi bạn bắt đầu nhập hướng dẫn. Sử dụng phím “Lên” và “Xuống” để chọn tên bạn muốn, sau đó nhấn “Tab'' hoặc (Enter/Return) trên bàn phím để thực hiện lựa chọn. Để biết thêm thông tin về tính năng này, hãy xem bài viết Python. Không gian làm việc Python của VEXcode V5 với phần đầu của lệnh Drivetrain được nhập và cửa sổ tự động hoàn thành mở ra hiển thị các tùy chọn cho phần còn lại của lệnh.

V5 Clawbot đã sẵn sàng để sử dụng!

Khám phá này sẽ cung cấp cho bạn các công cụ để có thể bắt đầu tạo ra một số dự án thú vị sử dụng cánh tay V5 Clawbot.

  • Hướng dẫn Python VEXcode V5 sẽ được sử dụng trong quá trình khám phá này:
    • arm_motor.spin_for(TIẾN VỀ PHÍA TRƯỚC, 90, ĐỘ)
    • arm_motor.set_position(0, ĐỘ)
    • chờ (2, GIÂY)
  • Để tìm hiểu thêm thông tin về hướng dẫn, hãy chọn biểu tượng dấu chấm hỏi bên cạnh lệnh để xem thêm thông tin. 

    VEXcode V5 hiển thị lệnh Drive được nhập trong không gian làm việc và mục Trợ giúp mở ra bên phải cho lệnh đó. Phần trợ giúp định nghĩa lệnh Drive để di chuyển Hệ thống truyền động theo một khoảng cách nhất định và giải thích cách sử dụng lệnh trong một dự án.

  • Hãy đảm bảo rằng bạn đã tải xuống và sẵn sàng phần cứng cần thiết, sổ tay kỹ thuật và VEXcode V5.
Vật liệu cần thiết:
Số lượng Vật liệu cần thiết
1

Bộ khởi động lớp học VEX V5 (có phần mềm mới nhất)

1

Mã VEXcode V5

1

Sổ tay kỹ thuật

1

Dự án ví dụ về Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển)

Bước 1: Chuẩn bị cho cuộc khám phá

Trước khi bắt đầu hoạt động, bạn đã chuẩn bị sẵn những vật dụng này chưa? Kiểm tra từng mục sau:

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên

Làm mẫu từng bước khắc phục sự cố cho học sinh.

Bước 2: Bắt đầu một dự án mới

Trước khi bắt đầu dự án, hãy chọn đúng mẫu dự án. Dự án ví dụ về Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển) chứa cấu hình động cơ của Clawbot. Nếu không sử dụng mẫu, robot của bạn sẽ không chạy dự án đúng cách.

Thanh công cụ VEXcode V5 với menu File mở và Open Examples được đánh dấu trong hộp màu đỏ. Mở ví dụ là mục menu thứ tư bên dưới Dự án khối mới, Dự án văn bản mới và Mở.

Hoàn thành các bước sau:

  • Mở menu Tệp.
  • ChọnMởVí dụ.

Biểu tượng có nội dung Clawbot và Advanced Training Bot với hình ảnh chú robot màu xám phía trên dòng chữ.

  • Chọn và mở dự án ví dụ Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển).
  • Vì chúng ta sẽ lập trình để điều khiển cánh tay, hãy đổi tên dự án của bạnArmControl.
  • Lưudự án của bạn.
  • Kiểm tra để đảm bảo tên dự án ArmControl hiện nằm trong cửa sổ ở giữa thanh công cụ.

Hộp thoại tên dự án trong Thanh công cụ VEXcode V5 ghi là Arm Control và cho biết Slot 1 đã được chọn.

Biểu tượng Mẹo của Giáo viên Mẹo dành cho giáo viên

  • Vì đây là hoạt động bắt đầu với lập trình nên giáo viên nên làm mẫu các bước, sau đó yêu cầu học sinh thực hiện các hành động tương tự. Sau đó, giáo viên nên theo dõi học sinh để đảm bảo rằng các em đang thực hiện đúng các bước.
  • Đảm bảo rằng học sinh đã chọn Mở ví dụ từ menu Tệp.
  • Đảm bảo rằng học sinh đã chọn dự án ví dụ Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển).

          Bạn có thể chỉ cho học sinh biết rằng có một số lựa chọn để chọn trên trang Ví dụ. Khi xây dựng và sử dụng các robot khác, trẻ sẽ có cơ hội sử dụng các mẫu khác nhau.

  • Bạn có thể yêu cầu học sinh thêm chữ cái đầu hoặc tên nhóm của mình vào tên dự án. Điều này sẽ giúp phân biệt các dự án nếu bạn yêu cầu học sinh nộp chúng.

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Lưu dự án

  • Chỉ ra rằng khi họ mở VEXcode V5 lần đầu, cửa sổ được gắn nhãn là VEXcode Project. VEXcode Project là tên dự án mặc định khi VEXcode V5 được mở lần đầu tiên. Sau khi đổi tên và lưu dự án, màn hình sẽ được cập nhật để hiển thị tên dự án mới. Sử dụng cửa sổ này trên thanh công cụ, bạn có thể dễ dàng kiểm tra xem học sinh có đang sử dụng đúng dự án hay không.
  • Nói với học sinh rằng bây giờ các em đã sẵn sàng bắt đầu dự án đầu tiên của mình. Giải thích cho học sinh rằng chỉ cần làm theo một vài bước đơn giản, các em sẽ có thể tạo và chạy một dự án có thể nâng và hạ cánh tay của Clawbot.
  • Nhắc nhở học sinh lưu dự án của mình khi đang làm bài. Các bài viết trong phần Python của Thư viện VEX giải thích các phương pháp lưu trong VEXcode V5.

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Dừng lại và thảo luận

Đây là thời điểm thích hợp để tạm dừng và yêu cầu các nhóm học sinh xem lại các bước vừa hoàn thành khi bắt đầu một dự án mới trong VEXcode V5.

Bước 3: Di chuyển cánh tay lên

Bây giờ chúng ta sẽ bắt đầu bằng cách lập trình cho cánh tay nâng lên!

# Thư viện nhập
từ vex import *

# Bắt đầu mã dự án
arm_motor.set_position(0, DEGREES)
  • Viết lệnh arm_motor.set_position()như hiển thị ở trên trong vùng lập trình để thiết lập vị trí bắt đầu cho cánh tay.
arm_motor.set_position(0, ĐỘ)
arm_motor.spin_for(TIẾN VỀ PHÍA TRƯỚC, 90, ĐỘ)
  • Thêm lệnh arm_motor.spin_for()bên dưới lệnh arm_motor.set_position() như hiển thị ở trên để di chuyển cánh tay lên.

Thanh công cụ VEXcode V5 với ô chọn mở bên cạnh tên dự án. Khe 1 được chọn và đánh dấu bằng hộp màu đỏ và tên dự án là Arm Control.

  • Chọn biểu tượng Khe cắm. Bạn có thể tải dự án của mình xuống một trong các vị trí có sẵn trong Robot Brain. Chọn ô 1.

Hình ảnh Thanh công cụ trong VEXcode V5 với hộp màu đỏ xung quanh biểu tượng cánh tay màu xanh lá cây

  • Kết nối robot với máy tính hoặc máy tính bảng của bạn. Biểu tượng Não trên thanh công cụchuyển sang màu xanh lásau khi kết nối thành công.

Thanh công cụ trong VEXcode V5 với hộp màu đỏ xung quanh nút tải xuống. Các biểu tượng hiển thị từ trái sang phải là Bộ điều khiển, Não, Tải xuống, Chạy và Dừng.

  • Nhấp vào nútTải xuốngtrên thanh công cụ để tải dự án ArmControl xuống Robot Brain.

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên

Nếu học sinh đang sử dụng máy tính, hãy yêu cầu các em ngắt kết nối cáp USB khỏi Robot Brain. Việc kết nối robot với máy tính trong khi chạy một dự án có thể khiến robot kéo cáp kết nối.

Màn hình chính V5 Brain hiển thị dự án Arm Control ở khe 1 ở góc dưới bên trái. Ở hàng trên, các biểu tượng có nội dung là Drive, Devices, Settings và VEX.

  • Kiểm tra xem dự án ArmControl đã được tải xuống bộ nhớ trong khe bạn chọn chưa.

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Mô hình đầu tiên

Làm mẫu chạy dự án trước lớp trước khi cho tất cả học sinh thử cùng một lúc. Tập hợp học sinh vào một khu vực và chừa đủ không gian để Clawbot có thể di chuyển cánh tay. Trình bày cách kết thúc dự án và đưa cánh tay của Clawbot trở lại vị trí nghỉ ngơi.

Nói với học sinh rằng bây giờ đến lượt các em thực hiện dự án của mình. Đảm bảo rằng họ có đủ không gian để có thể nâng cánh tay của Clawbot lên một cách an toàn.
 

  • Chạy dự án trên Clawbot bằng cách đảm bảo dự án được chọn, sau đó nhấn nút Chạy. Xin chúc mừng vì bạn đã tạo ra dự án Claw Arm đầu tiên của mình!

Bước 4: Hãy thử điều này: Lập trình cánh tay xuống

Bây giờ bạn đã lập trình cho cánh tay di chuyển lên, bạn sẽ lập trình cho cánh tay hạ xuống hoặc di chuyển xuống.

Góc nhìn từ bên hông của V5 Clawbot với cánh tay hạ xuống

Hình ảnh của VEX V5 Clawbot với cánh tay hạ xuống

  • Thêm lệnh arm_motor.spin_for()thứ hai vào dự án ArmControl của bạn để cánh tay nâng lên 90 độ, đợi 2 giây rồi hạ xuống.
    • Gợi ý:Bạn sẽ cần phải thay đổi hướng trong lệnh.
  • Lưu ý rằng cánh tay giữ nguyên vị trí trong khi lệnhwaitđang chạy. Động cơ lấy năng lượng từ pin để giữ cho cánh tay chống lại lực hấp dẫn. Bởi vì cài đặt mặc định để dừng động cơ là cài đặtgiữ. Có hai cài đặt khác để dừng -phanhbờ. Bạn sẽ tìm hiểu về những điều đó trong phòng thí nghiệm khác.

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Giải pháp

Giải pháp cho thách thức này nằm ở bên dưới. Để hạ cánh tay xuống, học sinh cần thay đổi tham số “FORWARD” thành “REVERSE” trong lệnh arm_motor.spin_for()đã được thêm vào.

# Bắt đầu mã dự án
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
wait(2, SECONDS)
arm_motor.spin_for(REVERSE, 90, DEGREES)

Bước 5: Hoàn thành Thử thách Kiểm soát viên không lưu

Nhìn từ bên hông một robot V5 Clawbot với cánh tay giơ lên và các mũi tên bên dưới chỉ chuyển động lên xuống.

Hình ảnh V5 Clawbot với cánh tay giơ lên có mũi tên màu đỏ hướng lên và xuống, cho thấy cách Clawbot có thể nâng và hạ cánh tay Trong Thử thách kiểm soát viên không lưu, Clawbot phải di chuyển cánh tay lên xuống một lần trong 90 độ, đợi 3 giây, di chuyển cánh tay lên xuống hai lần trong 45 độ, đợi 5 giây, sau đó di chuyển cánh tay lên xuống ba lần trong 90 độ.

Sau đây là danh sách các hành vi của Clawbot:

  • Di chuyển cánh tay lên rồi xuống 90 độ.
  • Chờ 3 giây.
  • Di chuyển cánh tay lên rồi xuống 45 độ.
  • Di chuyển cánh tay lên rồi xuống 45 độ.
  • Chờ 5 giây.
  • Di chuyển cánh tay lên rồi xuống 90 độ.
  • Di chuyển cánh tay lên rồi xuống 90 độ.
  • Di chuyển cánh tay lên rồi xuống 90 độ.

Biểu tượng Hộp công cụ của giáo viên Hộp công cụ giáo viên - Giải pháp

Hầu hết các lệnh trong thử thách này là arm_motor.spin_for(). Sau khi thêm lệnh di chuyển cánh tay lên trên và lệnh di chuyển cánh tay xuống dưới, bạn có thể đánh dấu hai lệnh, nhấp chuột phải, sau đó chọn sao chép và dán chúng nhiều lần tùy theo nhu cầu. Sau đó, các tham số có thể được thay đổi để đáp ứng thử thách và các lệnh waitcó thể được thêm vào giữa.Dự án Python VEXcode V5 trong không gian làm việc với hai khối xoay được tô sáng và menu ngữ cảnh mở ở bên phải. Tùy chọn Sao chép trong menu ngữ cảnh được tô sáng. Sao chép xuất hiện giữa Cắt và Dán.

  • Xem ví dụ về giải pháp Thử thách kiểm soát không lưu tại đây: 
# Bắt đầu mã dự án
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
arm_motor.spin_for(TIẾN, 90, ĐỘ)
arm_motor.spin_for(ĐIỀU, 90, ĐỘ)
arm_motor.spin_for(TIẾN, 90, ĐỘ)
arm_motor.spin_for(ĐIỀU, 90, ĐỘ)

Học sinh giỏi hơn có thể sử dụng vòng lặp để đơn giản hóa giải pháp.

# Bắt đầu mã dự án
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
for repeat_count in range(2): 
    arm_motor.spin_for(FORWARD, 45, DEGREES)
    arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
for repeat_count in range(3):
    arm_motor.spin_for(FORWARD, 90, DEGREES)
    arm_motor.spin_for(REVERSE, 90, DEGREES)