1. Trang chủ
  2. » Giáo Dục - Đào Tạo

xây dựng robot lễ tân ứng dụng trong trường học

164 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Robot Lễ Tân Ứng dụng Trong Trường Học
Tác giả Trương Quang Trường, Nguyễn Xuân Trưởng, Lý Đắc Vinh
Người hướng dẫn TS. Đặng Xuân Ba
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2024
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 164
Dung lượng 13,76 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (26)
    • 1.1 Đặt vấn đề (26)
      • 1.1.1 Tình hình nghiên cứu ngoài nước (27)
      • 1.1.2 Tình hình nghiên cứu trong nước (28)
    • 1.2 Mục tiêu đề tài (29)
      • 1.2.1 Mục đích đề tài (29)
      • 1.2.2 Mục tiêu đề tài (30)
    • 1.3 Phương pháp nghiên cứu (30)
    • 1.4 Giới hạn đề tài (31)
    • 1.5 Nội dung nghiên cứu (32)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (33)
    • 2.1 Xây dựng mô hình động học, động lực học cho xe bốn bánh và cánh tay của robot lễ tân (33)
      • 2.1.1 Động học thuận xe (33)
      • 2.1.2 Động học nghịch xe (35)
      • 2.1.3 Động học thuận cánh tay (35)
      • 2.1.4 Động học nghịch cánh tay (37)
    • 2.2 Giới thiệu về Robot Operating System (39)
      • 2.2.1 Tổng quan về hệ điều hành cho robot – ROS (39)
      • 2.2.2 Cấu trúc ROS (41)
      • 2.2.4 Các gói hỗ trợ ROS (43)
    • 2.3 Công nghệ SLAM và Lidar (45)
      • 2.3.1 Công nghệ SLAM (45)
      • 2.3.2 Công nghệ Lidar (46)
    • 2.4 Tổng quan về lidar M1M1 (47)
      • 2.4.1 Giới thiệu về lidar (47)
      • 2.4.2 Thành phần và kết nối của hệ thống (48)
      • 2.4.3 Nguyên lí hoạt động của lidar (49)
    • 2.5 Thuật toán điều hướng (50)
      • 2.5.1 Thuật toán Dijkstra (50)
      • 2.5.2 Thuật toán Dynamic Window Approach để tránh vật cản (54)
      • 2.5.3 Thuật toán PID (56)
      • 2.5.4 Kết luận (59)
    • 2.6 Xử lý ảnh (60)
      • 2.6.1 Tổng quan về Mediapipe (60)
      • 2.6.2 Tổng quan về Stereo Camera (63)
    • 2.7 Truyền tải dữ liệu qua mạng (65)
      • 2.7.1 Giao thức truyền thông HTTP/HTTPS (65)
      • 2.7.2 Lý thuyết RESTful/API (70)
    • 2.8 Các giao thức giao tiếp (76)
      • 2.8.1 Giao tiếp ROS Master (76)
      • 2.8.2 Giao tiếp Uart (77)
      • 2.8.3 Hệ điều hành Ubuntu (79)
      • 2.8.4 Ngôn ngữ Python (80)
      • 2.8.5 Ngôn ngữ C (81)
      • 2.8.6 Phần mềm QT design (82)
      • 2.8.7 Phần mềm Arduino (84)
      • 2.8.8 Phần mềm Solidworks (85)
      • 2.8.9 Phần mềm MySQL Workbench (86)
      • 2.8.10 Thư viện SpeechRecognition (87)
      • 2.8.11 Thư viện gTTS (87)
      • 2.8.12 Giới thiệu thư viên Pyaudio và Playsound (88)
      • 2.8.13 Thư viện OpenCV (89)
  • CHƯƠNG 3. THIẾT KẾ HỆ THỐNG VÀ LỰA CHỌN THIẾT BỊ (90)
    • 3.1 Lựa chọn thiết bị (90)
      • 3.1.1 Bánh xe nhôm (90)
      • 3.1.2 Vi điều khiển (90)
      • 3.1.3 Mini PC (91)
      • 3.1.4 Động cơ (92)
      • 3.1.5 Mạch điều khiển động cơ (94)
      • 3.1.6 Bộ nguồn (95)
      • 3.1.7 ESP8266 (98)
      • 3.1.8 Mạch hạ áp (99)
      • 3.1.9 Stepper Moto Driver (100)
      • 3.1.10 Màn hình hiển thị (101)
      • 3.1.11 Camera (101)
    • 3.2 Thiết kế phần điện (102)
    • 3.3 Thiết kế và thi công (103)
      • 3.3.1 Yêu cầu phần cứng (103)
      • 3.3.2 Thiết kế trên phần mềm SolidWorks (103)
  • CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN (105)
    • 4.1 Mô tả hoạt động của robot lễ tân (105)
    • 4.2 Chương trình ROS ứng dụng cho xe tự hành (106)
      • 4.2.1 Lưu đồ chương trình (106)
      • 4.2.2 Xây dựng bản đồ (108)
      • 4.2.3 Điều hướng robot trên bản đồ đã xây dựng (113)
      • 4.2.4 Chương trình điều khiển động cơ (Mobile base) (121)
      • 4.2.5 Thiết lập Serial để giao tiếp với Mobile_base (122)
    • 4.3 Ứng dụng xử lý ảnh (123)
      • 4.3.1 Tracking khách hàng (123)
      • 4.3.2 Thuật toán Stereo Camera để lấy vị trí nút thang máy (124)
    • 4.4 Xây dựng tính năng giao tiếp giữa người và robot bằng giọng nói (126)
      • 4.4.1 Chuyển giọng nói về dạng văn bản (Speech to text) (126)
      • 4.4.2 Đưa ra hành động (Take action) (126)
      • 4.4.3 Chuyển văn bản về giọng nói (Text to Speech) (127)
    • 4.5 Xây dựng mô hình trợ lý ảo (127)
      • 4.5.1 Thiết lập thông tin xác thực (128)
      • 4.5.2 Khởi tạo Vertex AI (128)
      • 4.5.3 Thiết lập lấy phản hồi từ mô hình AI dựa vào văn bản đầu vào (128)
    • 4.6 Xây dựng tính năng điều khiển robot qua internet (129)
    • 4.7 Thiết kế giao diện (136)
      • 4.7.1 Thiết kế giao diện web (136)
  • CHƯƠNG 5. KẾT QUẢ VÀ ĐÁNH GIÁ (138)
    • 5.1 Kết quả mô phỏng (138)
      • 5.1.1 Kiểm chứng động học xe 2 bánh vi sai (138)
    • 5.2 Kết quả xử lý ảnh (141)
      • 5.2.1 Tracking khách hàng (141)
      • 5.2.2 Stereo camera (143)
    • 5.3 Kết quả thiết kế giao diện chạy trên phần mềm Python (144)
    • 5.4 Kết quả điều khiển xe tự hành (149)
    • 5.5 Kết quả điều khiển qua Interner (153)
    • 5.6 Kết quả hoạt động của toàn bộ hệ thống (154)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (156)
    • 6.1 Kết luận (156)
    • 6.2 Hướng phát triển (157)
  • TÀI LIỆU THAM KHẢO (158)
  • PHỤ LỤC (159)

