Loại robot này có thể di chuyển rất tốt trên các định hình lồi lõm phức tạp.― Robot di chuyển bằng bánh: loại này thực tế hơn, chúng làm việc tốt trên hầu hết các địa hình do con người t
Ứng dụng thị giác máy tính cho Mobile robot phục vụ Tổng quan The use of mobile robots is growing very rapidly in numerous applications such as planetary exploration, police operations, military operations, hazardous site exploration Mục tiêu: nghiên cứu, thử nghiệm giải thuật; xây dựng mô hình mobile robot ứng dụng thị giác máy tính có thể: - Phát hiện người (đối tượng chính), vật cản (để không bị va chạm) - Xác định chiều cao người - Tự động xoay vật phẩm về chiều người nhận - Nhận biết người đã lấy đủ vật phẩm cần thiết và rời đi Phạm vi đề tài, phương hướng thực nghiệm Sử dụng 2 hàng cảm biến dò line để có thể lấy được góc lệch giữa line và robot Tổng quan Phân loại mobile robot chúng được phân loại theo môi trường làm việc và phương thức di chuyển Có nhiều loại robot di động khác nhau, chúng được phân loại theo môi trường làm việc và phương thức di chuyển Dựa vào môi trường mà làm việc, có thể phân loại robot di động thành [1]: Robot mặt đất hoặc robot gia dụng: chúng có nhiều bánh xe, nhưng cũng bao gồm robot chân với hai hoặc nhiều chân hơn (giống người, động vật hoặc côn trùng như hình 1.1) ― Robot trên không: thường được mệnh danh là phi thuyền không gian không người điều khiển (UAVs) ― Robot dưới nước: thường được gọi là phi thuyền dưới nước tự điều khiển Dựa vào cách di chuyển (đây loại chủ yếu), robot di động có thể được phân loại thành: ― Robot di chuyển bằng chân: chuyển động nhờ các chân cơ khí bắt chước chuyển động giống như chân người hoậc chân động vật Loại robot này có thể di chuyển rất tốt trên các định hình lồi lõm phức tạp ― Robot di chuyển bằng bánh: loại này thực tế hơn, chúng làm việc tốt trên hầu hết các địa hình do con người tạo Các nghiên cứu, sản phẩm đã có Robot vận chuyển T6 Thông qua sự điều phối thông minh của hệ thống giao tiếp do Nhà sản xuất KEENON tự phát triển, Robot T6 có thể thực hiện việc thiết lập lịch trình phân tán dựa trên công nghệ Trí Thông minh Nhân tạo (AI), đảm bảo sự hợp tác của nhiều Robot cùng lúc với nhau và liên tục tối ưu hóa năng suất chuyên chở, do đó cải thiện hiệu quả phân phối tổng thể giữa các Robot Thông số kỹ thuật: Kích thước: 519 x 531 x 1.256 mm Tải trọng: 40Kg (10kg/tầng) Chiều rộng lối đi tối thiểu: 70 cm Tốc độ di chuyển: 0 – 1.2m/s Thời lượng pin: 12h Hướng di chuyển: 1 chiều Khả năng xoay: 360 độ Hệ điều hành: Android Robot Keenon S-100 Keenon S-100 là một loại robot mới được dùng chủ yếu để vận tải các đồ vật trong công nghiệp Kích thước: 925mm*620mm*1282mm Tải trọng: 100Kg Chiều rộng lối đi tối thiểu: 90 cm Tốc độ di chuyển: 0 – 1.2m/s Thời lượng pin: 8h Hướng di chuyển: 1 chiều Khả năng xoay: 360 độ Restaurant Serving Robot with Double Line Sensors Following Approach Thông số kỹ thuật Kích thước: 400mm*300mm*1300mm Tải trọng: 20Kg Chiều rộng lối đi tối thiểu: 90mm Tốc độ di chuyển: 0.4 m/s Thời lượng pin: 5h Hướng di chuyển: 1 chiều Khả năng xoay: 360 độ Ưu điểm: Nhược điểm: Khác Sử dụng 2 hàng sensor để detect được góc lệch giữa line và robot thay đồng thời giữ được độ ổn định khi vào cua ở phần trước và phần sau của robot Đầu bài Lựa chọn phương án Tiêu chí lựa chọn vi điều khiển: - Đáp ứng yêu cầu về PWM, UART, INT, TIMER - Hỗ trợ thư viện ROS ESP32-DevKitC V4 Thông số ESP32-DevKitC V4 CPU 32 bit, 240Mhz Flash RAM 3 Số chân INT 3V3 Số chân PWM UART Thư viện ROS Cấp nguồn Giá thành STM32F103C8T6 Thông số Stm32f103c8t6 CPU 32 bit, 72Mhz Flash 64KB RAM 20KB Số chân INT 16 Số chân PWM 15 UART 3 Thư viện ROS Có Cấp nguồn 3V3 Giá thành 175.000 VND Atmega328p ATmega328p Thông số 8-bit,16MHz CPU Flash 32KB RAM 2KB Số chân INT 2 Số chân PWM 6 UART 1 Thư viện ROS Có Cấp nguồn 5V Giá thành 240.000 VND Tiêu chí lựa chọn driver động cơ GA25 - Đảm bảo quan hệ giữa xung PWM và tốc độ động cơ sắp xỉ tuyến tính - Điện áp đầu ra phải lớn hơn điện áp và dòng điện của động cơ (12V) L298N L298N là một package tích hợp đa công suất 15W có khả năng cấp điện áp cao cho động cơ DC Là IC điều khiển full-bridge kép có dòng điện cao được thiết kế để nhận tín hiệu chuẩn logic TTL Có thể điều khiển tải cảm, ví dụ như rơ le, van điện từ, động cơ (DC và động cơ bước) Thông số Giá trị Điện áp điều khiển +5V ~ +12V Dòng tối đa 2A Điện áp của tín hiệu +5V ~ 7V Dòng của tín hiệu 0 ~ 36mA TB6612 Driver hỗ trợ 2 cầu H có thể dùng cho hai động cơ DC hoặc một động cơ bước Thông số Giá trị Điện áp điều khiển Max 15V DC Dòng tối đa 3.2A Dòng ngõ ra liên tục 1.2A Điện áp cung cấp 2.2 ~ 5.5V Bánh xe Yêu cầu đưa ra là lựa chọn bánh xe có khả năng chịu tải tốt do đó nhóm chọn bánh xe V2 Tiêu chí lựa chọn - Thay đổi hướng dễ dàng - Giá thành Thông số kỹ thuật - Chất liệu: Nhựa - Đường kính bánh xe: 65 mm - Độ rộng bánh xe: 27 mm - Khối lượng: 40 g Máy tính nhúng TRÁNH VẬT CẢN CHO ROBOT DI ĐỘNG BẰNG PHƯƠNG PHÁP TRƯỜNG THẾ NĂNG giải thuật Bug, phương pháp cửa sổ động Mô phỏng robot hoạt động trong môi trường có vật cản trên Player/ Stage chạy trên nền Linux Thuật toán Bug Khi gặp vật cản robot sẽ đi theo đường bao của vật cản và xem robot như một điểm hoạt động trong mặt phẳng, di chuyển từ s (Điểm xuất phát) đến g (Đích đến) Với Bug 1 khi robot tìm thấy được vật cản Oi thì robot làm một đường bao kín quanh nó, bắt đầu tại một điểm va chạm Hi Đường bao này nhằm để ước lượng điểm có khoảng cách Li ngắn nhất tới mục tiêu Sau đó robot tiếp tục di chuyển theo đường bao cho đến khi nó tìm thấy điểm đó lần nữa kể từ lúc nó rời khỏi dọc theo đường đi thẳng đến đích Li được gọi là điểm rời khỏi Quá trình được lặp lại khi phát hiện vật cản mới Hình dưới mô tả đường đi của robot để tránh vật cản theo thuật tóan Bug 1 với hai vật cản O1 và O2 ; slà điểm xuất phát; g là đích đến; H1 và H2 là điểm va chạm; L1 và L2 là điểm rời khỏi Bug 2 có thời gian di chuyển ngắn hơn và hiệu quả hơn Bug 1 Tuy nhiên có những tình huống làm nó trở nên không tối ưu Phương pháp này có hạn chế là chuyển động của robot tại một thời điểm chỉ phụ thuộc vào giá trị đọc của cảm biến gần nhất Vì vậy, có thể dẫn đến những vấn đề không mong muốn và những vấn đề chưa dự phòng khi những cảm biến không cung cấp đủ thông tin, khi đó phương pháp này không cho kết quả tốt Phương pháp cửa sổ động Trong phương pháp này, các ràng buộc về động học của robot được xét đến bằng cách xác định vận tốc cho robot một không gian tốc độ ( v , ω) Không gian tốc độ này là tập hợp tất cả các giá trị ( v , ω) mà robot có thể đạt được trong lúc di chuyển Với vận tốc tức thời của robot, ta có một cửa sổ động của tất cả các vận tốc mà robot có thể thực hiện ở chu kỳ điều khiển kế tiếp Sau đó, kích thước của cửa sổ động được giảm xuống bằng cách loại bỏ các giá trị vận tốc mà robot có thể chạm vật cản, các giá trị vận tốc còn lại được gọi vận tốc cho phép Nhược điểm: Chi phí tính toán cao Phương pháp trường thế năng Trong phương pháp này, vật cản tác dụng một lực đẩy vào robot, trong khi đó đích sẽ tạo ra một lực hút đến robot Nếu vật cản mới xuất hiện trong suốt quá trình chuyển động của robot thì trường thế năng có thể cập nhật để tổng hợp những thông tin mới này Tổng của tất cả các lực này tạo ra một lực tổng hợp Lực tổng hợp này quyết định đến hướng và tốc độ của robot (tìm vị trí mới cho robot) Trong trường hợp đơn giản nhất, chúng ta giả định rằng robot là một điểm, vì vậy định hướng θ của robot được bỏ qua và kết quả trường thế năng chỉ còn 2 D( x , y ) Nếu chúng ta giả định hàm trường thế năng U ( q) khả vi thì chúng ta có thể tìm thấy lực nhân tạo F(q) tác động tại vị trí của robot q ( x , y ) : F (q )=−∇ U (q) [ ]∂U với ∇ U (q) là vectơ gradient của U tại vị trí q: ∇ U (q)= x∂U y Trường thế năng hoạt động trong robot thì được tính bằng tổng trường thế hút của mục tiêu và trường thế đẩy của vật cản: U (q )=Uh (q )+U đ (q ) Trong đó: Uh( q): Trường thế năng hút; Uđ (q ): Trường thế năng đẩy Tương tự lực cũng được tách ra thành lực hút và lực đẩy: U (q )=Fh(q )+ Fđ (q )=−∇ Uh( q)−∇ Uđ (q ) 1/ Trường thế hút Thế hút Uh( q) được xác định như một hàm bậc 2: U h (q )= 12 kh ρgoal 2 ( q) k h: Hệ số tỉ lệ (dương) ρgoal: Khoảng cách euclid từ vị trí tức thời (vị trí q) của robot đến đích (vị trí qgoal) Hàm Uh( q) có thể dương hoặc âm và đạt nhỏ nhất tại vị trí đích: U h (qgoal )=0 Lực hút được suy ra từ giá trị Uh( q) Fh(q )=−∇ U h (q )=−∇ 12 k h ρgoal 2 (q)=−12 k h.2 ρgoal (q) ∇ ρgoal (q)=−kh ρgoal (q ) ∇ ρgoal (q) Với ∇ ρgoal ( q )= q−qgoal ρgoal ( q ) Fh(q )=−kh (q−qgoal) Hàm thế năng bậc 2 cho đặc tính ổn định tốt Nó tạo ra lực hút Fh(q) hội tụ tuyến tính về 0 khi robot gần mục tiêu Mặt khác, Fh(q) tăng khi khoảng cách đến mục tiêu tăng và cuối cùng tiến đến vô cùng khi ρ goal(q )→ ∞ Trường thế đẩy Ý tưởng của thế đẩy là tạo một lực từ tất cả những vật cản đã biết, thế đẩy này sẽ rất lớn khi robot gần chạm vật cản, nhưng sẽ không ảnh hưởng đến chuyển động của nó khi robot ở xa vật cản Điều kiện này có thể đạt được hàm thế đẩy như sau: { ( ) 1 kđ 1 − 1 Nếu ρ (q)≤ ρ0 Uđ (q )= 2 ρ (q ) ρ0 0 Nếu ρ(q )≥ ρ0 k đ: Hệ số tỉ lệ dương ρ( q): Khoảng cách đến vật cản ρ0: Khoảng cách ảnh hưởng của vật cản (Hằng số dương) Hàm thế đẩy là hàm dương hoặc bằng 0 và tiến đến vô cùng khi q -> đối tượng Nếu đường bao của đối tượng là lồi và vi phân từng phần được, ρ( q) vi phân được tại mọi điểm trong không gian cấu hình tự do Công thức để tính lực đẩy gây ra bởi một vật cản: { ( ) Fđ (q)=−∇Uđ (q) −kđ 1 − 1 q−qobstacle Nếu ρ (q) ≤ ρ0 ρ ( q ) ρ0 ρobstacle ( q ) 0 Nếu ρ( q)> ρ0 Với: qobstacle: Vị trí vật cản ρobstacle (q ): Khoảng cách đến vật cản tại thời điểm tức thời Mỗi vật cản được phát hiện bởi cảm biến sẽ gây ra một lực đẩy, vì vậy kết quả lực đẩy ảo cuối cùng là tổng của trường thế đẩy được tạo ra bởi mỗi cảm biến độc lập Ưu điểm: Nhanh chóng, kết quả chấp nhận được, đơn giản, hiệu quả Nhược điểm: Vị trí bẫy hay cực trị địa phương: khi robot di chuyển vào điểm chết (điểm cụt) tạo ra từ hình dạng của vật cản (Ví dụ vật cản hình chữ U) -Không có lối đi giữa những vật cản gần nhau Thiết kế cơ khí Kết cấu cơ khí Packbot Chaos Giả sử tổng khối lượng của robot và thực phẩm được chất lên bốn bánh của robot Tính toán công suất được tạo ra bởi mô-men xoắn do lực ma sát gây ra: Pms=FC ×v =m × g × f ms× v × k - Pms: power caused by moment of resistance - Fc: resistance - v: tốc độ robot - m: Khối lượng robot - g: gia tốc trọng trường - fms: hệ số ma sát - k: Hệ số an toàn Từ tính toán, ta chọnd dộng cơ với các thông số sau: - Power consumption: 12VDC - Motor power: 30W - Speed of rotation: 120 rev/min - Weight: 550g Cơ cấu nâng hạ Thiết kế mạch STM32 (1): điều khiển 2 động cơ, di chuyển robot STM32 (2): nhận diện chiều cao người Nguồn điện: pin 12V-12A được điều chỉnh thành 12V-5A sử dụng chip LM2596 và 5V-2A sử dụng chip LM2576 Module RF để điều khiển robot về vị trí chờ