Chương 1: Giới thiệu. Chương 2: Cơ sở lý thuyết. Chương 3: Tổng quan nghiên cứu. Chương 4: Tính toán, thiết kế cơ khí, động học robot và hệ thống điện.
Chương 5: Thiết kế hệ thống điều khiển. Chương 6: Kết quả và thực nghiệm. Chương 7: Kết luận và kiến nghị. 5|Page CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.
Tổng quan về AMR AMR – Autonomous Mobile Robot là dạng robot có khả năng tự điều hướng và thực hiện di chuyển mà không cần hướng dẫn từ người điều khiển, tự động lập ra kế hoạch đường đi khi gặp vật cản. Yêu cầu thiết kế của robot vận chuyển hàng hóa AMRs đóng vai trò quan trọng trong sự phát triển của hầu hết các lĩnh vực công nghiệp trong xã hội ngày nay, hiệu suất mà robot mang lại cho ngành sản xuất là vô cùng to lớn. AMRs đã thay đổi cách nhà máy sản xuất, các kho hàng hoạt động, là phiên bản nâng cấp của AGVs. Cả hai mẫu robot đều có khả năng di chuyển tự điểm xuất phát đến đích đến và chịu tải lên đến 500kg.
Tuy nhiên, mẫu robot AGV hoạt động như tàu điện, di chuyển theo một đường ray duy nhất được tạo ra. Do đó việc sử dụng AMR robot vẫn luôn chiếm tỉ lệ cao hơn so với AGV robot.1 – Các thành phần của AMR robot [7] • Tự động và độc lập: AMR có khả năng di chuyển độc lập trong mội trường cụ thể, tương tác với môi trường bằng bản địa hóa, điều hướng thực hiện nhiệm vụ được giao. • Khả năng điều hướng: AMR sử dụng cảm biến quét Lidar, máy ảnh và cảm biến tiếp xúc để xác định vị trí của chúng trong môi trường cụ thể. Dựa vào các 6|Page dữ liệu, chúng có thể lập ra kế hoạch đường đi theo thời gia thực và tới điểm đến an toàn hiệu quả.
Vì được gắn cảm biến nên AMR robot có thể tránh được vật cản, tự động phát hiện chướng ngại vật nhờ vào cảm biến và bản địa hóa để hoàn thành nhiệm vụ được giao. Môi trường làm việc lý tưởng Tính đến bài toán môi trường làm việc của robot là điều cần thiết, tuy nhiên việc đó cũng là tương đối không quá phức tạp và đòi hỏi nhiều thứ. Đối với robot AMR, môi trường lý tưởng bao gồm các yếu tố sau: - Mặt đất không gian làm việc bằng phẳng: đối với thiết kế của robot, xét theo tính năng chung của loại AMR hiện tại thì việc leo dốc hay địa hình gồ ghề là không cần thiết vì việc vận chuyển hàng hóa nặng có thể lên đến vài trăm kilogram hoặc vài tấn, do đó sàn làm việc bằng phẳng là điều tất yếu. - Hệ thống truyền thông và kết nối: để ưu tiên robot hoạt động trơn tru, không bị can thiệp hoặc nhiễu do các loại sóng khác ảnh hưởng đến việc kết nối khi robot đang thực hiện chương trình cần đầu tư các thiết bị kết nối WIFI, Bluetooth hoặc các giao thức liên quan.
- Môi trường làm việc an toàn: việc Robot có thể tránh vật cản là điều hiển nhiên, tuy vậy vẫn luôn phải ưu tiên và tuân theo các tiêu chuẩn an toàn lao động để đảm bảo robot có thể làm việc một cách an toàn đối với môi trường xung quanh, con người và các thiết bị khác. - Hệ thống sạc: cần có các trạm sạc tự động để đảm bảo khả năng vận hành liên tục của robot đối với các chương trình đã đưa ra và công việc đảm nhận.2 – Môi trường làm việc của robot [8] 7|Page 2. Giao thức truyền thông 2. Tổng quan về UART UART (Universal Asychronous Receiver-Transmitter) giống với tên gọi, đây là một loại giao thức truyền thông giữa các thiết bị với nhau, là bộ truyền nhận dữ liệu nối tiếp bất đồng bộ.
Khi hai thiết bị trao đổi dữ liệu cho nhau, UART chuyển đổi dữ liệu song song từ một thiết bị điều khiển như CPU thành dạng nối tiếp đến UART nhận tiếp đó sẽ chuyển đổi dữ liệu đó thành song song đến thiết bị nhận.3 – Giao tiếp UART giữa hai thiết bị [9] Sự truyền và nhận dữ liệu trong giao tiếp UART giữa hai thiết bị được xác định bằng hai tín hiệu, Chân Tx (Transmitter) của thiết bị kết nối với chân Rx (Receiver) của thiết bị còn lại và ngược lại. Trong chuẩn giao tiếp UART sẽ có các bit start và stop để xác định điểm bắt đầu và kết thúc của gói dự liệu nhằm nhận biết khi nào bắt đầu đọc các bit. Trong quá trình chuyền dữ liệu, UART đọc các bit ở một tần số cụ thể là tốc độ truyền (baud rate). Định nghĩa tốc độ truyền được hiểu là tốc độ truyền tải dữ liệu đơn vị là bit trên giây (bps – bit per second)), chẳng hạn như 9600 bps, 115200 bps.
Khi hai thiết bị kết nối UART phải hoạt động cùng một tốc độ truyền, cả hai thiết bị cũng cần phải được cấu hình để truyền nhận cùng một cấu trúc gói dữ liệu.4 – Cấu trúc giao tiếp UART [10] 8|Page UART truyền dữ liệu được tổ chức thành các gói chứa 1 bit bắt đầu, 5 đến 9 bit dữ liệu, một bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng. Start bit: Khi không truyền dữ liệu mức điện áp sẽ được giữ ở mức cao. UART truyền sẽ đưa đường truyền xuống mức thấp trong chu kỳ một đồng hồ. Khi thiết bị nhận phát hiện có sự chuyển đổi điện áp cao xuống thấp bắt dầu đọc các bit trong khung dữ liệu ở một tốc độ truyền đã thiết lập (baurd rate).
Frame: Khung sẽ chứa dữ liệu thực tế đang được truyền, có thể từ 5 đến 8 bit nếu sử dụng Parity Bit (bit chẵn lẻ), nếu không sử dụng bit Parity có thể dài 9 bit. Parity Bit: đây là kiểu dữ liệu giúp UART nhận biết những thay đổi của dữ liệu trong quá trình truyền. Nếu bit là 0, tổng các bit 1 trong khung phải là một số chẵn và ngược lại, nếu khớp với dữ liệu thì quá trình truyền dữ liệu không có lỗi. Stop bit: Bit dừng báo hiệu kết thúc gói dữ liệu và tiếp đó điện áp thấp chuyển thành điện áp cao trong ít nhất khoảng thời gian 2 bit.
Rosserial là gì? Rosserial là một gói chứa các messages, topics và services của ROS được chuyển đổi dưới dạng dữ liệu có thể sử dụng trong giao tiếp truyền thông nối tiếp. Đây là cầu nối giữa các phần cứng điện tử giao tiếp trực tiếp với hệ thống ROS. Khi sử dụng rosserial cho một mô hình Client – Server, rosserial – server là một thiết bị, một máy tính khởi chạy ROS, rosserial – client là một vi xử lý nhận dữ liệu từ cảm biến và chuyển nó đến máy chủ dưới dạng ROS messages. Rosserial – server là một publishing node trong khi rosserial – client là một subcriber node và đôi khi có thể ngược lại.
Sau đây là một số khái niệm cơ bản: • Nodes: Là các quy trình độc lập chạy trong ROS với nhiệm vụ thực hiện các chức năng cụ thể. • Messages: Là một dạng dự liệu được định dạng và truyền tải giữa các nodes thông qua topics. Có thể là các loại kiểu dữ liệu đơn giản như số nguyên, số thực, chuỗi, … 9|Page • Topics: Cho phép các node gửi và nhận dữ liệu, ví dụ một node đọc dữ liệu từ cảm biến và gửi nó lên một topic, một node khác sẽ đăng kí (subscriber) topic đó và xử lý dữ liệu từ cảm biến. • Services: Là một cơ chế trong ROS, nó cho phép node yêu cầu nhiệm vụ từ node khác và nhận kết quả khi nhiệm vụ hoàn thành ví dụ yêu cầu một node điều khiển động cơ di chuyển robot ở một khoảng cách xác định.
• Publishing node (Nút xuất bản): Đây là một node trong ROS đóng vài trò gửi messages đến một topic. • Subscriber node (Nút đăng kí): Là node có nhiệm vụ đăng ký để nhận thông diệp từ một topic.5 – Ứng dụng ROS cho dự án Mini Moblie Robot [11] Gói Rosserial – client có sẵn cho nhiều loại vi xử lý bao gồm Arduino, SMT32 và các loại khác. Mặt khác, gói rosserial – server có sẵn dưới dạng Python và C++.6 – Giao tiếp truyền thông giữa Publisher_node và Subscriber_node [11] 10 | P a g e 2. Động học Mobile robot Hiện tại có nhiều thiết kế cho robot di động dựa trên nguyên lý động học lái khác biệt, bao gồm cơ cấu hai bánh xe đặt hướng đối diện kết nối với động cơ, hướng di chuyển của robot dựa vào tốc độ thay đổi của hai động cơ.
Động học robot chủ yếu nghiên cứu về chuyển động của robot, tập trung chủ yếu vào cấu trúc của robot, cách robot di chuyển và thay đổi vị trí trong không gian. Đối với robot di động, vùng hoạt động thuộc không gian phẳng Oxy do đó robot chỉ có 2 bậc tự do tịnh tiến là tiến và lùi, bậc tự do xoay (quay quanh trục z). Bản chất robot di động thuộc nhóm robot dạng di chuyển bằng bánh xe, do đó tập trung chủ yếu vào việc điều khiển các biến khớp là góc quay của bánh. Mô hình động học sẽ chỉ ra mối quan hệ giữa tốc độ của bánh xe với tốc độ di chuyển tuyến tính cũng như tốc độ góc của robot.
Với cơ cấu lái khác biệt, mô hình sẽ tập trung vào việc tính toán tốc độ tuyến tính và góc quay dựa trên tốc độ của bánh xe.7 – Cơ cấu lái của robot di động Dựa theo thiết kế của robot, hệ dẫn động sẽ bao gồm hai bánh xe chủ động và bốn bánh xe điều hướng (bị động), bài toán động học sẽ tập trung vào hai biến khớp quay trái và phải là hai bánh chủ động. 11 | P a g e Việc robot di chuyển từ điểm A đến điểm B đòi hỏi chính xác về bài toán động học, chúng ta cần phải biết được chính xác hướng của robot bằng việc xác định từ tốc độ bánh xe thông qua encoder được tích hợp phía sau động cơ, kết quả của quá trình tính toán sẽ thu được vận tốc và từ đó xác định hướng di chuyển của robot. Trọng tâm của robot đóng vai trò quan trọng đối với việc giải bài toán động học, việc xác định được vị trí trọng tâm của robot chính là việc có thể xác định được vị trí của robot trên bản đồ.8 – Động học robot di động cơ cấu 2 bánh xe Ta có các biến x, y và góc quay được xác định như sau dựa theo mô hình của robot di động: R x = v cos = (vr + vl ) cos 2 y = v sin = R (v + v ) sin (2.