Mục lục:
- Bước 1: Bước 1: Vật liệu cần thiết
- Bước 2: Bước 2: Thiết lập / Lấy mã cho Roomba
- Bước 3: Bước 3: Thiết lập Cảm biến Vách đá / Đèn LED
- Bước 4: Bước 4: Kiểm tra chướng ngại vật
- Bước 5: Bước 5: Vẽ đồ thị
Video: Dự án Roomba MATLAB: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Kế hoạch hiện tại của NASA đối với tàu thám hiểm sao Hỏa là để nó trở thành một công cụ thu thập dữ liệu và đi vòng quanh sao Hỏa, thu thập các mẫu đất mang về Trái đất để các nhà khoa học có thể xem liệu có bất kỳ dạng sống nào trước đây trên hành tinh này hay không. Ngoài ra, rover gửi lại hình ảnh cho các nhà khoa học để họ có thể giúp điều hướng rover và khắc phục bất kỳ sự cố nào mà nó có thể gặp phải.
Ý tưởng của nhóm chúng tôi cho dự án của chúng tôi là để chiếc máy bay hoạt động giống như chiếc máy bay thám hiểm của NASA sẽ rời trái đất vào năm 2020, nhưng nó cũng để vạch ra địa lý của vùng đất. Roomba sẽ có thể cảm nhận được các vách đá và tự dừng lại trước khi rơi xuống, sau đó lùi lại, quay và thay đổi hướng đi để không bị rơi và bị hư hỏng. Một ý tưởng khác của chúng tôi được tích hợp vào dự án của chúng tôi là để roomba có thể vẽ ra các điểm mốc mà nó nhìn thấy và hiển thị một âm mưu mỗi khi vòng lặp kết thúc và quá trình của nó đã được chạy.
Hướng dẫn này dành cho bất kỳ ai khác muốn tạo cùng một loại mã cho roomba của họ.
Bước 1: Bước 1: Vật liệu cần thiết
Bạn sẽ cần:
- A roomba
- MATLAB
- Tệp này để chạy roomba
- Một bề mặt phẳng
- Mặt bàn hoạt động như một "vách đá"
Bước 2: Bước 2: Thiết lập / Lấy mã cho Roomba
Màn hình của bạn sẽ trông như thế này sau khi bạn nhập các tệp.
Bước 3: Bước 3: Thiết lập Cảm biến Vách đá / Đèn LED
Mã này sẽ cho roomba của bạn biết chính xác góc quay, kiểm tra thông tin pin, cho biết roomba của bạn chạy nhanh như thế nào và kiểm tra một người thông qua camera của roomba. Nó cũng sẽ phát ra tiếng bíp nếu xác định được một người và tự dừng lại trước khi đi ra khỏi vách đá.
% thử rob.setLEDDigits ('') x = 0; y = 0; theta = 0; chướng ngại vật = ; chu kỳ = 1; AngCorr = @ (x) x + 3.059. * X. ^ 0.4205; % Chức năng sửa góc rẽ khi rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1)% Đi% Kiểm tra người nếu AA_checkwoman (rob) rob.beep end% Kiểm tra cảm biến vách đá nếu AA_cliffcheck (cướp) rob.stop rob.setLEDDigits ('Vách đá') tạm dừng (0,5) chướng ngại vật (chu kỳ) = 2; AA_cliffbeep (cướp)% Sao lưu và quay rob.moveDistance (-. 15) rob.turnAngle (30) kết thúc
Bước 4: Bước 4: Kiểm tra chướng ngại vật
Mã này sẽ lấy roomba để kiểm tra các vật dụng xung quanh nó và sẽ kiểm tra cảm biến va đập để đảm bảo nó dừng lại trước khi tự hỏng.
% Kiểm tra Cảm biến ánh sáng nếu AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Tường') tạm dừng (0.5) chướng ngại vật (chu kỳ) = 1; % Wall AA_wallbeep (rob)% Sao lưu và quay rob.moveDistance (-. 15) rob.turnAngle (30) end% Kiểm tra cảm biến Bump nếu AA_bumpcheck (cướp) rob.stop rob.setLEDDigits ('Tường') tạm dừng (0.5) chướng ngại vật (chu kỳ) = 1; % Wall AA_wallbeep (rob)% Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end% Nếu không có nếu isempty (chướng ngại vật) chướng ngại vật (chu kỳ) = 0; elseif chiều dài (chướng ngại vật) <chướng ngại vật chu kỳ (chu kỳ) = 0; kết thúc
Bước 5: Bước 5: Vẽ đồ thị
Mã này sẽ cho roomba của bạn biết để tìm ra những gì nó gặp phải trên hành trình của nó. Một âm mưu như thế này sẽ xuất hiện sau khi roomba dừng lại.
% Nhận Vị trí d = rob.getDistance; if cycle == 1 theta (cycle) = 0; x (chu kỳ) = d. * cosd (theta (chu kỳ)); % tổng số dist đi được trong x y (chu kỳ) = d. * sind (theta (chu kỳ)); % tổng số dist đã đi trong năm khác theta (cycle) = theta (cycle-1) + rob.getAngle; x (chu kỳ) = d. * cosd (theta (chu kỳ)) + x (chu kỳ-1); % tổng số dist đi được trong x y (chu kỳ) = d. * sind (theta (chu kỳ)). * d + y (chu kỳ-1); % tổng số dist đã di chuyển trong y end% Break condition if rob.getButtons.clean break end% Gia tăng chu kỳ chu kỳ = chu kỳ + 1; end rob.stop cho i = 1: cycle if chướng ngại vật (i) == 1% Biểu đồ tường (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif chướng ngại vật (i) == 2% Biểu đồ vách đá (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') văn bản kết thúc (.9, 0.9, sprintf ('Square = Wall / nCircle = Cliff '),' Units ',' normalized ') giữ ở cuối% Tín hiệu phiền muộn trong khi true rob.beep pause (3) nếu rob.getButtons.clean break end end% catch% rob.stop% end
Đề xuất:
Biến Roomba của bạn thành Mars Rover: 5 bước
Biến Roomba của bạn thành Mars Rover:
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Roomba được kiểm soát MATLAB: 5 bước
Roomba được điều khiển bằng MATLAB: Mục tiêu của dự án này là sử dụng MATLAB cũng như một robot có thể lập trình iRobot đã được sửa đổi. Nhóm của chúng tôi đã kết hợp các kỹ năng mã hóa của mình để tạo ra một tập lệnh MATLAB sử dụng nhiều chức năng của iRobot, bao gồm cả cảm biến vách đá, cảm biến đệm
Từ Roomba đến Rover chỉ trong 5 bước!: 5 bước
Từ Roomba đến Rover chỉ trong 5 bước !: Robot Roomba là một cách thú vị và dễ dàng để nhúng ngón chân của bạn vào thế giới người máy. Trong phần Có thể hướng dẫn này, chúng tôi sẽ trình bày chi tiết cách chuyển đổi một Roomba đơn giản thành một máy quay có thể điều khiển được đồng thời phân tích môi trường xung quanh nó
Roomba với MATLAB: 4 bước (có hình ảnh)
Roomba With MATLAB: Dự án này sử dụng MATLAB và một robot có thể lập trình iRobot Create2. Bằng cách đưa kiến thức của chúng tôi về MATLAB vào thử nghiệm, chúng tôi có thể lập trình Create2 để giải thích hình ảnh và phát hiện tín hiệu. Chức năng của robot chủ yếu phụ thuộc vào