Mô tả dự án
Tìm hiểu cách tạo một chiếc ô tô tự lái bằng PictoBlox và Tiện ích mở rộng thẻ nhận dạng. Tạo một sân khấu giống như một con phố và lập trình cho người hướng dẫn John hướng dẫn người dùng chọn làn đường và nhận dạng thẻ số.
- Mức độ khó: Trung cấp
- Mức độ khó: Trung cấp
- Nền tảng lập trình: PictoBlox (Scratch)
- Sản phẩm được sử dụng: AI và ML với PictoBlox
Giới thiệu
Bạn đã bao giờ tự hỏi Tesla, chiếc xe tự lái quyết định lộ trình như thế nào chưa? Hôm nay, chúng ta sẽ làm một cái gì đó tương tự nhưng trong PictoBlox. Chúng tôi sẽ tạo ra chiếc xe tự lái của riêng mình trong PictoBlox, chiếc xe này sẽ phát hiện các thẻ biển báo và theo đó. Chúng tôi sẽ sử dụng Tiện ích mở rộng thẻ nhận dạng của PictoBlox cho việc này.
Hãy bắt đầu bằng cách hiểu Tiện ích mở rộng thẻ nhận dạng là gì.
Tiện ích mở rộng thẻ nhận dạng là gì?
Tiện ích mở rộng thẻ nhận dạng là một trong những tiện ích mở rộng mới nhất được thêm vào trong phiên bản mới nhất của PictoBlox, v.4.1.0.
Tiện ích mở rộng này là sản phẩm của riêng chúng tôi về trình phân loại được đào tạo trước. Chúng ta có thể nhận ra các Số, thẻ nhân vật người như Hazel và John , Tín hiệu giao thông, Bộ bài và các thẻ ngẫu nhiên khác như pizza, bệnh viện, v.v.
Cùng với Tiện ích mở rộng NLP, có rất nhiều tính năng mới được thêm vào phiên bản PictoBlox mới nhất. Bạn có thể cần tải xuống PictoBlox hoặc cập nhật nó để sử dụng các tính năng mới nhất.
Thiết lập giai đoạn để tạo đường đua cho xe tự lái
Tiện ích mở rộng này là sản phẩm của riêng chúng tôi về trình phân loại được đào tạo trước. Chúng ta có thể nhận ra các Số, Hazel và John giống người, Tín hiệu giao thông, Bộ bài và các thẻ ngẫu nhiên khác như pizza, bệnh viện, v.v.
Cùng với Tiện ích mở rộng NLP, có rất nhiều tính năng mới được thêm vào phiên bản PictoBlox mới nhất. Bạn có thể cần tải xuống PictoBlox hoặc cập nhật nó để sử dụng các tính năng mới nhất.
Đầu tiên, chúng tôi sẽ thiết lập sân khấu của mình. Chúng ta sẽ làm cho sân khấu của chúng ta trông giống như đường phố. Chúng tôi đã thiết kế một cái, bạn có thể tải xuống từ liên kết bên dưới hoặc bạn có thể tự thiết kế một cái
❶ Mở PictoBlox.
❷ Tải lên phông nền.
❸ Trước tiên chúng ta hãy hiểu các yếu tố của phông nền.
❶ Sẽ có hai làn đường mà chúng ta sẽ chọn bằng cách hiển thị thẻ số.
❷Tiếp theo là ba điểm, nhà, cửa hàng pizza và bệnh viện. Sau khi làn đường được chọn, xe sẽ nhận dạng thẻ tiếp theo và di chuyển đến vị trí cụ thể đó.
❹ Đã đến lúc thêm các Sprites. Nhưng trước khi thêm sprite, chúng ta cần nói lời tạm biệt với Tobi. Tải hình ảnh ô tô lên từ máy tính, bạn có thể tải xuống từ đây .
❺ Tiếp theo, chọn John’s sprite từ thư viện sprite. Ở đây, John là người hướng dẫn sẽ ra lệnh cho chúng ta thực hiện một số nhiệm vụ nhất định và chiếc xe sẽ tuân theo mệnh lệnh của chúng ta.
❻ Nếu bạn có thể nhận thấy rằng các làn đường nằm ở hướng ngược nhau, chúng ta cần một chiếc ô tô quay mặt về phía bên kia. Vì vậy, hãy nhân đôi hình chiếc ô tô, đi đến bảng trang phục, chọn ô tô và nhấp vào lật theo chiều ngang.
Với điều này, việc thiết lập sân khấu và sprite của chúng ta đã hoàn tất.
Chọn John làm người hướng dẫn
Tập lệnh để John hướng dẫn người dùng
Chọn John Sprite. Chúng ta sẽ bắt đầu bằng việc viết kịch bản cho người kể chuyện, John.
- Đặt khối mũ khi cờ nhấp vào từ bảng Sự kiện .
- Tiếp theo, hãy thêm phần mở rộng thẻ nhận dạng. Bấm vào nút Thêm tiện ích mở rộng rồi chọn Tiện ích mở rộng thẻ nhận dạng .
- Đặt video Turn () trên sân khấu với khối độ trong suốt 0% từ bảng thẻ nhận dạng và chọn tắt từ trình đơn thả xuống.
- Tiếp theo, chúng ta cần chuyển phông nền sang một phông nền rõ ràng, do đó, từ bảng Look , kéo và thả chuyển phông nền sang khối () và chọn phông nền1 từ trình đơn thả xuống.
- Đặt John lên sân khấu bằng cách sử dụng khối đi tới x() y() từ Bảng chuyển động . Viết 21 vào khoảng trống đầu tiên và -112 vào khoảng trống thứ hai.
- Tiếp theo, từ bảng Look , đặt khối hiển thị .
- Tiếp theo, chúng ta cần John hướng dẫn người dùng đưa thẻ số để chọn làn đường. Vì vậy, hãy đặt khối say () từ bảng Giao diện để khiến John nói. Viết. “ Xin chào, Chúng ta cùng đi một chuyến bằng xe tự lái nhé ”.
- Nhân đôi khối nói và viết, “ Bạn muốn lái xe ở làn đường nào? ” trong không gian đã cho.
- Nhân đôi khối say () một lần nữa và thay thế văn bản bằng: “ Đặt thẻ số trước camera. “
Với điều này, phần hướng dẫn của John đã hoàn tất. Tiếp theo, chúng ta cần mở camera để phân tích thẻ số và lựa chọn hành động cho ô tô cho phù hợp.
Tập lệnh để phân tích số làn đường
- Tiếp theo, sau khi hướng dẫn đến mức này, chúng ta cần giấu John đi để các ô tô thực hiện hành động của mình. Vì vậy, từ bảng Look , đặt một khối ẩn .
- Bây giờ, để nhận dạng thẻ số chúng ta cần bật camera lên. Do đó, đặt video Turn () trên sân khấu với khối trong suốt 0% từ bảng thẻ nhận dạng và chọn bật lật từ trình đơn thả xuống.
- Chúng ta cần bắt John đợi vài giây cho đến khi PictoBlox phân tích tấm thẻ. Do đó, từ các điều khiển, bảng màu, thêm khối giây chờ () và viết 3 vào khoảng trống đã cho.
- Đặt hình ảnh phân tích từ khối camera từ bảng Thẻ nhận dạng .
- Để đảm bảo rằng các thẻ được nhận dạng một cách hoàn hảo, chúng tôi sẽ tạo một khung giới hạn xung quanh chúng. Vì vậy, hãy đặt khối hộp giới hạn hiển thị .
- Sau khi phân tích, chúng ta cần ẩn hộp giới hạn. Do đó, thêm khối chờ () giây và viết 2 giây và đặt lại khối hộp giới hạn hiển thị , nhưng chọn ẩn từ trình đơn thả xuống.
- Ngoài ra, hãy tắt máy ảnh, sau đó đặt video Turn () lên sân khấu với khối trong suốt 0% và chọn Tắt từ trình đơn thả xuống.
- Bây giờ, chúng tôi cần ô tô thực hiện hành động sau khi làn đường được nhận dạng. Vì vậy, hãy đặt một khối if() từ bảng Controls .
- Địa điểm là khối báo cáo được phát hiện số () từ bảng Thẻ nhận dạng và chọn 1 từ trình đơn thả xuống.
- Để thực hiện các bước tiếp theo cho Xe đúng hướng, chúng tôi sẽ gửi tin nhắn cho xe đúng hướng. Từ bảng Sự kiện , đặt khối phát () và chờ , rồi viết Lane-One trong tin nhắn mới .
- Nhân đôi hai bước trước đó. Chọn 2 từ danh sách thả xuống của khối if và viết tin nhắn mới ‘ Lane-Two ‘.
Với điều này, kịch bản cho John của chúng tôi đã hoàn tất. Hãy chuyển sang viết kịch bản cho ô tô.
Giúp xe tự lái di chuyển từ làn một
- Chọn xe phù hợp.
- Lúc đầu, chiếc xe sẽ không được nhìn thấy. Đặt khối mũ khi cờ nhấp vào từ bảng Sự kiện . Tiếp theo, từ bảng Look, đặt một khối ẩn .
Cố định vị trí ban đầu của ô tô
- Bây giờ, hãy viết kịch bản về điều gì sẽ xảy ra khi bạn gửi tin nhắn Lane-One.
- Tiếp theo, chúng ta cần chuyển phông nền sang Đường phố , do đó, kéo và thả phông nền chuyển sang khối () và chọn Phông nền đường phố từ trình đơn thả xuống.
- Chúng ta cần xe đến vị trí ban đầu và chỉ đúng hướng. Do đó, đặt khối điểm vào hướng () từ bảng Chuyển động và viết 90 . Thả vào khối x() y() và viết lần lượt 242 vào không gian thứ nhất và 62 vào không gian thứ hai.
- Bây giờ, sân khấu và vị trí của chiếc xe đã được thiết lập, đã đến lúc hiển thị nó, đặt khối hiển thị từ bảng Hình .
- Bây giờ, chiếc xe đang ở Lane-One, chúng tôi cần nó đi xa hơn một chút cho đến giao lộ. Do đó, đặt glide () giây vào khối x() y() từ bảng Chuyển động và viết 1 , 47 và 62 lần lượt ở vị trí thứ nhất, thứ hai và thứ ba.
Với điều này, chiếc xe đã đến nơi phải yêu cầu người dùng xuất trình thẻ định vị.
Phân tích thẻ vị trí
Phân tích thẻ vị trí
- Do đó, hãy đặt một khối nói () và viết “ Bạn cần chọn xem bạn muốn đến cửa hàng Pizza, Nhà hay Bệnh viện ”.
- Đặt một khối nói () khác và viết “ Vì vậy, hãy đặt thẻ vị trí trước camera .”
- Khi chúng ta muốn trên máy ảnh một lúc, chúng ta sẽ giấu chiếc xe, do đó, hãy đặt khối ẩn .
- Bây giờ, để nhận dạng thẻ vị trí, tương tự như thẻ số, chúng ta cần bật camera lên. Do đó, đặt video Turn () trên sân khấu với khối trong suốt 0% từ bảng thẻ nhận dạng và chọn bật lật từ trình đơn thả xuống.
- Thêm khối giây chờ () và viết 3 vào khoảng trống đã cho.
- Đặt hình ảnh phân tích từ khối camera từ bảng Thẻ nhận dạng .
- Đặt khối hộp giới hạn hiển thị .
- Thêm thời gian chờ 2 giây và đặt lại khối hộp giới hạn () , nhưng chọn ẩn từ trình đơn thả xuống.
- Ngoài ra, hãy tắt máy ảnh, đặt video Turn () lên sân khấu với khối trong suốt 0% và chọn Tắt từ trình đơn thả xuống.
- Bây giờ, thẻ vị trí đã được phân tích, chúng ta hãy đưa chiếc xe trở lại để nó di chuyển. Đặt khối hiển thị .
Di chuyển theo hướng được phân tích
- Bây giờ, nếu đã xác định được vị trí của Pizza, chúng ta cần xe đi về phía cửa hàng pizza. Đặt một khối if . Địa điểm là khối báo cáo được phát hiện Pizza từ bảng thẻ nhận dạng .
- Tiếp theo, trong cánh tay if, chúng ta sẽ viết một vài lệnh để di chuyển ô tô.
- Để làm cho nó tiến về phía trước, hãy đặt glide () giây vào khối x() y() và viết lần lượt 0,4 , 9 và 16 .
- Để làm cho nó hướng lên trên. Đặt điểm vào khối hướng () và viết 180 vào đó.
- Bây giờ để làm cho nó di chuyển về phía trước rồi rẽ phải, nhân đôi khối trượt và chỉ vào hướng và viết 0,6 , 6 , 119 trong khối trượt () giây vào khối x() y () và -90 vào điểm theo hướng () khối.
- Để đến được cửa hàng Pizza, hãy đặt một giây lướt () khác vào khối x() y () và viết lần lượt 0,5 , 109 và 127 .
Với điều này, xe của bạn đã đến cửa hàng pizza từ làn đường một. Đảm bảo thay đổi các con số trong phần lướt và các khối chỉ hướng nếu bạn đã lên kế hoạch cho phông nền mà mình chọn.
- Tương tự như việc đến Cửa hàng Pizza, chúng tôi sẽ viết mã để khiến ô tô di chuyển về nhà và bệnh viện từ làn một.
- Nhân đôi nhánh if và thực hiện các thay đổi theo đường dẫn đến nhà và bệnh viện từ làn một.
Với điều này, kịch bản của bạn dành cho ô tô nếu di chuyển ở làn một đã hoàn tất.
- Bây giờ, nếu đã xác định được vị trí của Pizza, chúng ta cần xe đi về phía cửa hàng pizza. Đặt một khối if . Địa điểm là khối báo cáo được phát hiện Pizza từ bảng thẻ nhận dạng .
Giúp xe tự lái di chuyển từ làn số 2
Phần kết luận
Tóm lại, chúng tôi đã học cách tạo một chiếc ô tô tự lái trong PictoBlox bằng cách sử dụng Tiện ích mở rộng thẻ nhận dạng. Đầu tiên chúng tôi dựng sân khấu và chọn John làm người hướng dẫn, người kể chuyện. Sau đó chúng tôi viết mã để ô tô nhận biết thẻ số và hành động tương ứng. Chúng tôi cũng viết kịch bản để di chuyển ở cả hai làn đường, đến những nơi như Cửa hàng Pizza, Nhà riêng và Bệnh viện. Chúng tôi đã học cách sử dụng Tiện ích mở rộng thẻ nhận dạng của PictoBlox. Bạn cũng có thể thực hiện các thay đổi đối với tập lệnh và làm cho dự án này trở nên phức tạp hơn.