Skip to main content

บทเรียนที่ 3: การหันไปในระยะทางที่ไกลขึ้น

การนำทางไปยังตำแหน่งเลี้ยว

  • เพิ่มคำสั่งต่อไปนี้ลงในโปรเจ็กต์ของคุณ หลังจากคำสั่ง turn_for สุดท้าย ตรวจสอบให้แน่ใจว่าการเยื้องของลูป ขณะที่ ตรงกับที่ใช้ในโครงการ คุณสามารถคัดลอกและวางลงในหรือจากโครงการที่มีอยู่ของคุณหรือพิมพ์ลงในพื้นที่ทำงาน  

        ในขณะที่ front_distance.get_distance (MM) > 50
            : drivetrain.drive (ไปข้างหน้า)
            รอ (5, มิลลิวินาที
    
        ) drivetrain.turn_for (ซ้าย, 90, องศา)
  • เราสามารถประเมินได้ว่าระยะห่างจากผนังถัดไปถึงตำแหน่งเลี้ยวที่เราต้องการในเขาวงกตคือประมาณ 300 มิลลิเมตร (มม.) มุมมองด้านบนของ Wall Maze Playground ที่มีหุ่นยนต์อยู่ในตำแหน่งสิ้นสุดโดยมีเส้นสีดำแสดงเส้นทางตั้งแต่เริ่มต้น ระยะห่างจากด้านหน้าของหุ่นยนต์ไปยังสิ่งกีดขวางบนผนังตรงข้ามมีป้ายกำกับว่าประมาณ 300 มม. 

สำหรับข้อมูลของคุณ

คุณสามารถใช้ข้อมูลเซ็นเซอร์ระยะทางตามที่รายงานในแดชบอร์ดเพื่อประเมินระยะทางที่หุ่นยนต์ VR อยู่จากวัตถุ หยุดโครงการของคุณเมื่อ VR Robot ไปถึงตำแหน่งที่คุณต้องการ เมื่อหยุดแล้วค่าในแดชบอร์ดจะแสดงค่าเซ็นเซอร์สำหรับหุ่นยนต์ VR ที่อยู่ในตำแหน่งปัจจุบัน สิ่งนี้สามารถใช้เพื่อสังเกตค่าเซ็นเซอร์เช่นเดียวกับการมองเห็นระยะห่างระหว่างหุ่นยนต์ VR และวัตถุในช่วงเวลาหนึ่ง

มุมมองด้านบนของ Wall Maze Playground ที่มีหุ่นยนต์ VR ติดอยู่ที่ผนังสิ่งกีดขวางใต้ตัวอักษร B ปุ่มหยุดที่มุมซ้ายล่างของหน้าต่างสนามเด็กเล่นจะถูกเน้นด้วยกล่องสีแดง