Nội dung

Mục đích của đề tài này là thiết kế và điều khiển mô hình robot lễ tân phục vụ trường học, nhằm đáp ứng nhu cầu và tạo ra trải nghiệm tốt hơn cho người sử dụng.. Chương 4 thiết kế các t

TỔNG QUAN

Đặt vấn đề

Robot đang ngày càng trở nên quan trọng trong cuộc sống hiện tại và tương lai, mang lại nhiều tiện ích và tiến bộ cho nhiều lĩnh vực Với khả năng tự động hóa và trí tuệ nhân tạo, robot có thể thực hiện từ các nhiệm vụ đơn giản đến phức tạp mà trước đây chỉ con người mới làm được Chúng có thể tự động hóa quy trình sản xuất, cung cấp dịch vụ chăm sóc y tế, hỗ trợ nghiên cứu khoa học và thám hiểm không gian, cũng như làm việc trong các môi trường nguy hiểm Robot không chỉ tăng năng suất và hiệu quả công việc mà còn giảm bớt công sức lao động và rủi ro cho con người Tuy nhiên, việc phát triển và nghiên cứu robot không chỉ dừng lại ở khả năng kỹ thuật mà còn đặt ra nhiều thách thức về đạo đức, an ninh và tương tác với con người Do đó, cần có sự cân nhắc kỹ lưỡng và quyết định thông minh để đảm bảo rằng robot không chỉ đáp ứng được nhu cầu mà còn mang lại lợi ích thiết thực cho xã hội

Robot tự hành đang nổi lên như một lĩnh vực nghiên cứu và phát triển đầy hứa hẹn, mang lại nhiều tiềm năng to lớn Những thiết bị này được thiết kế với khả năng di chuyển độc lập, không cần sự can thiệp trực tiếp từ con người Được trang bị các cảm biến tiên tiến và hệ thống điều khiển thông minh, robot tự hành có thể nhận diện và tương tác với môi trường xung quanh Chúng có khả năng tự xây dựng bản đồ, xác định vị trí của mình và thực hiện các nhiệm vụ cụ thể trong các môi trường làm việc đã được xác định trước Điều này mở ra nhiều ứng dụng mới và hiệu quả cao trong nhiều lĩnh vực, từ công nghiệp sản xuất đến dịch vụ và nghiên cứu khoa học

Robot đã trở thành công cụ không thể thiếu trong nhiều lĩnh vực Trong công nghiệp, chúng đảm nhiệm việc tự động hóa quy trình sản xuất và vận chuyển, từ đó nâng cao năng suất và chất lượng sản phẩm Trong dịch vụ, robot thực hiện nhiều nhiệm vụ như giao hàng, dọn dẹp và hỗ trợ khách hàng, mang lại sự tiện lợi và hiệu quả cao Trong y tế, robot đóng vai trò quan trọng trong việc chăm sóc và điều trị bệnh nhân, giúp nâng cao chất lượng dịch vụ y tế Không chỉ vậy, robot còn góp phần quan trọng trong nghiên cứu khoa học, khám phá không gian và nông nghiệp thông minh, mở ra nhiều cơ hội phát triển mới

Nhận thức được tiềm năng to lớn và các ứng dụng phong phú của robot tự hành, nhóm sinh viên đã quyết định triển khai đề tài "Xây dựng robot lễ tân ứng dụng trong trường học" cho đồ án tốt nghiệp Dự án này nhằm nghiên cứu và phát triển một hệ thống robot có khả năng hỗ trợ và tương tác với con người trong vai trò lễ tân

1.1.1 Tình hình nghiên cứu ngoài nước

Nghiên cứu về robot tự hành đang thu hút sự quan tâm và đầu tư đáng kể từ cả giới học thuật và công nghiệp trên toàn cầu Các quốc gia tiên phong như Mỹ, Nhật Bản, Trung Quốc và châu Âu đang dẫn đầu trong lĩnh vực này

