Chương 4 Chuẩn bị cho cuộc thi
Bài học 2: Sử dụng mẫu cuộc thi xếp hình khối
Chào mừng bạn đến với Lớp học VEX. Tôi tên là Lauren, và trong bài học này, chúng ta sẽ cùng tìm hiểu cách sử dụng Mẫu cuộc thi xếp khối. Trong bài học trước, chúng ta đã nói sơ qua về Mẫu thi đấu và lý do tại sao bạn cần sử dụng nó trong một trận đấu VEX Robotics Competition. Có nhiều phiên bản khác nhau của Mẫu cuộc thi tùy thuộc vào ngôn ngữ lập trình bạn đang sử dụng, cho dù là lập trình khối hay lập trình văn bản. Trong video cụ thể này, vì khóa học này chúng ta đang tập trung vào các khối (blocks), tôi sẽ hướng dẫn về Mẫu thi đấu khối (Blocks Competition Template) trong VEXcode V5.
Trước khi đi sâu vào chi tiết, chúng ta hãy cùng nói về vật liệu trước đã. Tôi sẽ sử dụng Robot huấn luyện nâng cao ở đây để minh họa một số chức năng của Cánh tay và Móng vuốt. Tôi cũng sẽ sử dụng bộ điều khiển, một đối tượng trò chơi và VEXcode V5 để trực tiếp trình bày cho các bạn mẫu thi đấu này. Bạn không cần bất kỳ vật liệu nào cho video này. Tôi sẽ thực hiện một vài thao tác minh họa cho các bạn. Tóm lại, bạn không cần bất cứ thứ gì cho bài học này cả.
Chúng ta hãy cùng thảo luận về mục đích của bài học này. Chúng ta sẽ cùng xem xét các phần khác nhau của Mẫu Cuộc Thi Đấu Khối, cụ thể hơn là ba phần: phần Khi Bắt Đầu, tức là giai đoạn trước khi Tự Động, phần Tự Động và phần Điều Khiển Của Người Lái. Tôi sẽ trình bày về những điều đó trong đoạn mã ví dụ mà tôi đã cung cấp ở đây, sau đó chúng ta sẽ tiến hành kiểm tra thực tế và xem chức năng hoạt động trên robot của chúng ta bằng bộ điều khiển để xem Mẫu thi đấu trông như thế nào khi hoạt động.
Như đã nói ở trên, chúng ta hãy cùng đi sâu vào ví dụ dự án của mình.
[Nhạc hiệu]
Được rồi, để xem Mẫu cuộc thi, tôi sẽ vào File, Mở Examples, Templates, rồi chọn Competition Template. Có một vài điều cần lưu ý ở đây. Thứ nhất, một lần nữa, ba phần này. Trước khi đi sâu vào ví dụ cụ thể này, tôi muốn lưu ý một điều: việc đầu tiên chúng ta cần làm trước khi bắt đầu điền thông tin vào các trường này là thêm cấu hình thiết bị. Tóm lại, nếu bạn đang sử dụng hệ thống truyền động 2 động cơ hoặc có động cơ tay, động cơ càng gắp hoặc bất cứ thứ gì tương tự, trước tiên bạn cần đảm bảo thêm chúng vào để các khối có thể được đặt ở phía bên trái. Điều đó sẽ cho phép bạn điền thông tin vào các phần này một lần nữa.
Ngay khi mở Mẫu cấu hình cuộc thi, tôi cần đảm bảo thêm cấu hình thiết bị của mình. Tiếp theo, điều tôi muốn đề cập là trong phần Điều khiển Trình điều khiển này, bạn có thể thấy khối "forever" nằm ở đó. Lý do phần đó có ở đó là vì hầu hết thời gian trong phần Điều khiển người lái, khi chúng ta sử dụng bộ điều khiển, chúng ta muốn liên tục kiểm tra xem các nút có được nhấn hay cần điều khiển có được di chuyển hay không. Vì vậy, đó là lý do tại sao khối "forever" được mặc định có sẵn ở đó. Nếu bạn muốn xóa nó vì bất kỳ lý do cụ thể nào, bạn có thể làm vậy, hoặc nếu bạn không sử dụng ngăn xếp đó và chỉ sử dụng cấu hình thiết bị, thì bạn có thể để nguyên như vậy.
Được rồi. Chúng ta hãy cùng xem xét từng phần trong ba phần này và ý nghĩa thực sự của chúng thông qua một ví dụ mà tôi đã đưa ra.
[Nhạc hiệu]
Trước tiên, tôi muốn lưu ý rằng mẫu cuộc thi của chúng ta gồm ba phần chính. Đầu tiên là giai đoạn khi bắt đầu hoặc trước khi vận hành tự động. Thứ hai là chế độ "Khi tự lái" hoặc "phần tự lái", và thứ ba là chế độ "Khi người lái điều khiển" hoặc "phần điều khiển của người lái". Cả ba khối sự kiện hoặc khối mũ này đều thực thi các phần khác nhau của, một lần nữa, Mẫu Cuộc thi này.
Chúng ta hãy cùng thảo luận về từng phần. Phần tiền tự động hoặc phần "Khi bắt đầu" sẽ được thực thi ngay khi dự án "Mẫu cuộc thi" được chạy. Chức năng này thích hợp nhất để thiết lập bất kỳ giá trị khởi tạo nào.
Cảm ơn các bạn đã tham gia bài học này cùng tôi. Tôi hy vọng bạn thấy bài viết này hữu ích và cung cấp nhiều thông tin bổ ích. Nếu có bất kỳ thắc mắc nào, đừng ngần ngại liên hệ. Chúc bạn lập trình vui vẻ và may mắn với các dự án VEX Robotics của mình!
Vậy nên nếu tôi cần in thứ gì đó lên màn hình não trước khi phần tự động bắt đầu, nếu tôi cần hiệu chỉnh con quay hồi chuyển, nếu tôi muốn in dữ liệu trong ví dụ cụ thể này, vì tôi đang sử dụng cánh tay và càng kẹp, tôi sẽ đặt động cơ của chúng ở chế độ giữ. Điều này có nghĩa là nếu tôi giơ tay lên hoặc mở càng, các động cơ sẽ giữ nguyên vị trí đó và sẽ không bị hạ xuống do trọng lực chẳng hạn. Vậy là tôi đang thiết lập những khái niệm tiền tự động cho các động cơ của mình. Trong ví dụ cụ thể này, chúng ta sẽ xem điều đó trông như thế nào khi xem bản trình diễn.
Tín hiệu âm nhạc
Vậy là giờ tôi đã có thông tin đó, đó chính là phần "Khi nào bắt đầu", giai đoạn trước khi vận hành tự động. Tiếp theo là phần tự chủ của chúng ta. Phần tự động của trận đấu sẽ kéo dài 15 giây, và đoạn mã cụ thể này sẽ chạy trong suốt phần tự động đó. Ngay khi mẫu cuộc thi được chạy, phần "Khi bắt đầu" ở chế độ tự động trước đó sẽ bắt đầu bất kể điều gì xảy ra. Sau đó, chế độ tự lái 15 giây sẽ bắt đầu hoạt động. Chúng tôi đã thảo luận về hệ thống điều khiển trường và cách hệ thống đó sẽ điều chỉnh thời điểm tất cả các robot bắt đầu và dừng khi nào phần cụ thể này sẽ chạy trong trận đấu, dòng mã này sẽ được thực thi.
Giờ, với ví dụ cụ thể mà tôi đưa ra ở đây, robot của chúng ta sẽ bắt đầu với một vật thể trong càng gắp. Sau đó, cánh tay robot sẽ khép lại xung quanh vật thể, nâng vật thể lên không trung, di chuyển về phía trước 200 milimét, hạ cánh tay xuống và thả vật thể trong trò chơi xuống. Điều này có thể mô phỏng việc ghi bàn ngay từ đầu trận đấu, chẳng hạn. Vậy đó là những gì sẽ xảy ra trong phần lái xe tự chủ của tôi. Một lần nữa, phần tự động có nghĩa là tôi không thể điều khiển robot bằng bất kỳ thao tác nào từ bộ điều khiển. Trong phần này, mọi thứ đều hoạt động tự động. Mọi thứ đều được thực hiện thông qua mã lập trình.
Nhìn vào phần thứ ba này, tôi thấy có Bộ điều khiển lái xe. Giờ đây, một điều tôi muốn nhấn mạnh là trong cấu hình thiết bị của chúng ta, rõ ràng là tôi có thể cấu hình hệ thống truyền động và bộ điều khiển, điều đó có nghĩa là tôi có thể gán các cấu hình hệ thống truyền động khác nhau cho cần điều khiển và tôi cũng có thể gán các nút khác nhau để điều khiển các động cơ khác nhau. Tuy nhiên, giả sử tôi đã hết các nút trên tay cầm điều khiển hoặc tôi muốn thao tác với những thứ khác. Tôi có thể thêm vào khối sự kiện "Khi điều khiển trình điều khiển" này một số thao tác mà tôi muốn thực hiện, những thao tác mà có thể tôi không có quyền truy cập trong cấu hình thiết bị, hoặc có thể tôi muốn thiết lập tốc độ của hệ thống truyền động, hoặc những thứ tương tự.
Vậy nên, ví dụ mã cụ thể của tôi ở đây một lần nữa, dành cho phần Điều khiển Trình điều khiển, điều này sẽ cho phép tôi điều khiển cần cẩu của mình bằng một nút trên bộ điều khiển. Chúng ta sẽ cùng xem điều đó trông như thế nào. Vì vậy, một lần nữa, khi tôi sử dụng phần Điều khiển trình điều khiển, tôi có thể sử dụng cả cấu hình thiết bị với bộ điều khiển và phần điều khiển trình điều khiển cùng một lúc. Hoặc tôi có thể dùng cái này hoặc cái kia. Nếu bạn không sử dụng bất kỳ ngăn xếp nào trong ba ngăn xếp này - ngăn xếp tiền tự động "khi khởi động", ngăn xếp tự động hoặc ngăn xếp điều khiển của người lái - bạn có thể để trống chúng.
Tín hiệu âm nhạc
Được rồi. Sau khi đã nói hết những điều đó, hãy cùng xem thực tế nó sẽ trông như thế nào khi tôi chạy nó trên robot của mình. Được rồi. Hãy cùng xem điều này trên tay cầm điều khiển của tôi nhé. Tôi có thể điều hướng đến các chương trình và thấy dự án Mẫu cuộc thi mà tôi đã tải xuống bộ nhớ của mình ở đó. Và nếu tôi di chuột qua một mục nào đó, sẽ có tùy chọn chạy tính giờ. Điều này sẽ mô phỏng hệ thống điều khiển hiện trường mà tôi đã đề cập trước đó, cách mọi thứ được điều khiển bởi hệ thống điều khiển hiện trường đó. Vì vậy, khi dự án thi đấu thực sự bắt đầu được điều khiển bởi điều đó, khi phần tự động của trận đấu được điều khiển bởi điều đó, và khi phần Điều khiển của Người lái được điều khiển bởi điều đó, tôi có thể mô phỏng điều đó bằng cách sử dụng quá trình chạy tính giờ trên bộ điều khiển.
Thư cảm ơn
Cảm ơn bạn đã dành thời gian cùng tôi tìm hiểu quy trình này. Tôi hy vọng phần trình bày này đã hữu ích.
Lời nhắn cuối cùng
Nếu có bất kỳ câu hỏi nào hoặc cần làm rõ thêm, đừng ngần ngại liên hệ với chúng tôi. Chúc bạn lập trình vui vẻ và chúc may mắn với các dự án robot của mình!
Vậy nếu tôi chọn tùy chọn đó, nó sẽ hiển thị 15 giây cho phần tự lái, 1 phút 45 giây cho phần điều khiển bằng tay. Và khi tôi nhấn nút này lần nữa, nó sẽ thực sự khởi động. Khi tôi bắt đầu, nó sẽ đếm ngược 3-2-1, giống như trong một trận đấu vậy. Và bây giờ chúng ta sẽ bắt đầu.
Vì vậy, ngay khi tôi nhấn nút bắt đầu, phần tự động sẽ chạy, hoặc phần chuẩn bị tự động sẽ bắt đầu trước bất kể điều gì xảy ra. Sau đó, nó sẽ lập tức bắt đầu phần vận hành tự động. Tôi sẽ cho các bạn xem ngay khi nó bắt đầu thực hiện phần tự động. Ngay cả khi tôi di chuyển bộ điều khiển để robot di chuyển, nó cũng sẽ không di chuyển vì một lần nữa, trong giai đoạn tự hành, tôi không thể điều khiển robot bằng bộ điều khiển.
[Nhạc hiệu]
Vậy chúng ta hãy cùng xem phần cụ thể đó diễn ra như thế nào. Được rồi, bắt đầu thôi. Được rồi. Hiện tại, tôi vẫn còn vài giây nữa là kết thúc phần lái tự động. Như bạn thấy, ngay cả khi tôi di chuyển bộ điều khiển, cũng không có gì xảy ra vì tôi không thể điều khiển robot bằng bộ điều khiển trong giai đoạn tự hành. Nhưng ngay khi chuyển sang chế độ điều khiển người lái, tôi mới thực sự có thể điều khiển robot của mình.
Vậy nên tôi sẽ tiếp tục tiến lên vì hãy nhớ rằng khi chuyển sang phần Điều khiển người lái trong dự án này, tôi có thể điều khiển các bộ phận khác nhau. Vậy là tôi còn 1 phút 25 giây nữa. Tôi sẽ lái xe lên dựa trên cấu hình trình điều khiển ở đó, cái này điều khiển hệ thống truyền động, cái này điều khiển cánh tay, nút này điều khiển càng gắp. Chỉ cần nhấn một nút là tôi có thể lấy được các vật thể. Tôi có thể nhấn hai nút ở đây để nâng và hạ cánh tay. Chỉ cần một nút bấm để điều khiển cần cẩu. Đóng, Mở.
Hiện tại, đây không phải là một tùy chọn trong cấu hình thiết bị, vì vậy tôi phải tự viết mã đó, đó chính là lý do tại sao tôi đã sử dụng khối sự kiện Điều khiển Trình điều khiển mà bạn có thể thấy trong ngăn xếp cụ thể đó. Nó sẽ tiếp tục đếm ngược cho phần còn lại của bài học Điều khiển Lái xe. Nhưng như bạn thấy đấy, tôi sẽ dừng việc đó lại. Khi phần điều khiển của người lái kết thúc, mọi thứ sẽ tắt và trận đấu kết thúc.
Bạn có thể thấy ba phần khác nhau của mẫu này. Một lần nữa, chúng ta xem lại phần khởi động trước khi chế độ tự động hoàn tất, phần này sẽ chạy bất kể chúng ta đang ở phần nào. Cho dù chúng ta đang sử dụng chế độ tự động hay điều khiển bởi người lái, chúng ta sẽ chuyển sang phần tự động hoàn toàn. Tôi không thể sử dụng tay cầm điều khiển khi điều này xảy ra. Sau khi quá trình đó hoàn tất, nó sẽ chuyển sang phần Điều khiển người lái, nơi tôi có thể điều khiển robot của mình bằng bộ điều khiển, và quá trình này sẽ kéo dài một phút 45 giây cho đến khi kết thúc. Như tôi đã đề cập trước đó, bằng cách sử dụng hệ thống điều khiển tại chỗ, tất cả các robot sẽ khởi động và dừng cùng một lúc.
[Nhạc hiệu]
Được rồi. Chúng ta hãy cùng điểm lại nhanh những nội dung đã được đề cập trong video này. Chúng tôi đã xem xét mẫu cuộc thi xếp khối. Có ba phần khác nhau. Khi khởi động, ở chế độ tiền tự động, nó sẽ tiếp tục chạy bất kể điều gì xảy ra. Chức năng này dùng để khởi tạo các biến, có thể là thiết lập và hiệu chỉnh con quay hồi chuyển, in ấn nhờ màn hình não, thiết lập vị trí động cơ như giữ hoặc thậm chí nâng cánh tay lên một vị trí cụ thể. Tất cả những việc này đều được thực hiện trước khi phần thi đấu tự động bắt đầu.
Tiếp theo là phần tự hành, hệ thống tự hành mà chúng ta đã thấy ở đó, trong đó robot di chuyển hoàn toàn bằng mã lệnh trong 15 giây, không cần tương tác với bộ điều khiển hay người lái. Sau khi hoàn thành phần đó, chúng ta sẽ chuyển sang phần Điều khiển Người lái, phần này có thể được điều khiển thông qua cấu hình thiết bị mà chúng ta đã thấy trước đó, gán các động cơ và các thành phần nhất định cho các nút trên cần điều khiển và các thành phần tương tự, cũng như thông qua ngăn xếp cụ thể nơi tôi có thể viết thêm một chút mã tùy chỉnh cho robot của mình. Bạn có thể sử dụng cái này, cái kia, hoặc cả hai.
Và như tôi đã đề cập trước đó, nếu bạn không sử dụng bất kỳ phần nào trong ba phần đó trong suốt chương trình của mình, bạn cũng có thể để trống các ngăn xếp trong khối sự kiện.
Cảm ơn các bạn đã theo dõi và tôi hy vọng điều này sẽ giúp các bạn hiểu rõ hơn về mẫu cuộc thi.
Một lần nữa, lý do sử dụng mẫu này là để đảm bảo trong một trận đấu, tất cả các robot đều bắt đầu và dừng cùng một lúc. Đó là vì sẽ có bốn robot trên sân, và chúng tôi muốn đảm bảo rằng tất cả các robot đều khởi động và dừng cùng một lúc.
Tôi hy vọng tất cả những thông tin này sẽ hữu ích cho bạn khi tìm hiểu về Mẫu đề thi và chuẩn bị sẵn sàng cho một trận đấu VEX Robotics Competition. Tôi rất hào hứng.
Chúc mừng, bạn đã hoàn thành Chương Bốn, và tôi sẽ gặp lại bạn trong video khác.
Trước khi đi sâu vào chi tiết, chúng ta hãy cùng nói về vật liệu trước đã. Tôi sẽ sử dụng Robot huấn luyện nâng cao ở đây để minh họa một số chức năng của Cánh tay và Móng vuốt. Tôi cũng sẽ sử dụng bộ điều khiển, một đối tượng trò chơi và VEXcode V5 để trực tiếp trình bày cho các bạn mẫu thi đấu này. Bạn không cần bất kỳ vật liệu nào cho video này. Tôi sẽ thực hiện một vài thao tác minh họa cho các bạn. Tóm lại, bạn không cần bất cứ thứ gì cho bài học này cả.
Chúng ta hãy cùng thảo luận về mục đích của bài học này. Chúng ta sẽ cùng xem xét các phần khác nhau của Mẫu Cuộc Thi Đấu Khối, cụ thể hơn là ba phần: phần Khi Bắt Đầu, tức là giai đoạn trước khi Tự Động, phần Tự Động và phần Điều Khiển Của Người Lái. Tôi sẽ trình bày về những điều đó trong đoạn mã ví dụ mà tôi đã cung cấp ở đây, sau đó chúng ta sẽ tiến hành kiểm tra thực tế và xem chức năng hoạt động trên robot của chúng ta bằng bộ điều khiển để xem Mẫu thi đấu trông như thế nào khi hoạt động.
Như đã nói ở trên, chúng ta hãy cùng đi sâu vào ví dụ dự án của mình.
[Nhạc hiệu]
Được rồi, để xem Mẫu cuộc thi, tôi sẽ vào File, Mở Examples, Templates, rồi chọn Competition Template. Có một vài điều cần lưu ý ở đây. Thứ nhất, một lần nữa, ba phần này. Trước khi đi sâu vào ví dụ cụ thể này, tôi muốn lưu ý một điều: việc đầu tiên chúng ta cần làm trước khi bắt đầu điền thông tin vào các trường này là thêm cấu hình thiết bị. Tóm lại, nếu bạn đang sử dụng hệ thống truyền động 2 động cơ hoặc có động cơ tay, động cơ càng gắp hoặc bất cứ thứ gì tương tự, trước tiên bạn cần đảm bảo thêm chúng vào để các khối có thể được đặt ở phía bên trái. Điều đó sẽ cho phép bạn điền thông tin vào các phần này một lần nữa.
Ngay khi mở Mẫu cấu hình cuộc thi, tôi cần đảm bảo thêm cấu hình thiết bị của mình. Tiếp theo, điều tôi muốn đề cập là trong phần Điều khiển Trình điều khiển này, bạn có thể thấy khối "forever" nằm ở đó. Lý do phần đó có ở đó là vì hầu hết thời gian trong phần Điều khiển người lái, khi chúng ta sử dụng bộ điều khiển, chúng ta muốn liên tục kiểm tra xem các nút có được nhấn hay cần điều khiển có được di chuyển hay không. Vì vậy, đó là lý do tại sao khối "forever" được mặc định có sẵn ở đó. Nếu bạn muốn xóa nó vì bất kỳ lý do cụ thể nào, bạn có thể làm vậy, hoặc nếu bạn không sử dụng ngăn xếp đó và chỉ sử dụng cấu hình thiết bị, thì bạn có thể để nguyên như vậy.
Được rồi. Chúng ta hãy cùng xem xét từng phần trong ba phần này và ý nghĩa thực sự của chúng thông qua một ví dụ mà tôi đã đưa ra.
[Nhạc hiệu]
Trước tiên, tôi muốn lưu ý rằng mẫu cuộc thi của chúng ta gồm ba phần chính. Đầu tiên là giai đoạn khi bắt đầu hoặc trước khi vận hành tự động. Thứ hai là chế độ "Khi tự lái" hoặc "phần tự lái", và thứ ba là chế độ "Khi người lái điều khiển" hoặc "phần điều khiển của người lái". Cả ba khối sự kiện hoặc khối mũ này đều thực thi các phần khác nhau của, một lần nữa, Mẫu Cuộc thi này.
Chúng ta hãy cùng thảo luận về từng phần. Phần tiền tự động hoặc phần "Khi bắt đầu" sẽ được thực thi ngay khi dự án "Mẫu cuộc thi" được chạy. Chức năng này thích hợp nhất để thiết lập bất kỳ giá trị khởi tạo nào.
Cảm ơn các bạn đã tham gia bài học này cùng tôi. Tôi hy vọng bạn thấy bài viết này hữu ích và cung cấp nhiều thông tin bổ ích. Nếu có bất kỳ thắc mắc nào, đừng ngần ngại liên hệ. Chúc bạn lập trình vui vẻ và may mắn với các dự án VEX Robotics của mình!
Vậy nên nếu tôi cần in thứ gì đó lên màn hình não trước khi phần tự động bắt đầu, nếu tôi cần hiệu chỉnh con quay hồi chuyển, nếu tôi muốn in dữ liệu trong ví dụ cụ thể này, vì tôi đang sử dụng cánh tay và càng kẹp, tôi sẽ đặt động cơ của chúng ở chế độ giữ. Điều này có nghĩa là nếu tôi giơ tay lên hoặc mở càng, các động cơ sẽ giữ nguyên vị trí đó và sẽ không bị hạ xuống do trọng lực chẳng hạn. Vậy là tôi đang thiết lập những khái niệm tiền tự động cho các động cơ của mình. Trong ví dụ cụ thể này, chúng ta sẽ xem điều đó trông như thế nào khi xem bản trình diễn.
Tín hiệu âm nhạc
Vậy là giờ tôi đã có thông tin đó, đó chính là phần "Khi nào bắt đầu", giai đoạn trước khi vận hành tự động. Tiếp theo là phần tự chủ của chúng ta. Phần tự động của trận đấu sẽ kéo dài 15 giây, và đoạn mã cụ thể này sẽ chạy trong suốt phần tự động đó. Ngay khi mẫu cuộc thi được chạy, phần "Khi bắt đầu" ở chế độ tự động trước đó sẽ bắt đầu bất kể điều gì xảy ra. Sau đó, chế độ tự lái 15 giây sẽ bắt đầu hoạt động. Chúng tôi đã thảo luận về hệ thống điều khiển trường và cách hệ thống đó sẽ điều chỉnh thời điểm tất cả các robot bắt đầu và dừng khi nào phần cụ thể này sẽ chạy trong trận đấu, dòng mã này sẽ được thực thi.
Giờ, với ví dụ cụ thể mà tôi đưa ra ở đây, robot của chúng ta sẽ bắt đầu với một vật thể trong càng gắp. Sau đó, cánh tay robot sẽ khép lại xung quanh vật thể, nâng vật thể lên không trung, di chuyển về phía trước 200 milimét, hạ cánh tay xuống và thả vật thể trong trò chơi xuống. Điều này có thể mô phỏng việc ghi bàn ngay từ đầu trận đấu, chẳng hạn. Vậy đó là những gì sẽ xảy ra trong phần lái xe tự chủ của tôi. Một lần nữa, phần tự động có nghĩa là tôi không thể điều khiển robot bằng bất kỳ thao tác nào từ bộ điều khiển. Trong phần này, mọi thứ đều hoạt động tự động. Mọi thứ đều được thực hiện thông qua mã lập trình.
Nhìn vào phần thứ ba này, tôi thấy có Bộ điều khiển lái xe. Giờ đây, một điều tôi muốn nhấn mạnh là trong cấu hình thiết bị của chúng ta, rõ ràng là tôi có thể cấu hình hệ thống truyền động và bộ điều khiển, điều đó có nghĩa là tôi có thể gán các cấu hình hệ thống truyền động khác nhau cho cần điều khiển và tôi cũng có thể gán các nút khác nhau để điều khiển các động cơ khác nhau. Tuy nhiên, giả sử tôi đã hết các nút trên tay cầm điều khiển hoặc tôi muốn thao tác với những thứ khác. Tôi có thể thêm vào khối sự kiện "Khi điều khiển trình điều khiển" này một số thao tác mà tôi muốn thực hiện, những thao tác mà có thể tôi không có quyền truy cập trong cấu hình thiết bị, hoặc có thể tôi muốn thiết lập tốc độ của hệ thống truyền động, hoặc những thứ tương tự.
Vậy nên, ví dụ mã cụ thể của tôi ở đây một lần nữa, dành cho phần Điều khiển Trình điều khiển, điều này sẽ cho phép tôi điều khiển cần cẩu của mình bằng một nút trên bộ điều khiển. Chúng ta sẽ cùng xem điều đó trông như thế nào. Vì vậy, một lần nữa, khi tôi sử dụng phần Điều khiển trình điều khiển, tôi có thể sử dụng cả cấu hình thiết bị với bộ điều khiển và phần điều khiển trình điều khiển cùng một lúc. Hoặc tôi có thể dùng cái này hoặc cái kia. Nếu bạn không sử dụng bất kỳ ngăn xếp nào trong ba ngăn xếp này - ngăn xếp tiền tự động "khi khởi động", ngăn xếp tự động hoặc ngăn xếp điều khiển của người lái - bạn có thể để trống chúng.
Tín hiệu âm nhạc
Được rồi. Sau khi đã nói hết những điều đó, hãy cùng xem thực tế nó sẽ trông như thế nào khi tôi chạy nó trên robot của mình. Được rồi. Hãy cùng xem điều này trên tay cầm điều khiển của tôi nhé. Tôi có thể điều hướng đến các chương trình và thấy dự án Mẫu cuộc thi mà tôi đã tải xuống bộ nhớ của mình ở đó. Và nếu tôi di chuột qua một mục nào đó, sẽ có tùy chọn chạy tính giờ. Điều này sẽ mô phỏng hệ thống điều khiển hiện trường mà tôi đã đề cập trước đó, cách mọi thứ được điều khiển bởi hệ thống điều khiển hiện trường đó. Vì vậy, khi dự án thi đấu thực sự bắt đầu được điều khiển bởi điều đó, khi phần tự động của trận đấu được điều khiển bởi điều đó, và khi phần Điều khiển của Người lái được điều khiển bởi điều đó, tôi có thể mô phỏng điều đó bằng cách sử dụng quá trình chạy tính giờ trên bộ điều khiển.
Thư cảm ơn
Cảm ơn bạn đã dành thời gian cùng tôi tìm hiểu quy trình này. Tôi hy vọng phần trình bày này đã hữu ích.
Lời nhắn cuối cùng
Nếu có bất kỳ câu hỏi nào hoặc cần làm rõ thêm, đừng ngần ngại liên hệ với chúng tôi. Chúc bạn lập trình vui vẻ và chúc may mắn với các dự án robot của mình!
Vậy nếu tôi chọn tùy chọn đó, nó sẽ hiển thị 15 giây cho phần tự lái, 1 phút 45 giây cho phần điều khiển bằng tay. Và khi tôi nhấn nút này lần nữa, nó sẽ thực sự khởi động. Khi tôi bắt đầu, nó sẽ đếm ngược 3-2-1, giống như trong một trận đấu vậy. Và bây giờ chúng ta sẽ bắt đầu.
Vì vậy, ngay khi tôi nhấn nút bắt đầu, phần tự động sẽ chạy, hoặc phần chuẩn bị tự động sẽ bắt đầu trước bất kể điều gì xảy ra. Sau đó, nó sẽ lập tức bắt đầu phần vận hành tự động. Tôi sẽ cho các bạn xem ngay khi nó bắt đầu thực hiện phần tự động. Ngay cả khi tôi di chuyển bộ điều khiển để robot di chuyển, nó cũng sẽ không di chuyển vì một lần nữa, trong giai đoạn tự hành, tôi không thể điều khiển robot bằng bộ điều khiển.
[Nhạc hiệu]
Vậy chúng ta hãy cùng xem phần cụ thể đó diễn ra như thế nào. Được rồi, bắt đầu thôi. Được rồi. Hiện tại, tôi vẫn còn vài giây nữa là kết thúc phần lái tự động. Như bạn thấy, ngay cả khi tôi di chuyển bộ điều khiển, cũng không có gì xảy ra vì tôi không thể điều khiển robot bằng bộ điều khiển trong giai đoạn tự hành. Nhưng ngay khi chuyển sang chế độ điều khiển người lái, tôi mới thực sự có thể điều khiển robot của mình.
Vậy nên tôi sẽ tiếp tục tiến lên vì hãy nhớ rằng khi chuyển sang phần Điều khiển người lái trong dự án này, tôi có thể điều khiển các bộ phận khác nhau. Vậy là tôi còn 1 phút 25 giây nữa. Tôi sẽ lái xe lên dựa trên cấu hình trình điều khiển ở đó, cái này điều khiển hệ thống truyền động, cái này điều khiển cánh tay, nút này điều khiển càng gắp. Chỉ cần nhấn một nút là tôi có thể lấy được các vật thể. Tôi có thể nhấn hai nút ở đây để nâng và hạ cánh tay. Chỉ cần một nút bấm để điều khiển cần cẩu. Đóng, Mở.
Hiện tại, đây không phải là một tùy chọn trong cấu hình thiết bị, vì vậy tôi phải tự viết mã đó, đó chính là lý do tại sao tôi đã sử dụng khối sự kiện Điều khiển Trình điều khiển mà bạn có thể thấy trong ngăn xếp cụ thể đó. Nó sẽ tiếp tục đếm ngược cho phần còn lại của bài học Điều khiển Lái xe. Nhưng như bạn thấy đấy, tôi sẽ dừng việc đó lại. Khi phần điều khiển của người lái kết thúc, mọi thứ sẽ tắt và trận đấu kết thúc.
Bạn có thể thấy ba phần khác nhau của mẫu này. Một lần nữa, chúng ta xem lại phần khởi động trước khi chế độ tự động hoàn tất, phần này sẽ chạy bất kể chúng ta đang ở phần nào. Cho dù chúng ta đang sử dụng chế độ tự động hay điều khiển bởi người lái, chúng ta sẽ chuyển sang phần tự động hoàn toàn. Tôi không thể sử dụng tay cầm điều khiển khi điều này xảy ra. Sau khi quá trình đó hoàn tất, nó sẽ chuyển sang phần Điều khiển người lái, nơi tôi có thể điều khiển robot của mình bằng bộ điều khiển, và quá trình này sẽ kéo dài một phút 45 giây cho đến khi kết thúc. Như tôi đã đề cập trước đó, bằng cách sử dụng hệ thống điều khiển tại chỗ, tất cả các robot sẽ khởi động và dừng cùng một lúc.
[Nhạc hiệu]
Được rồi. Chúng ta hãy cùng điểm lại nhanh những nội dung đã được đề cập trong video này. Chúng tôi đã xem xét mẫu cuộc thi xếp khối. Có ba phần khác nhau. Khi khởi động, ở chế độ tiền tự động, nó sẽ tiếp tục chạy bất kể điều gì xảy ra. Chức năng này dùng để khởi tạo các biến, có thể là thiết lập và hiệu chỉnh con quay hồi chuyển, in ấn nhờ màn hình não, thiết lập vị trí động cơ như giữ hoặc thậm chí nâng cánh tay lên một vị trí cụ thể. Tất cả những việc này đều được thực hiện trước khi phần thi đấu tự động bắt đầu.
Tiếp theo là phần tự hành, hệ thống tự hành mà chúng ta đã thấy ở đó, trong đó robot di chuyển hoàn toàn bằng mã lệnh trong 15 giây, không cần tương tác với bộ điều khiển hay người lái. Sau khi hoàn thành phần đó, chúng ta sẽ chuyển sang phần Điều khiển Người lái, phần này có thể được điều khiển thông qua cấu hình thiết bị mà chúng ta đã thấy trước đó, gán các động cơ và các thành phần nhất định cho các nút trên cần điều khiển và các thành phần tương tự, cũng như thông qua ngăn xếp cụ thể nơi tôi có thể viết thêm một chút mã tùy chỉnh cho robot của mình. Bạn có thể sử dụng cái này, cái kia, hoặc cả hai.
Và như tôi đã đề cập trước đó, nếu bạn không sử dụng bất kỳ phần nào trong ba phần đó trong suốt chương trình của mình, bạn cũng có thể để trống các ngăn xếp trong khối sự kiện.
Cảm ơn các bạn đã theo dõi và tôi hy vọng điều này sẽ giúp các bạn hiểu rõ hơn về mẫu cuộc thi.
Một lần nữa, lý do sử dụng mẫu này là để đảm bảo trong một trận đấu, tất cả các robot đều bắt đầu và dừng cùng một lúc. Đó là vì sẽ có bốn robot trên sân, và chúng tôi muốn đảm bảo rằng tất cả các robot đều khởi động và dừng cùng một lúc.
Tôi hy vọng tất cả những thông tin này sẽ hữu ích cho bạn khi tìm hiểu về Mẫu đề thi và chuẩn bị sẵn sàng cho một trận đấu VEX Robotics Competition. Tôi rất hào hứng.
Chúc mừng, bạn đã hoàn thành Chương Bốn, và tôi sẽ gặp lại bạn trong video khác.
Learning Objectives
Learning Objectives Section
- Xác định các yếu tố chính của Mẫu Cuộc thi Khối trong VEXcode V5, bao gồm các phần khi khởi động, tự động và điều khiển của người lái.
Summary
Summary Section
Đây là video thứ hai trong chương 4 của khóa học giới thiệu về VEX V5. Nếu bạn chưa xem video đầu tiên, hãy quay lại và xem Bài học : Cơ chế của một trận đấu VEX Robotics Competition Match.
Trong Bài học 2, bạn sẽ tìm hiểu về từng yếu tố chính trong ba yếu tố của Mẫu thi đấu Khối (Blocks Competition Template) trong VEXcode V5 bằng cách xem một ví dụ thực tế.
Chúc mừng, bạn đã hoàn thành Khóa đào tạo Giới thiệu về VEX V5!