Giới thiệu #
Đúng như tên gọi, Robot phát hiện cạnh là một thiết bị thông minh phát hiện cạnh hoặc sự vắng mặt của một bề mặt và tránh nó bằng cách xoay theo các hướng khác nhau để tránh bị rơi ra. Ví dụ, một chiếc ô tô robot tự động sử dụng công nghệ phát hiện cạnh để tránh rơi khỏi vách đá.
Robot phát hiện cạnh sẽ phát hiện cạnh và tiến hành dọc theo con đường có khoảng cách giữa cảm biến và bề mặt nhỏ hơn 10cm.
Lắp ráp #
Cấu trúc cuối cùng của robot sẽ trông như thế này:
Hãy xây dựng robot. Chúng tôi đang sử dụng Robot ngang để tham khảo thời điểm bắt đầu lắp ráp.
- Đầu tiên, tháo Bánh xe đa hướng ra khỏi Quarky Robot bằng tua vít.
- Sau đó, gắn cả Tấm B4 và Bánh xe đa hướng bằng cùng Bu-lông đã tháo ra ở bước trước.
- Đẩy động cơ servo vào Tấm B4 sao cho trục hướng xuống dưới và dấu ‘+’ thẳng hàng với trục.
- Kết nối Động cơ servo với Quarky.
- Mở PictoBlox và đặt góc Động cơ servo thành 90 độ . Đầu servo phải được căn chỉnh chính xác.
- Đẩy cảm biến siêu âm vào tấm B8 .
- Đẩy Tấm B8 vào Trục Động cơ servo đồng thời giữ Cảm biến Siêu âm úp xuống.
- Kết nối cảm biến siêu âm với Robot Quarky .
- Chụp Tấm A5 để cố định dây.
Việc lắp ráp đã hoàn tất.
Nguyên lý của Robot #
Để tránh bị ngã, rô-bốt của chúng ta sẽ thay đổi đường đi bất cứ khi nào phát hiện thấy một cạnh bằng cách tính toán khoảng cách giữa cảm biến và bề mặt. Nếu khoảng cách lớn hơn 10 cm, điều đó có nghĩa là một cạnh đã được phát hiện và kết quả là robot sẽ di chuyển theo hướng khác.
Hãy xem chi tiết thông tin :
- Máy dò cạnh của chúng tôi sẽ di chuyển về phía trước bất cứ khi nào khoảng cách giữa cảm biến siêu âm và bề mặt phải nhỏ hơn 10cm.
- Cạnh được phát hiện khi khoảng cách giữa cảm biến siêu âm và bề mặt lớn hơn 10cm. Robot ngừng phát hiện một cạnh.
- Đầu siêu âm quay sang trái để kiểm tra xem có cạnh bên trái hay không.
- Nếu không có cạnh bên trái, Quarky sẽ đổi hướng sang trái bằng cách rẽ trái 90 độ. Đầu siêu âm sẽ đi thẳng. Và robot di chuyển về phía trước.
- Nếu phát hiện thấy cạnh bên trái, đầu siêu âm sẽ quay sang bên phải.
- Nếu không phát hiện thấy cạnh nào, Quarky sẽ đổi hướng sang phải bằng cách rẽ phải. Đầu siêu âm sẽ đi thẳng. Và tiến về phía trước.
- Nếu nó sẽ phát hiện các cạnh theo mọi hướng. Quarky sẽ lùi lại.
Sơ đồ nguyên lý #
Dưới đây là sơ đồ thể hiện logic của chúng tôi. Chúng ta sẽ viết kịch bản cho robot ở chủ đề tiếp theo.
Các bước mã hóa #
Bây giờ là lúc lập trình cho Robot dò cạnh của chúng ta! Thực hiện theo các bước dưới đây để tạo một tập lệnh.
Khởi tạo Robot #
- Kéo và thả khối when green flag clicked từ bảng Events .
- Tạo một khối có tên – Initialize Robot. Đặt khối.
- Bây giờ, để khởi tạo các chân, hãy vào bảng Sensors và thêm connect Ultrasonic () to trig (), echo() bên dưới khối mũ Initialize Robot.
- Bước tiếp theo sẽ là đặt góc servo ban đầu là 90 độ, để thực hiện thao tác này, hãy kéo và thả góc et servo on() to () angle từ bảng Robot .
- Thêm go () at ()% speed khối tốc độ . Lần này đặt hướng là về phía trước và tốc độ là 50%. Điều này sẽ làm cho robot tiến về phía trước.
- Thêm wait() giây bên dưới- go () at ()% speed.
Phát hiện cạnh #
- Bây giờ, hãy vào bảng Control và thêm khối forever bên dưới Initialize Robot. .
- Sau đó, đặt khối if () then từ bảng Control bên trong khối forever.
- Tiếp theo, vào bảng Operators và đặt khối ()>() bên trong khoảng trống của if () then.
- Kéo và thả khối get ultrasonic () distance từ bảng Sensors trong không gian đầu tiên của khối ()>() và 10 trong không gian thứ hai. Khối này sẽ giúp so sánh giá trị cảm biến và phát hiện các cạnh.
Kiểm tra khu vực trống #
- Tiếp theo, tạo một khối tùy chỉnh khối có tên Set Servo Angle with Delay () với Angle làm tham số.
- Đặt khối set servo () to () angle với góc là Angle .
- Sau đó, thêm độ trễ 0,5 giây bằng cách đưa ra wait () seconds.
- Hãy quay lại với kịch bản chính. Thêm stop robot từ bảng Robot . Thêm Set Servo Angle with Delay () với góc được đặt là 0 độ. Tình trạng này sẽ dừng robot và xoay góc của servo về 0 độ bất cứ khi nào phát hiện thấy một cạnh.
- Bây giờ, chúng ta sẽ kiểm tra khoảng cách tối đa bằng cách thêm khối if() then else từ bảng Control .
- Tiếp theo, đi tới bảng O perators và đặt khối ()<() bên trong khối if () then else .
- Kéo và thả khối get ultrasonic () distance từ bảng Sensors trong khoảng trống đầu tiên của khối ()<() và 10 trong khối thứ hai.
- Nếu điều kiện được thỏa mãn, robot sẽ rẽ trái. Điều này có thể được thực hiện bằng cách thêm go () at () % speed for () seconds bên trong câu lệnh if. Đặt tốc độ là 50% và thời gian là 1,2 giây.
- Sau đó, nhân đôi khối Set Servo Angle with Delay () và đặt nó vào nhánh khác. Thay đổi góc thành 180 độ và hướng robot sang phải.
- Trong nhánh khác, thêm go () at ()% speed for () seconds khối () giây . Lần này đặt hướng là lùi, tốc độ là 50% và thời gian là 0,5 giây.
- Thêm một khối go () at ()% speed for () seconds. Lần này đặt hướng là trái, tốc độ là 80% và thời gian là 1,4 giây. Điều này sẽ làm cho robot đi ngược lại.
- Tiếp theo, nếu robot của chúng ta không có lợi thế nào, nó sẽ tiến về phía trước. Vì vậy, hãy đặt servo () to the () angle ở cuối nhánh if đầu tiên. Đặt góc là 90 độ .
- Cuối cùng, đặt khối go() at() speed() . Từ menu thả xuống, chọn hướng là tiến, tốc độ là 50% .
Cuối cùng, robot của chúng tôi đã sẵn sàng để chạy!
Kiểm tra #
Chạy robot và kiểm tra xem nó có hoạt động tốt không.
Tải mã lên Quarky #
Chúng tôi cũng có thể tải mã lên Quarky để robot chạy độc lập với PictoBlox. Điều này chúng ta chỉ có thể làm trên Laptop. Thực hiện theo các bước:
- Chuyển sang Chế độ tải lên (Upload).
- Thay thế khối khi nhấp vào cờ xanh bằng khối khi Quarky khởi động.
- Tải lên Mã bằng nút Tải lên Mã.
Đó là nó. Bây giờ robot của bạn có thể hoạt động độc lập.
Kết luận #
Tóm lại , bài học này đã chỉ cho chúng ta cách xây dựng , mã hóa và kiểm tra Robot phát hiện cạnh . Chúng tôi đã học cách thiết lập robot bằng PictoBlox và tải mã lên Quarky. _ _ Robot này có thể phát hiện cạnh và di chuyển dọc theo con đường có khoảng cách giữa cảm biến và bề mặt nhỏ hơn 10 cm .