Tại Mỹ, các trường đại học và viện nghiên cứu hàng đầu như Stanford, MIT và Carnegie Mellon đã đạt được những tiến bộ đáng kể trong nghiên cứu robot tự hành Các dự án nổi bật như DARPA Robotics Challenge và NASA's Robonaut đã thúc đẩy mạnh mẽ sự phát triển của robot tự hành trong các ngành công nghiệp và nghiên cứu không gian DARPA Robotics Challenge, một cuộc thi do Cơ quan Dự án Nghiên cứu Tiên tiến Quốc phòng (DARPA) tổ chức, đã khuyến khích các nhóm nghiên cứu phát triển robot có khả năng thực hiện những nhiệm vụ phức tạp trong các môi trường đầy thách thức NASA's Robonaut, một dự án của Cơ quan Hàng không và Vũ trụ Hoa Kỳ (NASA), tập trung vào việc phát triển robot có thể hỗ trợ các phi hành gia trong không gian

Nhật Bản là một trong những quốc gia tiên phong trong việc phát triển robot tự hành Các công ty lớn như Toyota và Honda đã đầu tư mạnh mẽ vào nghiên cứu và phát triển robot tự hành để áp dụng trong sản xuất ô tô và nhiều lĩnh vực khác Ngoài ra, Nhật Bản còn nổi tiếng với việc phát triển các loại robot dịch vụ và robot chăm sóc người cao tuổi, nhằm nâng cao chất lượng cuộc sống của người dân Các robot như ASIMO của Honda và các robot chăm sóc tại nhà của Toyota đã chứng minh khả năng ứng dụng rộng rãi của công nghệ này Ở châu Âu, nhiều dự án nghiên cứu và cộng đồng học thuật đáng chú ý đang tập trung vào lĩnh vực robot tự hành Các tổ chức như European Robotics Research Network (EURON) và European Robotics Association (euRobotics) đã đóng vai trò quan trọng trong việc thúc đẩy sự phát triển và hợp tác nghiên cứu trong lĩnh vực này EURON và euRobotics đã tổ chức nhiều hội nghị và chương trình nghiên cứu nhằm tạo ra môi trường hợp tác giữa các nhà khoa học và các công ty công nghệ hàng đầu

Tại Trung Quốc, các công ty công nghệ lớn như Baidu, Alibaba và Tencent đang đầu tư mạnh mẽ vào nghiên cứu và phát triển robot tự hành Baidu, với dự án Apollo, đang phát triển nền tảng xe tự lái mở rộng, trong khi Alibaba và Tencent cũng đang nghiên cứu các ứng dụng robot tự hành trong thương mại điện tử và dịch vụ giao hàng

Tổng quan, nghiên cứu về robot tự hành đang phát triển mạnh mẽ trên toàn cầu nhờ vào sự hợp tác và đóng góp từ nhiều quốc gia và tổ chức khác nhau Những tiến bộ này đang mở ra nhiều cơ hội ứng dụng trong các lĩnh vực như sản xuất công nghiệp, chăm sóc sức khỏe và thám hiểm không gian

Hình 1-1 LEO và CLEO – Robot dịch vụ nhà hàng ở Chicago (Mỹ)

Hình 1-2 Robot Pangolin của hãng Pangolin Robot Japan Co.

Hình 1-3 Matradee - Robot dịch vụ nhà hàng của công ty RichTech Robotic

1.1.2 Tình hình nghiên cứu trong nước

Tình hình nghiên cứu robot tự hành trong nước đang nhận được sự quan tâm ngày càng tăng từ các nhà nghiên cứu, trường đại học và doanh nghiệp ở cả trong và ngoài nước

Tại Việt Nam, lĩnh vực nghiên cứu và phát triển robot tự hành đang phát triển mạnh mẽ Các trường đại học và viện nghiên cứu lớn như các trường đại học kỹ thuật và các viện công nghệ thông tin đang tiên phong trong việc nghiên cứu và ứng dụng công nghệ này

Các nhóm nghiên cứu và dự án đang tập trung vào các lĩnh vực như tự động hóa công nghiệp, dịch vụ công cộng, y tế và nông nghiệp thông minh Các nghiên cứu liên quan đến cảm biến, hệ thống điều khiển, trí tuệ nhân tạo và học máy đang được thực

4 hiện nhằm nâng cao khả năng tương tác với môi trường, định vị và điều khiển hướng đi của robot tự hành

Ngoài ra, các doanh nghiệp công nghệ và startup cũng đang đẩy mạnh nghiên cứu và phát triển robot tự hành Họ tập trung vào việc phát triển các ứng dụng thực tế như giao hàng tự động, dịch vụ khách hàng và giải quyết các vấn đề xã hội

Hình 1-4 Robot tự hành dịch vụ VOR và công nghiệp VMR của Viettel

Hình 1-5 Robot NextAMR của tập đoàn FPT

Mục tiêu đề tài

Mục đích của đề tài là áp dụng những kiến thúc đã học để thiết kế và điều khiển mô hình robot di động có khả năng tương tác và hỗ trợ con người với vai trò lễ tân