การหยุดโครงการเมื่อ VR Robot ไปถึง จุดที่กำหนดช่วยให้คุณสามารถหยุดโครงการชั่วคราวเพื่อดูว่าค่าใดที่เซ็นเซอร์ระยะทางกำลังรายงานแบบเรียลไทม์ ในกรณีของ Wall Maze ค่านี้สามารถใช้ในตัวดำเนินการที่มากกว่า>() เพื่อทำให้ VR Robot หยุดที่ระยะห่างจากผนังมากขึ้น
มุมมองจากบนลงล่างของสนามเด็กเล่น Wall Maze ที่มีหุ่นยนต์ VR หยุดอยู่ที่ประมาณตำแหน่งที่ต้องเลี้ยวเพื่อขับไปรอบๆกำแพงและไปยังเส้นทางไปยังตัวอักษร B แดชบอร์ดเปิดอยู่ในหน้าต่างสนามเด็กเล่นและค่าระยะทางที่รายงานไปทางขวาสุดอ่าน 272 มม.

  • ปรับค่าในขั้นสุดท้ายใน ขณะที่ตัวดำเนินการเปรียบเทียบ ลูปเป็น 300 มิลลิเมตร (มม.) ตามที่แสดงด้านล่าง สิ่งนี้จะช่วยให้หุ่นยนต์ VR สามารถขับเคลื่อนไปข้างหน้าได้ในขณะที่ระยะห่างจากผนังมากกว่า 300 มิลลิเมตร เมื่อมีขนาดน้อยกว่า 300 มิลลิเมตรหุ่นยนต์ VR จะเลี้ยวซ้ายตามตำแหน่งการเลี้ยวที่ต้องการใน Wall Maze

        ในขณะที่ front_distance.get_distance (MM) > 300
            : drivetrain.drive (ไปข้างหน้า)
            รอ (5, มิลลิวินาที
    
        ) drivetrain.turn_for (ซ้าย, 90, องศา) 
  • เปิด Wall Maze Playground หากยังไม่ได้เปิดและดำเนินโครงการ สังเกตว่าหุ่นยนต์ VR เลี้ยวซ้ายที่ตำแหน่งเลี้ยวที่ต้องการอย่างไรเพื่อให้พร้อมที่จะผ่านเขาวงกตไปยังตัวอักษร 'B' ต่อไป VEXcode VR กับโครงการที่แสดงทางด้านซ้ายในพื้นที่ทำงานและตำแหน่งสุดท้ายของหุ่นยนต์ VR บนสนามเด็กเล่น ตอนนี้หุ่นยนต์หันหน้าลงด้านล่างภายในเส้นทางที่เปิดซึ่งจะนำไปสู่ตัวอักษร B และไม่ถูกปิดกั้นโดยกำแพง
  • ขั้นตอนต่อไป ให้เพิ่มคำสั่งต่อไปนี้ลงในโปรเจ็กต์ของคุณ หลังจากคำสั่งสุดท้าย turn_for เพื่อให้หุ่นยนต์ VR ยังคงเดินทางต่อไปยังตัวอักษร 'B' ตรวจสอบให้แน่ใจว่าระยะห่าง ระหว่างการ วนลูปเยื้องอย่างถูกต้อง 
  • 	ในขณะที่ front_distance.get_distance (MM) > 50
            : drivetrain.drive (ไปข้างหน้า)
            รอ (5, มิลลิวินาที
    
        ) drivetrain.turn_for (ขวา, 90, องศา) ใน
    
        ขณะที่ front_distance.get_distance (MM) > 50
            : drivetrain.drive (ไปข้างหน้า)
            รอ (5, มิลลิวินาที
    
        ) drivetrain.turn_for (ขวา, 90, องศา) ใน
    
        ขณะที่ front_distance.get_distance (MM) > 50:
            drivetrain.drive (ไปข้างหน้า)
            รอ (5, มิลลิวินาที)
    
        drivetrain.stop ()
  • เปิด Wall Maze Playground หากยังไม่เปิดและเรียกใช้โครงการอีกครั้ง

    มุมมองจากบนลงล่างของสนามเด็กเล่น Wall Maze ที่มีหุ่นยนต์ VR หยุดอยู่บนตัวอักษร B
  • ตอนนี้หุ่นยนต์ VR ขับเคลื่อนจากจุดเริ่มต้นของ Wall Maze Playground และหยุดบนตัวอักษร ‘B’
  • โปรดสังเกตว่าการเปลี่ยนโอเปอเร เตอร์ที่เหมาะสมเป็น 300 มิลลิเมตรทำให้หุ่นยนต์ VR สามารถหมุนได้ในระยะที่ไกลจากผนังซึ่งจำเป็นต้องหมุนในตำแหน่งที่ถูกต้อง
  • ค่าระยะทางที่รายงานในแดชบอร์ดสามารถ ใช้เพื่อสังเกตระยะทางที่หุ่นยนต์ VR อยู่ห่างจากกำแพงเมื่อจำเป็นต้องหันไปที่ตัวอักษร ‘B'
    หน้าต่างสนามเด็กเล่นที่มีหุ่นยนต์ VR อยู่ที่จุดเปลี่ยนเพื่อไปยังเส้นทางที่เปิดไปยังตัวอักษร B ค่าระยะทางที่รายงานในแดชบอร์ดมีค่า 300 มม.

เลือกปุ่ม ถัดไป เพื่อดำเนินการกับบทเรียนส่วนที่เหลือนี้ต่อไป