สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: วัสดุที่จำเป็น
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: การตั้งค่า/รับรหัสสำหรับ Roomba
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: การตั้งค่า Cliff Sensors/ไฟ LED
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: ตรวจสอบอุปสรรค
- ขั้นตอนที่ 5: ขั้นตอนที่ 5: การพล็อต
วีดีโอ: โครงการ Roomba MATLAB 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
แผนปัจจุบันที่ NASA มีสำหรับยานสำรวจดาวอังคารคือเพื่อเป็นตัวรวบรวมข้อมูลและท่องไปรอบ ๆ ดาวอังคาร รวบรวมตัวอย่างดินเพื่อนำกลับมายังโลก เพื่อให้นักวิทยาศาสตร์สามารถดูว่ามีรูปแบบชีวิตก่อนหน้านี้บนโลกใบนี้หรือไม่ นอกจากนี้ รถแลนด์โรเวอร์จะส่งภาพกลับไปให้นักวิทยาศาสตร์ เพื่อช่วยนำทางและแก้ไขปัญหาที่อาจเกิดขึ้น
แนวคิดของกลุ่มเราสำหรับโครงการของเราคือให้รถแลนด์โรเวอร์ทำแบบเดียวกับยานสำรวจของ NASA ที่จะออกจากโลกในปี 2020 แต่เพื่อทำแผนที่ภูมิศาสตร์ของแผ่นดินด้วย Roomba จะสามารถรับรู้ถึงหน้าผาและหยุดตัวเองก่อนที่มันจะตกลงมา จากนั้นจึงถอยกลับ เลี้ยว และเปลี่ยนเส้นทางเพื่อไม่ให้ตกและได้รับความเสียหาย แนวคิดอื่นๆ ของเราที่รวมเข้ากับโปรเจ็กต์ของเราคือให้ roomba สามารถพล็อตจุดสังเกตที่เห็น และแสดงแผนผังทุกครั้งที่วนรอบเสร็จสิ้นและดำเนินไปตามเส้นทาง
คำแนะนำนี้มีไว้สำหรับคนอื่น ๆ ที่ต้องการสร้างรหัสประเภทเดียวกันสำหรับ roomba ของพวกเขา
ขั้นตอนที่ 1: ขั้นตอนที่ 1: วัสดุที่จำเป็น
คุณจะต้องการ:
- รูมบา
- MATLAB
- ไฟล์นี้เพื่อเรียกใช้ roomba
- พื้นผิวเรียบ
- พื้นผิวโต๊ะทำหน้าที่เป็น "หน้าผา"
ขั้นตอนที่ 2: ขั้นตอนที่ 2: การตั้งค่า/รับรหัสสำหรับ Roomba
หน้าจอของคุณจะมีลักษณะเช่นนี้เมื่อคุณป้อนไฟล์
ขั้นตอนที่ 3: ขั้นตอนที่ 3: การตั้งค่า Cliff Sensors/ไฟ LED
รหัสนี้จะบอก Roomba ของคุณว่าต้องเลี้ยวมุมไหน ตรวจสอบข้อมูลแบตเตอรี่ บอก Roomba ของคุณว่าจะไปเร็วแค่ไหน และตรวจสอบบุคคลผ่านกล้องของ Roomba นอกจากนี้ยังจะส่งเสียงบี๊บหากระบุตัวบุคคล และหยุดตัวเองก่อนจะลงจากหน้าผา
% ลอง rob.setLEDDigits('') x=0; y=0; ทีต้า=0; อุปสรรค = ; รอบ = 1; AngCorr = @(x)x + 3.059.*x.^0.4205; % ฟังก์ชันเพื่อแก้ไขมุมเลี้ยวขณะ rob.getBatteryInfo.percent > 15 rob.setLEDDigits('') rob.setDriveVelocity(0.1) %Go %Check For Person if AA_checkperson(rob) rob.beep end %Check Cliff Sensor if AA_cliffcheck(rob)) rob.stop rob.setLEDDigits('Cliff') หยุด (0.5) สิ่งกีดขวาง (รอบ) = 2; AA_cliffbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) สิ้นสุด
ขั้นตอนที่ 4: ขั้นตอนที่ 4: ตรวจสอบอุปสรรค
รหัสนี้จะทำให้ Roomba ใช้สำหรับตรวจสอบสิ่งของรอบตัว และจะตรวจสอบเซ็นเซอร์กันกระแทกเพื่อให้แน่ใจว่าเครื่องหยุดทำงานก่อนที่มันจะเกิดความเสียหายเอง
% ตรวจสอบเซ็นเซอร์วัดแสงว่า AA_lightcheck(rob) rob.stop rob.setLEDDigits('Wall') หยุด (0.5) สิ่งกีดขวาง (รอบ) = 1; %Wall AA_wallbeep(rob) %Back Up and Turn rob.moveDistance(-.15) rob.turnAngle(30) end %Check Bump Sensor if AA_bumpcheck(rob) rob.stop rob.setLEDDigits('Wall') หยุดชั่วคราว(0.5) อุปสรรค(รอบ) = 1; %Wall AA_wallbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) end %ถ้าไม่มีถ้าสิ่งกีดขวาง(สิ่งกีดขวาง)ว่างเปล่า(รอบ) = 0; Elseif ความยาว (อุปสรรค) < อุปสรรคของวงจร (รอบ) = 0; จบ
ขั้นตอนที่ 5: ขั้นตอนที่ 5: การพล็อต
รหัสนี้จะบอกให้ roomba ของคุณวางแผนสิ่งที่พบในการเดินทาง พล็อตแบบนี้จะปรากฏขึ้นหลังจากที่ roomba หยุดทำงาน
% รับตำแหน่ง d = rob.getDistance; ถ้าวงจร == 1 theta(รอบ) = 0; x(รอบ) = d.*cosd(ทีต้า(รอบ)); % dist ทั้งหมดที่เดินทางใน x y(รอบ) = d.*sind(theta(รอบ)); % dist ทั้งหมดเดินทางใน y อื่น theta(cycle) = theta(cycle-1) + rob.getAngle; x(รอบ) = d.*cosd(ทีต้า(รอบ)) + x(รอบ-1); % dist ทั้งหมดที่เดินทางใน x y(รอบ) = d.*sind(theta(รอบ)).*d + y(รอบ-1); % dist ทั้งหมดเดินทางในปลาย y % เงื่อนไขการหยุดถ้า rob.getButtons.clean สิ้นสุดการหยุด % รอบการเพิ่มขึ้น = รอบ + 1; จบ rob.stop for i = 1: วงจรถ้าสิ่งกีดขวาง (i) == 1 %Wall plot(x(i), y(i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseifสิ่งกีดขวาง (i) == 2 %Cliff plot(x(i), y(i), 'Marker', 'o', 'MarkerEdgeColor', 'k') end text(.9, 0.9, sprintf('Square = Wall) nCircle = Cliff'), 'Units', 'normalized') ค้างไว้ที่จุดสิ้นสุด % สัญญาณความทุกข์ในขณะที่ rob.beep หยุดชั่วคราวจริง (3) ถ้า rob.getButtons.clean สิ้นสุดการหยุดชะงัก % catch % rob.stop % สิ้นสุด
แนะนำ:
โครงการ Gimbal Stabilizer: 9 ขั้นตอน (พร้อมรูปภาพ)
โครงการ Gimbal Stabilizer: วิธีสร้าง Gimbal เรียนรู้วิธีสร้าง gimbal แบบ 2 แกนสำหรับกล้องแอคชั่นของคุณ ในวัฒนธรรมปัจจุบันเราทุกคนชอบบันทึกวิดีโอและจับภาพช่วงเวลาต่างๆ โดยเฉพาะอย่างยิ่งเมื่อคุณเป็นผู้สร้างเนื้อหาเช่นฉัน คุณคงประสบปัญหา วิดีโอสั่นคลอนดังกล่าว
Roomba ควบคุมด้วย MATLAB: 5 ขั้นตอน
Roomba ที่ควบคุมโดย MATLAB: เป้าหมายของโครงการนี้คือการใช้ MATLAB เช่นเดียวกับหุ่นยนต์ที่ตั้งโปรแกรมได้ของ iRobot กลุ่มของเรารวมทักษะการเขียนโค้ดเพื่อสร้างสคริปต์ MATLAB ที่ใช้ฟังก์ชันมากมายของ iRobot รวมถึงเซ็นเซอร์หน้าผา เซ็นเซอร์กันชน
โครงการ Mars Roomba UTK: 4 ขั้นตอน
โครงการ Mars Roomba UTK: การปฏิเสธความรับผิด: สิ่งนี้จะใช้ได้ก็ต่อเมื่อ ROOMBA ได้รับการตั้งค่าในทุกวิธีที่เฉพาะเจาะจง คำแนะนำนี้จัดทำขึ้นและตั้งใจที่จะใช้โดยมหาวิทยาลัยของนักเรียนและคณะ TENNESSEE รหัสนี้ใช้เพื่อตั้งค่า Roomba เพื่อดำเนินการในพื้นที่ เขียนและเ
โครงการ Roomba: 5 ขั้นตอน (พร้อมรูปภาพ)
โครงการ Roomba: คำแนะนำนี้สร้างขึ้นเพื่อตอบสนองความต้องการของโครงการ Makecourse ที่มหาวิทยาลัยเซาท์ฟลอริดา (www.makecourse.com) คำแนะนำนี้จะครอบคลุมขั้นตอนและส่วนประกอบที่จำเป็นทั้งหมดเพื่อประกอบโครงการ Roomba ของฉัน
Roomba พร้อม MATLAB: 4 ขั้นตอน (พร้อมรูปภาพ)
Roomba พร้อม MATLAB: โปรเจ็กต์นี้ใช้ MATLAB และหุ่นยนต์ที่ตั้งโปรแกรมได้ของ iRobot Create2 ด้วยการนำความรู้ของเราเกี่ยวกับ MATLAB ไปทดสอบ เราสามารถตั้งโปรแกรม Create2 เพื่อตีความภาพและตรวจจับสัญญาณได้ การทำงานของหุ่นยนต์ขึ้นอยู่กับ