Mục tiêu chính của đề tài là xây dựng một robot di động trên bánh xe với khả năng hỗ trợ và tương tác với con người, đóng vai trò như một lễ tân với các tính năng chỉ đường và giám sát an toàn Để đạt được mục tiêu này, nhóm cần thực hiện các công việc sau: ˗ Thiết kế mô hình robot, lựa chọn được các linh kiện thích hợp để xây dựng mô hình thực tế (kích thước mô hình, loại camera và động cơ được sử dụng, ….) ˗ Thiết kế cánh tay robot 3 bậc để thực hiện việc ấn nút thang máy ˗ Tính toán động học thuận, động học nghịch cho cánh tay robot 3 bậc và mô hình robot lễ tân sử dụng 2 bánh vi sai và 2 bánh điều hướng ˗ Viết chương trình mô phỏng mô hình robot lễ tân sử dụng 2 bánh vi sai và 2 bánh điều hướng và cánh tay robot 3 bậc ˗ Viết chương trình ứng dụng nền tản ROS cho mô hình robot lễ tân sử dụng 2 bánh vi sai và 2 bánh điều hướng ˗ Xây dựng tính năng di chuyển đến các phòng ban và dẫn đường người dùng đến phòng cần đến ˗ Lưu trữ vị trí các phòng lên cơ sở dữ liệu Trích xuất vị trí để điều khiển xe đến vị trí đến một phòng hoặc 1 loạt danh sách phòng theo yêu cầu một cách tự động ˗ Robot có thể né các vật cản tĩnh và động trên lộ trình di chuyển ˗ Xây dựng tính năng trợ lý ảo hỏi đáp và ra lệnh điều khiển ˗ Có thể thực hiện đóng học phí và truy cập trang web của trường ˗ Ứng dụng xử lý ảnh để có thể xác định được vị trí của nút nhấn thang máy để thực hiện ấn thang máy và có thể bám theo hướng người di chuyển luôn nằm trong tầm nhìn camera ˗ Xây dựng tính năng điều khiển và giám sát robot lễ tân từ xa ˗ Thiết kế giao diện để người dùng tương tác với robot và có thể điều khiển robot từ xa.

Phương pháp nghiên cứu

Học hỏi từ những thầy cô có nhiều kinh nghiệm trong lĩnh vực robot để có hướng làm việc, phát triển và giải quyết vấn đề nhanh và tốt nhất

Tham khảo ý kiến từ giảng viên hướng dẫn và các anh chị, những người đang thực hiện đề tài tương tự

Kiến thức về hệ điều hành ROS chuyên cho robot tự hành, các thuật toán SLAM và Navigation trên Linux

Dựa vào kiến thức về thiết bị điện, truyền thông mạng, cảm biến và cơ cấu chấp hành để xây dựng hệ thống điện

Phân tích dữ liệu: Sử dụng các công cụ tìm kiếm như Google, Google Scholar, ResearchGate, IEEE Xplore, …

Phân tích toán học: Sử dụng Matlab-Simulink để kiểm tra động học thuận, động học nghịch và phương trình động học dựa vào phương pháp Lagrange-Euler

Sử dụng SolidWorks 2021 để thiết kế mô hình robot lễ tân, dựa vào mô hình đã tínht toán và tối ưu trên phần mềm để thiết kế mô hình thực

Sử dụng ngôn ngữ C, Python để lập trình các tính năng cho robot và dùng phần mềm QT design đế thiết kế giao diện tương tác robot với người sử dụng

Sử dụng phần mềm MySQL Workbench để lưu trữ dữ liệu và thông tin vị trí các phòng của khu vực

Giải quyết từng module nhỏ sau đó ghép thành 1 khối hoàn chỉnh

Tính toán và chạy thử nghiệm để rút ra được phương án tối ưu nhất

Thiết lập mô hình robot, chạy thử nghiệm ở điều kiện môi trường thực tế nhằm tìm ra được kết quả tốt nhất.

Giới hạn đề tài

Mô hình robot lễ tân thực tế do nhóm sinh viên tự thiết kế và thi công nên chưa có cơ sở khách quan để đánh giá mức độ bền vững và ổn định trong quá trình hoạt động của mô hình

Chỉ tìm hiểu và ứng dụng các thuật toán có sẵn trên ROS để có thể xây dựng được mô hình robot hoạt động thực hiện

Không phân tích sâu về động lực học robot mà chỉ nghiên cứu và ứng dụng để điều khiển robot

Sử dụng API trợ lý ảo của Google hỗ trợ nên có giới hạn về lượng thông tin không thể tuỳ chỉnh

Sử dụng phần mềm MySQL để quản lý và lưu trữ cơ sở dữ liệu nên chỉ giới hạn trong các chức năng phần mềm cho phép

Sử dụng các thư viện mediapipe, speechrecognition, gTTS nên không đào sâu vào các thuật toán chỉ nghiên cứu và ứng dụng để thực hiện các chức năng xác định người, chuyển đổi văn bản thành giọng nói, giọng nói thành văn bản

Nội dung nghiên cứu

Trong quyển luận văn này sẽ chia ra làm 6 chương chính

Chương 1 sẽ trình bày về đặt vấn đề, mục tiêu đề tài, phương pháp nghiên cứu, giới hạn đề tài, nội dung nghiên cứu

- Chương 2: Cơ sở lý thuyết

Chương 2 giới thiệu về bánh xe vi sai, bánh xe điều hướng, lý thuyết động học thuận và động học nghịch, động lực học cho bánh xe vi sai và cánh tay robot Giới thiệu hệ điều hành, ngôn ngữ lập trình, nền tảng và các thư viện hỗ trợ Giới thiệu về ROS, thuật toán điều hướng robot Lý thuyết xử lí ảnh, truyền tải dữ liệu mạng

- Chương 3: Thiết kế hệ thống và lựa chọn thiết bị

Chương 3 sẽ trình bày về thiết kế mô hình trên phần mềm SolidWorks, bao gồm thiết kế đế, thân, đầu, cánh tay và phần điện của robot Trình bày về phần cứng của mô hình, lựa chọn các vật liệu và thiết bị điện cho robot thư viện

- Chương 4: Xây dựng chương trình điều khiển

