→ Thùng:↺ Đặt lại+ Thêm lệnh⏭ Bước⏸ Tạm dừng▶ Chạy▶ Tiếp tục♾️ Vòng lặp không dừng. Thêm điều kiện thoát vòng lặp!⚠️ Không tìm được hướng đi tối ưu⚡ Pin⚡ Pin hết – thoát vòng lặp⛔ Robot dừng nhưng nhiệm vụ chưa xong: cần phân loại hết rác đúng thùng và tới đích.⛔ Robot dừng theo lệnh⛔ Robot dừng theo lệnh nhưng chưa hoàn thành nhiệm vụ.❌ Không có vật để nhặt tại đây❌ Robot đang cầm vật rồi – không thể nhặt thêm❌ Robot không cầm vật gì để thả❓ Chương trình kết thúc mà không hoàn thành nhiệm vụ.🎉 Hoàn thành xuất sắc! Robot đã thực hiện đúng nhiệm vụ.🎯 Nhiệm vụ cấp🏁 Đã tới đích – thoát vòng lặp🏁 Robot đã tới đích!🏆 Đã phân loại hết rác và hoàn thành nhiệm vụ!🏆 Kết quả🐍 Mã Python🐍 Mẫu lệnh Python🐍 Python💡 Khái niệm học💥 Robot va chạm và phải dừng. Kiểm tra lại đường đi!📊 Trạng thái📋 Chưa hoàn thành: robot phải phân loại hết rác đúng thùng rồi mới tới đích.📋 Chương trình kết thúc nhưng robot chưa đến đích.📋 Kết thúc chương trình📋 Nhật ký hành động📌 Bài học rút ra📡 Cảm biến📦 Đang cầm🔄 Chưa tới đích – tiếp tục lặp🗑️ Chưa phân loại🗑️ Xóa hết🤖 Robot Logic Lab🤖 Robot sẵn sàng🧩 Khối lệnh🪫 Robot hết pin. Hãy tối ưu số bước di chuyển.🛠️ Phân tích lỗi1 sao: Hoàn thành!2 sao: Tốt!3 sao: Xuất sắc!Bạn có thể lặp lại chuỗi: nếu có tường → rẽ; không thì đi thẳng.Bắc ↑Bộ lập trình RobotBùn hao pinbùn lầyBùn lầybùn lầy làm hao thêm 10 pinCảm biến + logic → robot hành động thông minh như AI nhận diện trong PY-03.Cảm biến + Phân loạiCảm biến giúp robot biết môi trường xung quanh. Logic lập trình chọn hành động đúng.Cần 2 lần Đi thẳng → Nhặt → 3 lần Đi thẳng → Thả → Dừng.Cần hoàn thành cấptrước khi mở cấpCẩn thận với vòng lặp vô tận! Nếu robot không bao giờ tới đích, vòng lặp sẽ không dừng.CấpCấp độChai nhựaChạy toàn bộ chương trình (R)Chạy từng bước (S)Chọn lệnh để thêmChưa chạyChương trình trốngCÓ ✓Có 4 loại rác: chai nhựa, giấy → tái chế; pin → nguy hại; thức ăn → hữu cơ.Có tờ giấy ở ô (2,3). Khi robot đứng trên ô đó, hãy dùng lệnh Nhặt vật.Dẫn robot đến đích dù có tường chắn giữa đường. Dùng if/else để robot tự né tường.Dầu trượtDi chuyển tối ưuDùng "Đọc cảm biến" rồi dùng if/else để kiểm tra loại vật trước khi bỏ thùng.Dùng "nếu phía trước có tường" để kiểm tra trước khi đi.Dùng cảm biến và các lệnh phân loại để đưa chai/giấy vào tái chế, pin vào nguy hại, thức ăn vào hữu cơ.Dùng if phía trước có tường/vật cản để né đường bị chặn trước khi đi thẳng.Dùng vòng lặp cho các đoạn hành lang lặp lại, nhưng nhớ có điều kiện dừng.Dừng lạiĐặt lại (Esc)Đi thẳngđíchĐíchĐiều khiển cơ bảnĐiều khiển robot đến đích bằng chuỗi lệnh tuần tự. Nhặt tờ giấy trên đường đi.Điều kiện If / ElseĐọc cảm biếnĐọc môi trường & phân loạiĐông →Đưa robot qua hành lang dài. Dùng vòng lặp thay vì viết 10 lệnh riêng.Đừng quên "Quay lại vòng lặp" ở cuối.elif robot.at_goal():elif robot.front_sensor == "item":elif robot.front_sensor == "wall":else:GiấyGợi ý đã dùngHành lang dài 10 ô. Nếu viết 10 lần "Đi thẳng" sẽ rất dài!Hãy thêm lệnh cho robot trước.Hoàn thành cấpđể mở cấpHoàn thành nhiệm vụ tổng hợp: né tường/thùng chắn, tránh bùn/dầu, phân loại rác đúng thùng và tới đích.HướngHữu cơHữu cơ 🌿if robot.at_goal():if robot.carried_item == "pin":if robot.carried_item == "thuc_an":if robot.carried_item in ["chai_nhua", "giay"]:if robot.front_sensor == "item":if robot.front_sensor == "wall":If/else giúp robot đưa ra quyết định khác nhau tùy tình huống thay đổi.If/else giúp robot phản ứng đúng khi môi trường thay đổi.Kết thúc ifKết thúc khối if/elseKết thúc khối kiểm tra phân loạiHết đoạn lặp: quay lại kiểm tra điều kiện lặpKết thúc phân loạiQuay lại vòng lặpKhi gặp tường: quay phải, đi 1 ô, quay trái, đi qua, quay trái, đi lên, quay phải.KHÔNG ✗Không cóKiểm tra vật có phải chai nhựa hoặc giấy không?Kiểm tra vật có phải thức ăn thừa (hữu cơ) không?Kiểm tra vật robot đang cầm hoặc đứng cạnh có phải pin không?Kiểm tra: ô phía trước có phải tường/vật cản không?Kiểm tra: ô phía trước có vật cần nhặt không?Kiểm tra: robot đang đứng tại ô đích không?Lặp có điều kiệnLặp đến khi tới đíchLặp khi còn pinLặp lạiLặp lại khối lệnh cho đến khi robot tới đíchLặp lại khối lệnh chừng nào pin còn > 0Lặp lại khối lệnh N lầnlầnLập trình robot không chỉ là đi tới đích: thuật toán tốt phải biết quan sát, rẽ nhánh, lặp hợp lý và né vùng nguy hiểm.LênlệnhMã PythonMàn cuối cần kết hợp tuần tự lệnh, if/else, vòng lặp, cảm biến và phân loại để robot vừa an toàn vừa tiết kiệm pin.Màn này có tường, thùng chắn, bùn lầy và vũng dầu. Bùn làm hao pin; dầu làm robot trượt thêm 1 ô.Mẫu else if / elifMẫu lệnh PythonNam ↓Nếu đã tới đíchNếu không thìNếu không thì nếu có tườngNếu không thì nếu có vậtNếu không thì nếu tới đíchNếu phía trước có tườngNếu phía trước có vậtNếu vật là chai / giấyNếu vật là pinNếu vật là thức ănngoài sa bànNguy hạiNguy hại ⚠️Nhánh thực thi khi điều kiện if phía trên saiNhặt vậtNhặt vật tại ô robot đang đứngNhặt vật, kiểm tra loại, điều hướng robot đến đúng thùng rồi Thả vật.Nhấn "+ Thêm lệnh" để bắt đầuNhấn Run để bắt đầu mô phỏng…Ô trốngPY-04 · Python & Basic AIQuét cảm biến xung quanh: trước, trái, phảiRẽ nhánh logicRẽ phảiRẽ tráiRobot bắt đầu hướng Đông (→). Hãy dùng lệnh Đi thẳng để tiến về phía đích.Robot chỉ làm đúng những gì bạn viết và theo đúng thứ tự bạn xếp lệnh.Robot chưa nhặt vật nào. Hãy dùng lệnh Nhặt vật trước.Robot chưa nhặt vật vì không có vật tại vị trí này. Hãy di chuyển đến đúng vị trí.Robot dừng, kết thúc chương trìnhRobot đang cầm vật rồi. Hãy dùng lệnh Thả vật trước.Robot đang lặp quá nhiều lần. Hãy thêm điều kiện dừng để thoát vòng lặp.Robot đâm vào vật cản vì bạn ra lệnh đi thẳng khi phía trước không đi được. Hãy dùng if/else hoặc cảm biến để kiểm tra trước.Robot hết pin vì đường đi quá dài hoặc đi qua vùng làm hao pin. Hãy tối ưu số bước và né vật cản mềm.Robot không tự hiểu ý bạn. Robot chỉ làm đúng theo thứ tự lệnh được viết.Robot phân loại 4 loại rác vào đúng thùng. Dùng cảm biến nhận diện, if/else để quyết định.Robot tiến 1 ô về phía đang nhìnRobot tự chọn hướng tốt nhất để tiến đến đích (nếu có đường)Robot xoay 90° sang phảiRobot xoay 90° sang tráirobot.choose_shortest_safe_move()robot.drop()robot.move_forward()robot.pick()robot.stop()robot.turn_left()robot.turn_right()Sa bàn robotSa bàn Robot – CấpSau khi phân loại xong, còn phải tới ô đích (6,8). Đường ngắn nhất chưa chắc tiết kiệm pin nếu đi qua bùn/dầu.sensor = robot.read_sensor()Số bướcSửa được · đồng bộ khối lệnhTái chếTái chế ♻️Tạm dừng (Space)Tây ←Thả vậtThả vật đang cầm vào ô / thùng hiện tạitham sốThêm nhánh else rồi kiểm tra điều kiện tiếp theoThời gianThuật toán tối ưuThùng chắnthùng rácThùng tái chế ở góc trên trái (1,1). Thùng hữu cơ ở góc trên phải (1,7). Thùng nguy hại ở (6,1).Thử dùng "Lặp đến khi tới đích" rồi bên trong đặt "Đi thẳng".Thử thách tối ưuThức ăn thừaTiếp tục (Space)Tốc độTốc độ robotTới đích xong, hãy dùng lệnh Thả vật rồi Dừng lại.trốngTuần tự lệnhTườngTường chặn thẳng đường. Robot cần né qua dưới hoặc trên tường.Va chạmvậtvật cảnvật cần nhặtVật cần nhặtVị tríVòng lặpVòng lặp giúp robot làm việc lặp lại, nhưng phải có điều kiện dừng.Vòng lặp giúp robot thực hiện nhiều lần mà không cần viết lại lệnh. Nhưng phải có điều kiện dừng!vũng dầuVũng dầuvũng dầu làm robot trượt thêm 1 ôVũng dầu làm robot trượt. Cần né đường dầu hoặc kiểm tra hướng đi trước khi tiến.while not robot.at_goal():while robot.battery > 0:Xem gợi ýXóaXóa toàn bộ lệnh?Xuống