Chương 4 trình bày về quá trình xây dựng chương trình mô phỏng chuyển động bánh xe vi sai cho robot, phát triển ứng dụng ROS cho xe tự hành, và ứng dụng xử lý ảnh để xác định vị trí nút nhấn thang máy cũng như theo dõi người để luôn nằm trong tầm nhìn của camera Ngoài ra, chương này cũng bao gồm việc xây dựng tính năng giao tiếp giữa người và robot qua giọng nói, phát triển hệ thống trợ lý ảo thông qua API, và xây dựng tính năng điều khiển robot qua internet Cuối cùng, chương này thiết kế giao diện tương tác cho người sử dụng và giao diện điều khiển dành cho người điều khiển robot

- Chương 5: Kết quả và đánh giá

Chương 5 trình bày về kết quả mô phỏng trên Matlab/Simulink, kết quả mô phỏng trên ROS và kết quả thực nghiệm của toàn bộ hệ thống

- Chương 6: Kết luận và hướng phát triển của đề tài

Chương 6 trình bày về kết luận và hướng phát triển của đề tài

CƠ SỞ LÝ THUYẾT

Xây dựng mô hình động học, động lực học cho xe bốn bánh và cánh tay của robot lễ tân

Hình 2-1 Robot trong hệ trục tọa độ

Bảng 2-1 Giải thích các ký hiệu của hệ thống truyền động vi sai robot

Kí hiệu Giải thích x, y Hệ tọa độ toàn cục x B , y B Hệ tọa độ cục bộ

Hướng của robot đối với hệ tọa độ toàn cục Vận tốc góc

L Chiều rộng của robot r Bán kính của bánh xe d Khoảng cách từ ICC đến tâm của robot

ICC Tâm quay tức thời v L Tốc độ tiếp xúc mặt đất của bánh xe trái v R Tốc độ tiếp xúc mặt đất của bánh xe phải

L Vận tốc góc bánh trái

R Vận tốc góc bánh phải

Hệ trục tọa độ không gian thực là  x w , y w  và hệ tọa độ robot là  x r , y r 

Vận tốc tại điểm B trên tọa độ tọa robot sang hệ tọa độ không gian thực: cos sin sin cos w r u

Hệ động học chung của robot 2 bánh vi sai:

Khi robot không đi ngang:

=   −     =   (2.3) Suy ra hệ động học của robot:

Giả định bánh xe không trượt, tất cả các điểm trong một trường quay có vận tốc trực giao với khoảng cách tới ICC, ta có thể thu được vận tốc hai bánh xe:

Giải quyết hai phép tính trên sẽ cho ra kết quả của và R:

Dựa vào vận tốc góc, vận tốc tức thời V B của điểm giữa hai bánh robot được tính theo công thức:

Mà vận tốc bánh trái v L và vận tốc bánh phải v R còn có thể được tính như sau:

Thay công thức Error! Reference source not found và

Error! Reference source not found vào Error! Reference source not found ta tính được hệ động học robot: cos 0 1 1 sin 0 2 2

Trong tình huống vận tốc V và vận tốc góc được đưa ra làm dữ liệu đầu vào, và vận tốc góc của bánh bên trái, bánh bên phải được dùng để điều khiển thì ta cần biến đổi công thức (0.8) và (0.9) thay vào công thức (0.6) Từ đó, đạt được:

2.1.3 Động học thuận cánh tay

Hình 2-2 Hệ trục cánh tay robot 3 bậc gắn trên robot

Bảng 2-2 Bảng DH cánh tay robot

Ma trận chuyển đổi tổng quát:

Ma trận chuyển đổi từ hệ tọa độ 0→1:

Ma trận chuyển đổi từ hệ 1→2:

Ma trận chuyển đổi từ hệ 2→3:

Ma trận chuyển đổi từ hệ tọa độ 1→3:

Ma trận chuyển đổi từ hệ tọa độ 0→3:

Tọa độ điểm cuối so với hệ trục gốc 0:

2.1.4 Động học nghịch cánh tay

Từ động học thuận ta thu được:

(2.20) (2.21) (2.22) Lấy (2.20) 2 +(2.21) 2 theo vế ta được:

Lấy (2.23) (2.22)+ 2 theo vế ta được:

 + với a = 1, b = 0 Phương trình (2.24) trở thành:

 + với a=l s4 3, b=l c4 3+l2 Phương trình (2.25) trở thành:

2 2 2 2 2 sin( ) 2 cos( ) 2 sin( ) cos( ) 1 tan 2( , 1 ) z z z z z c s P a b P a b

Từ (2.20) và (2.21) ta thu được:

Hạng của ma trận B: detB=m00 11m −m m01 10

Nếu detB0thì ma trận B khả nghịch

Ma trận nghịch đảo của B là:

Giới thiệu về Robot Operating System

2.2.1 Tổng quan về hệ điều hành cho robot – ROS

Robot Operating System (ROS) là một hệ điều hành mã nguồn mở được phát triển dành riêng cho các ứng dụng robot Nó là một framework phổ biến trong lĩnh vực robot với nhiều ưu điểm nổi bật ROS tạo ra một nền tảng phần mềm có khả năng hoạt động trên nhiều loại robot khác nhau mà không yêu cầu thay đổi lớn trong mã nguồn

ROS cung cấp và hỗ trợ các dịch vụ tương tự như một hệ điều hành, bao gồm trừu tượng hóa phần cứng, kiểm soát thiết bị cấp thấp, thực hiện các chức năng phổ biến, truyền tin nhắn giữa các tiến trình, và quản lý gói Ngoài ra, ROS còn cung cấp một loạt công cụ và thư viện để hỗ trợ việc tham khảo, biên dịch, viết và chạy chương trình trên nhiều máy khác nhau.[1]

Hiện tại, ROS chỉ hoạt động trên nền tảng Unix Phần lớn các phần mềm trên ROS được thử nghiệm chủ yếu trên các hệ điều hành Ubuntu và Mac OS X Bên cạnh đó, nhờ sự đóng góp từ cộng đồng, ROS cũng đang được phát triển để hỗ trợ các nền tảng khác như Fedora, Gentoo, Arch Linux và các hệ điều hành Linux khác.[1]

Hình 2-3 Hệ thống ROS - Robot Operating System

Linux là một hệ điều hành phổ biến và mạnh mẽ, được phát triển bởi một cộng đồng toàn cầu và sử dụng rộng rãi trên nhiều loại thiết bị và máy tính Với tính linh hoạt cao, Linux có thể được cài đặt trên nhiều loại phần cứng khác nhau Hệ điều hành này cung cấp môi trường ổn định, bảo mật, cùng với nhiều công cụ và ứng dụng phong phú Linux được ưa chuộng vì tính ổn định, hiệu suất cao, khả năng tùy chỉnh và tương thích với nhiều phần mềm và tiêu chuẩn

ROS 1 có thể cài đặt và chạy trên nhiều phiên bản Linux khác nhau như Ubuntu, Fedora, CentOS và nhiều hệ điều hành khác Tuy nhiên, hệ điều hành Ubuntu thường được hỗ trợ tốt nhất Các công cụ và thư viện trong ROS 1 chủ yếu được phát triển và kiểm tra trên Linux, do đó sử dụng ROS 1 trên hệ điều hành này giúp đảm bảo tính ổn định và tương thích cao

Hình 2-4 Hệ điều hành Linux phiên bản Ubuntu 20.04

Trong ROS, có một số cấp độ khái niệm quan trọng để hiểu cách hệ thống hoạt động và tương tác với nhau Dưới đây là các cấp độ khái niệm chính trong ROS:

• Package (Gói): Đây là cấp độ tổ chức cao nhất trong ROS, chứa các tập tin và mã nguồn liên quan đến một chức năng hoặc một phần của hệ thống robot Một package bao gồm tệp tin cấu hình, mã nguồn, thư viện, message và các công cụ khác Các package trong ROS có thể được tái sử dụng và chia sẻ giữa các dự án khác nhau

• Node (Nút): Node là một quy trình độc lập chạy trên một máy tính riêng biệt trong

ROS Đây là đơn vị cơ bản thực hiện các chức năng cụ thể trong hệ thống robot Mỗi node có thể chứa mã nguồn, thư viện và các phần mềm phụ thuộc khác Nodes giao tiếp với nhau bằng cách gửi và nhận thông điệp (messages) thông qua các topic, service hoặc action

• Topic (Chủ đề): Topic là một kênh truyền thông không đồng bộ trong ROS, cho phép các node gửi và nhận thông điệp theo một định dạng cụ thể Các node có thể xuất bản (publish) thông điệp lên một topic và đăng ký nhận (subscribe) thông điệp từ topic đó

Ví dụ, một topic có thể chứa thông tin về tọa độ của robot, và các node khác có thể đọc và sử dụng thông tin này để thực hiện các chức năng khác

• Service (Dịch vụ): Service là một cơ chế giao tiếp đồng bộ trong ROS, cho phép các node yêu cầu (call) một dịch vụ và các node khác cung cấp (advertise) dịch vụ đó Dịch vụ được sử dụng để thực hiện các chức năng cụ thể khi được yêu cầu Ví dụ, một node có thể cung cấp dịch vụ di chuyển robot đến một vị trí được chỉ định, và các node khác có thể yêu cầu dịch vụ này để điều khiển robot di chuyển

• Action (Hành động): Action là một cơ chế giao tiếp phức tạp trong ROS, hỗ trợ trao đổi dữ liệu trong các hoạt động kéo dài Action bao gồm ba phần chính: goal (mục tiêu), result (kết quả) và feedback (phản hồi) Một node có thể gửi một goal đến một action server, và server sẽ xử lý và trả về kết quả Trong quá trình thực hiện, action server có thể gửi feedback để thông báo tiến trình cho node gửi goal Action thường được sử dụng cho các hoạt động phức tạp như điều hướng robot hoặc thu thập dữ liệu dài hạn

• ROS Master: ROS Master là một quy trình quản lý trong ROS, hoạt động như trung tâm quản lý đăng ký và giao tiếp giữa các node, topic, service và action Nó duy trì thông tin về các thành phần trong mạng robot và cung cấp các dịch vụ để các thành phần này có thể tìm thấy và giao tiếp với nhau

Hình 2-5 Cấu trúc liên kết trong ROS

Những cấp độ khái niệm trên giúp xác định cách các thành phần trong ROS tương tác và hoạt động với nhau, tạo nên một hệ thống linh hoạt và mạnh mẽ để phát triển ứng dụng robot

2D Navigation stack sử dụng thông tin và dữ liệu từ odometry, cảm biến, và điểm mục tiêu để tạo ra tín hiệu vận tốc điều khiển robot Việc áp dụng Navigation stack trên các robot khác nhau có thể phức tạp

Công nghệ SLAM và Lidar

Simultaneous Localization and Mapping (SLAM) là một công nghệ quan trọng trong lĩnh vực robot tự hành Công nghệ này cho phép robot xác định vị trí của mình trong một môi trường chưa biết trước và đồng thời tạo ra bản đồ của môi trường đó

Quá trình SLAM kết hợp dữ liệu từ các cảm biến như lidar, camera, encoder và GPS chính xác đến từng centimet Những cảm biến này cung cấp thông tin về khoảng cách, hình dạng và vị trí của các vật thể xung quanh robot Dựa vào các dữ liệu này, SLAM sử dụng các thuật toán phân tích và xử lý để ước tính vị trí của robot và xây dựng bản đồ của môi trường

Hình 2-8 Robot Pudu sử dụng công nghệ SLAM

Trong SLAM, có hai giai đoạn chính là Localization và Mapping Trong giai đoạn Localization, robot sử dụng dữ liệu từ các cảm biến để ước tính vị trí của mình trong môi trường Các thuật toán phổ biến bao gồm Particle Filter, Extended Kalman Filter và Rao- Blackwellized Particle Filter để so khớp dữ liệu từ cảm biến với bản đồ hiện tại và xác định vị trí của robot

Sau khi xác định vị trí, robot tiến hành giai đoạn Mapping để xây dựng bản đồ của môi trường Trong giai đoạn này, robot sử dụng dữ liệu từ các cảm biến để tạo ra một bản đồ chi tiết của môi trường xung quanh

Quá trình SLAM đòi hỏi tính toán phức tạp và phải xử lý các vấn đề như nhiễu dữ liệu và sự chồng chéo của các vật thể Tuy nhiên, nó là công nghệ quan trọng trong việc tự định vị và xây dựng bản đồ chính xác trong robot tự hành, được áp dụng rộng rãi trong các lĩnh vực như robot dịch vụ, xe tự hành và robot khám phá môi trường không rõ ràng

Trong ROS, việc xây dựng bản đồ là một quá trình quan trọng để robot có thể hiểu và tương tác với môi trường Map Server trong ROS là công cụ hỗ trợ quan trọng để lưu trữ và cung cấp bản đồ cho các ứng dụng robot Nó cung cấp dịch vụ "static_map" để các node khác có thể yêu cầu và nhận bản đồ một cách thuận tiện, và hỗ trợ các định dạng bản đồ như Occupancy Grid Map và Costmap

Công nghệ LiDAR (Light Detection and Ranging) là một công nghệ sử dụng tia laser để đo khoảng cách và tạo bản đồ môi trường Nó đã trở thành một công cụ quan trọng trong nhiều lĩnh vực như robot tự động hóa, xe tự lái, bản đồ hóa môi trường, nghiên cứu địa chất, và các ứng dụng khác

Công nghệ LiDAR hoạt động bằng cách phát tia laser từ một nguồn laser và đo thời gian mà tia laser phản xạ từ các vật thể trong môi trường trở về lại cảm biến Bằng cách tính toán thời gian bay và khoảng cách di chuyển của tia laser, cảm biến LiDAR có thể xác định khoảng cách và hình dạng của các vật thể xung quanh

Cảm biến LiDAR thường được trang bị với nhiều diod laser và bộ thu sóng quang học để tạo ra một tia laser phân tán hoặc quét trên một khu vực rộng hơn Khi tia laser phản xạ từ các vật thể trong môi trường, bộ thu sóng quang học ghi nhận dữ liệu về thời gian và cường độ của tia phản xạ Dữ liệu này được sử dụng để tạo ra các điểm dữ liệu 3D, gọi là điểm điểm LiDAR, cung cấp thông tin về hình dạng và cấu trúc của môi trường

Hình 2-9 Cảm biến Lidar tích hợp vào máy hút bụi

Cảm biến LiDAR bao gồm các thành phần chính sau đây:

• Laser: Sử dụng nguồn tia laser để phát ra ánh sáng laser, có thể là visible laser hoặc infrared laser

• Bộ thu: Nhận và ghi lại tia laser phản chiếu từ các đối tượng trong môi trường, thường sử dụng các cảm biến quang học như APD (Avalanche Photodiode) hoặc PMT (Photomultiplier Tube)

• Điện tử xử lý: Xử lý tín hiệu từ bộ thu, tính toán thời gian bay và khoảng cách của tia laser

• Gương quay (Scanner): Quét tia laser theo nhiều hướng khác nhau để thu thập thông tin không gian 3D

• Bộ nhớ và giao tiếp: Bộ nhớ để lưu trữ dữ liệu và khả năng giao tiếp với các thiết bị khác để truyền dữ liệu

• Vỏ bảo vệ: Bảo vệ các thành phần bên trong khỏi các yếu tố môi trường và đảm bảo hoạt động ổn định.

Tổng quan về lidar M1M1

SLAMTEC Mapper là một cảm biến laser tiên tiến do SLAMTEC phát triển, mang lại sự khác biệt so với các loại LIDAR truyền thống Thiết bị này tích hợp các chức năng định vị và lập bản đồ đồng thời (SLAM), phù hợp cho nhiều ứng dụng như điều hướng và định vị robot, lập bản đồ môi trường, và đo đạc di động

SLAMTEC Mapper đi kèm với một bộ công cụ phát triển SDK toàn diện, cùng với các công cụ đánh giá trên điện thoại di động và PC, tạo điều kiện thuận lợi cho người dùng trong việc mở rộng phát triển và thu thập dữ liệu Hơn nữa, thiết bị này còn đi kèm với trình điều khiển ROS, cho phép sử dụng trực tiếp dữ liệu bản đồ và vị trí trong môi trường ROS, đảm bảo tính tương thích tối đa

Hình 2-10 Cảm biến Lidar SLAMTEC M1M1 Mapper Cảm biến Lidar M1M1 có khả năng tạo lập bản đồ với chất lượng cao, đồng thời cung cấp định vị và điều hướng ổn định trong thời gian thực Thiết bị này hoạt động hiệu

23 quả cả trong nhà lẫn ngoài trời, với khả năng bao phủ không gian làm việc rộng lớn lên đến 100.000 mét vuông

Bảng 2-3 Thông số kỹ thuật Lidar

Phạm vi khoảng cách 20m Đánh giá mẫu vật 7000Hz

Tốc độ di chuyển tối đa 1 m/s

Tóc độ quay tối đa TBD Độ chính xác của việc tái bản địa hóa

Ngày đăng: 01/10/2024, 09:50

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Viblo Algorithm (2021), “Thuật toán dijkstra và ứng dụng”, đăng trên diễn đàn Viblo.asia Sách, tạp chí
Tiêu đề: Thuật toán dijkstra và ứng dụng
Tác giả: Viblo Algorithm
Năm: 2021
[3] Dieter Fox and Wolfram Burgard, “The Dynamic Window Approach to Collision Avoidance”, [Online]. Available: IEEE Robotics & Automation Magazine, 1997 Sách, tạp chí
Tiêu đề: The Dynamic Window Approach to Collision Avoidance
[4] Kim uyên (2020), “Thuật toán PID trong điều khiển tự động”, trên diễn đàn IO Stream Sách, tạp chí
Tiêu đề: Thuật toán PID trong điều khiển tự động
Tác giả: Kim uyên
Năm: 2020
[5] 5.W. G. p. ROS, "Robot Operating System Wiki," Global planner [Online]. Available: http://wiki.ros.org/global_planner Sách, tạp chí
Tiêu đề: Robot Operating System Wiki
[6] Nguyen Dang (2023), “Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS?”, Diễn đàn CyStack Sách, tạp chí
Tiêu đề: Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS
Tác giả: Nguyen Dang
Năm: 2023
[7] Trúc Mai (2021), “Giao thức MQTT là gì? Các khái niệm liên quan đến giao thức MQTT trong IoT”, Diễn đàn TINOGROUP Sách, tạp chí
Tiêu đề: Giao thức MQTT là gì? Các khái niệm liên quan đến giao thức MQTT trong IoT
Tác giả: Trúc Mai
Năm: 2021
[8] Nguyễn Trung Nghĩa. "Xây dựng API đơn giản với Flask - Demo với Ngrok." Viblo. Truy cập ngày 22 tháng 6 năm 2024. Availabel: https://viblo.asia/p/xay-dung-api-don-gian-voi-flask-demo-voi-ngrok-L4x5xv7qZBM Sách, tạp chí
Tiêu đề: Xây dựng API đơn giản với Flask - Demo với Ngrok
[9] Nguyễn Trung Nghĩa. "Mediapipe - Live ML solutions và ứng dụng vẽ bảng Hands Gestures." Viblo. Truy cập ngày 22 tháng 6 năm 2024[Online]. Availabel:https://viblo.asia/p/mediapipe-live-ml-solutions-va-ung-dung-ve-bang-hands-gestures-gAm5ymOV5db Sách, tạp chí
Tiêu đề: Mediapipe - Live ML solutions và ứng dụng vẽ bảng Hands Gestures
[10] Nguyễn Thanh Tùng. "Phát hiện cử chỉ cơ thể bằng MediaPipe." Thị Giác Máy Tính. Truy cập ngày 22 tháng 6 năm 2024[Online]. Availabel:https://thigiacmaytinh.com/phat-hien-cu-chi-co-the-bang-mediapipe/ Sách, tạp chí
Tiêu đề: Phát hiện cử chỉ cơ thể bằng MediaPipe
[11] Google Cloud Platform. "Generative AI." GitHub. Truy cập ngày 22 tháng 6 năm 2024[Online]. https://github.com/GoogleCloudPlatform/generative-ai Sách, tạp chí
Tiêu đề: Generative AI

HÌNH ẢNH LIÊN QUAN

Hình 2-8 Robot Pudu sử dụng công nghệ SLAM. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 2 8 Robot Pudu sử dụng công nghệ SLAM (Trang 45)
Hình 2-37 Giao thức HTTP. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 2 37 Giao thức HTTP (Trang 65)
Hình 2-45 Sơ đồ kết nối các khái niệm trong ROS. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 2 45 Sơ đồ kết nối các khái niệm trong ROS (Trang 77)
Hình 4-32 Lưu đồ giải thuật xử lí tín hiệu giữa web và giao diện. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 4 32 Lưu đồ giải thuật xử lí tín hiệu giữa web và giao diện (Trang 133)
Hình 4-41 Giao diện điều khiển Auto. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 4 41 Giao diện điều khiển Auto (Trang 136)
Hình 5-1 Sơ đồ khối Simulink. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 1 Sơ đồ khối Simulink (Trang 138)
Hình 5-2 Hình đồ thị giá trị đặt và ngõ ra của X trong trường hợp 1. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 2 Hình đồ thị giá trị đặt và ngõ ra của X trong trường hợp 1 (Trang 138)
Hình 5-9 Hình chuyển động của Robot trong trường hợp 2. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 9 Hình chuyển động của Robot trong trường hợp 2 (Trang 141)
Hình 5-14 Tính toán giá trị y và z. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 14 Tính toán giá trị y và z (Trang 143)
Hình 5-18 Giao diện trang Home. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 18 Giao diện trang Home (Trang 145)
Hình 5-20 Giao diện truy cập trang trường. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 20 Giao diện truy cập trang trường (Trang 146)
Hình 5-21 Giao diện đóng học phí. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 21 Giao diện đóng học phí (Trang 146)
Hình 5-22 Giao diện tracking. - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 22 Giao diện tracking (Trang 147)
Hình 5-24 Giao diện di chuyển Manual - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 24 Giao diện di chuyển Manual (Trang 148)
Hình 5-25 Giao diện trang Auto - xây dựng robot lễ tân ứng dụng trong trường học
Hình 5 25 Giao diện trang Auto (Trang 148)

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w