Mục Lục MỞ ĐẦU 3 CHƯƠNG I MOBILE ROBOT 4 1 Tổng quan về mobile robot 4 2 Lịch sử phát triển của mobile robot 5 3 Phân loại mobile robot 6 4 Ưu nhược điểm và ứng dụng của Mobile robot 6 4 1 Ưu điểm của.
Mục Lục MỞ ĐẦU CHƯƠNG I MOBILE ROBOT Tổng quan mobile robot Lịch sử phát triển mobile robot Phân loại mobile robot Ưu nhược điểm ứng dụng Mobile robot 4.1 Ưu điểm Mobile robot .6 4.2 Nhược điểm Mobile robot .6 4.3 Ứng dụng Mobile robot Cấu tạo, nguyên lý hoạt động mobile robot 5.1 Cấu tạo mobile robot .8 5.2 Nguyên lý hoạt động mobile robot .10 CHƯƠNG TÌM HIỂU VỀ ROBOT OMNI BÁNH 12 Thiết kế khí chọn linh kiện 12 1.1 Bánh xe khớp nối .12 1.2 Thiết kế cấu trúc mạch điều khiển cho robot 14 Bài toán điều khiển robot bánh omni 16 2.1 Đầu vào 16 2.2 Đầu 16 2.3 Kiểm nghiệm công thức .17 2.4 Chương trình 19 2.5 Kết 22 MỞ ĐẦU Thế kỷ XX, kỷ phát triển vượt bậc nhân loại khoa học kỹ thuật lẫn kinh tế Cách mạng Công nghiệp lần thứ ba diễn có tiến hạ tầng điện tử, máy tính số hố xúc tác phát triển chất bán dẫn, siêu máy tính (thập niên 1960), máy tính cá nhân (thập niên 1970 1980) Internet (thập niên 1990) Cho đến cuối kỷ XX, q trình hồn thành nhờ thành tựu khoa học công nghệ cao Vệ tinh, máy bay, máy tính, điện thoại, Internet, Robot, … công nghệ thụ hưởng từ cách mạng Cuộc cách mạng tạo điều kiện tiết kiện tài nguyên thiên nhiên nguồn lực xã hội, cho phép chi phí tương đối phương tiện sản xuất để tạo khối lượng hàng hóa tiêu dùng Kết quả, kéo theo thay đổi cấu sản xuất xã hội mối tương quan khu vực I (nông – lâm – thủy sản), II (công nghiệp xây dựng) III (dịch vụ) sản xuất xã hội Làm thay đổi tận gốc lực lượng sản xuất Các hệ thống điều khiển áp dụng quy luật điều khiển cổ điển, điều khiển đại, điều khiển thơng minh, điều khiển trí tuệ nhân tạo Robot nghiên cứu vĩ đại lồi người Ngày nay, Robot khơng cịn xa lạ với người với tên ASIMO, TIAN… Chúng kết tinh thành tựu to lớn khoa học kỹ thuật nhân loại Robot ứng dụng rộng rãi ngành công nghiệp, y tế, nghiên cứu khoa học, giải trí, phục vụ đời sống người Kéo theo yêu cầu hệ robot thông minh, linh hoạt có kỹ lao động người Để đáp ứng điều địi hỏi phải trang bị cho Robot điều khiển thông minh, phức tạp Và số trường hợp điều khiển kinh điển túy khơng cịn đáp ứng nữa, yêu cầu đặt phải xây dựng điều khiển đa năng, thông minh Qua phát triển ngành robot nhóm chúng em lựa chọn đề tài: “Tìm hiểu robot tự hành cụ thể loại robot bánh: Omni robot bánh ”, làm báo cáo kết thúc môn Nhập mơn tự động hóa Với giúp đỡ hướng dẫn cô PHẠM THỊ HƯƠNG SEN, nhóm em hồn thành đề tài Trong q trình thực khơng tránh khỏi thiếu sót, em mong đóng góp ý kiến thầy cô bạn để nghiên cứu em hoàn thiện CHƯƠNG I MOBILE ROBOT Tổng quan mobile robot Thuật ngữ Robot xuất lần vào năm 1922 tác phẩm “Rossum’s Universal Robot” Karel Capek Trong tác phẩm nhân vật Rossum trai tạo máy giống người để phục vụ cho người Robot tự hành hay robot di động (mobile robots, thường gọi tắt mobots) định nghĩa loại xe robot có khả tự dịch chuyển, tự vận động (có thể lập trinh lại được) điền khiển tự động để thực thành công công việc giao * Mobile robot ? Hình 1.1: Minh họa Mobile robot Robot loại thiết bị thực công việc cách tự động điều khiển máy tính vi mạch điện tử lập trình Robot có đặc điểm sau đây: người sáng tạo ra, có khả nhận biết mơi trường xung quanh tương tác với vật thể môi trường, có khả đưa lựa chọn dựa môi trường điều khiển cách tự động theo trình tự lập trình trước, điều khiển lệnh để thay đổi tùy theo yêu cầu người sử dụng, di chuyển quay tịnh tiến theo hay nhiều chiều khéo léo vận động Mobile robot robot có khả tự di chuyển Nó di chuyển môi trường chúng, không cố định vào vị trí thực Robot di động "tự trị" (robot di động tự động) có nghĩa chúng có khả điều hướng mơi trường khơng kiểm sốt mà khơng cần thiết bị hướng dẫn vật lý điện Ngoài ra, robot di động dựa vào thiết bị hướng dẫn cho phép di chuyển tuyến đường định hướng xác định trước không gian tương đối kiểm sốt (robot tự điều khiển) Nó khác với robot công nghiệp thường đặt gần cố định hoạt động cánh tay Lịch sử phát triển mobile robot Hình dạng Robot xuất nước Hoa Kỳ, loại tay máy chép hình dung phịng thí nghiệm vật liệu phóng xạ Vào năm 50 kỷ trước, bên cạnh loại tay máy chép hình khí, loại tay máy chép hình thủy lực điện tử xuất Tuy nhiên, tay máy thương mại có chung nhược điểm thiếu di động, tay máy hoạt động hạn chế quanh vị trí Ngược lại, Mobile Robot lại Robot di động di chuyển từ không gian đến không gian khác cách độc lập hay điều khiển từ xa, tạo khơng gian hoạt động lớn Từ đến có nhiều kiện vĩ đại ngành cơng nghiệp robot, lồi người tạo nhiều thành tựu đáng nể: + Tên lửa V1 V2 có phi cơng tự động hệ thống phát nổ chúng tiền thân đầu đạ hạt nhân ( từ 1939 đến 1945); + NASA phóng hai tàu vũ trụ không người lái lên hỏa (1976) + Mark Tinden phát minh BEAM robotics (1989) + Roomaba robot di động dùng gia đình (2002) + Robosapien, rôbốt đồ chơi, thiết kế Mark Tilden bán sẵn Trong dự án “The Centibots Project” 100 Robot làm việc với để tạo lên đồ cho vùng không xác định tìm vật thể mơi trường Trong thi DARPA Grand Challenge, Robot tự động tranh tài sa mạc (2004) + Sony dừng việc sản xuất Aibo Helpmate PatrolBot trở lên phổ biến Robot di động tiếp tục cạnh tranh để trở thành mặt hàng độc quyền Sở an ninh Mỹ bỏ dự án MDARS-I, lại gây quỹ cho dự án loại Robot an ninh tự động khác TALON-Sword, loại Robot tự động dùng để bán sẵn với dàn phóng lựu đạn lựa chọn vũ khí hợp thành khác đời Asimo Honda biết cách chạy leo cầu thang với hai chân người (2006) + Hệ thống KiVa, Robot thông minh tăng nhanh số lượng quy trình phân phối Robot Tug trở thành phương tiện phổ biến bệnh viện dùng để vận chuyển đồ kho từ nơi sang nơi khác ARCSinside Speci-Minder mang máu vật mẫu từ trạm y tá tới phịng xét nghiệm.Seekur, Robot dịch vụ dùng ngồi trời với mục đích phi qn kéo xe qua bãi đậu xe, lái cách độc lập (tự động) vào nhà bắt đầu học cách lái ngồi Trong đó, PatrolBot học cách theo sau người cửa mà mở đóng lại (2007) Phân loại mobile robot Robot di động phân loại: - Phân loại theo môi trường mà chúng di chuyển + Robot trời robot nhà thường lắp bánh xe, có loại robot có chân ( gồm nhiều chân) robot hình người, robot hình dạng động vật côn trùng + Robot không thường dùng cho phương tiện không, phương tiện không người lái + Robot nhước thường dùng cho phương tiện nước, chúng hoạt động độc lập - Phân loại theo phương tiện di chuyển + Robot có chân, chân giống người hay chân giống động vật + Robot có bánh xe + Robot di chuyển bánh xích Ưu nhược điểm ứng dụng Mobile robot 4.1 Ưu điểm Mobile robot Mobile robot loại robot thực tác vụ địa điểm khác nhau, khơng cố định vị trí Linh động đặc tính robot di động, có từ phận chuyển động bánh xe, chân, tay, cánh quạt… Robot di động “phải biết” định vị “thu nhận” thông tin đầy đủ mơi trường xung quanh, sau có định thực hành động cho phù hợp Do đó, Mobile robot thường tích hợp cảm biến nhằm giúp cho chúng nhận biết Ngồi ra, robot di động cịn gắn kết với hệ thống máy tính điều khiển hệ thống cung cấp điện cho chuyển động cảm biến Tùy vào tính chất cơng việc, robot di động phải mang theo nguồn điện, camera, micro, cảm biến xử lý Tuy nhiên, robot di động có tải trọng định, nên thiết kế, cần tính toán trọng lượng vật mang theo mức vừa phải Một đặc điểm quan trọng khác robot di động cần phải có tính tự động cách tương đối, nghĩa phải có khả tự làm hành động mà khơng cần có can thiệp người 4.2 Nhược điểm Mobile robot Yêu cầu phức tạp: Mobile robot có yêu cầu cao hơn, đòi hỏi đầu tư nhiều Khác với robot cố định vận hành đơn giản, thực cơng việc có tính chất lặp lặp lại, mobile robot hoạt động khơng gian mở, cần thường xuyên thay đổi đầu tư phức tạp Chi phí đắt: Mobile robot có u cầu sản xuất cao chi phí đầu tư thường đắt so với loại robot khác Giới hạn tải trọng: Robot di động chịu vật có tải trọng vừa phải khơng thể đáp ứng vật lớn 4.3 Ứng dụng Mobile robot Hình 1.2 Minh hoa Robot lau nhà - Mobile robot ứng dụng cho nhiều loại công việc khác từ xây dựng đến nông nghiệp, từ đào mìn đến thăm dị dầu khí, xử lý mơi trường, y tế, giải trí, vận chuyển,… - Ngành lắp ráp tự động + Lắp ráp lốp: di chuyển lốp xe màu xanh từ lưu trữ trung gian để chữa trạm báo chí + Thiết bị điện tử ô tô: PCBs di chuyển thành phần nhỏ cho dòng phụ bổ sung + Phụ kiện tự động: vận chuyển totes đến từ trạm ép phun - Kỹ thuật số + Semiconductor wafer fab: vận tải WIP intrabay stockers để xử lý cơng cụ, lưới carơ vận tải cho q trình in ảnh litơ - Đóng gói bán dẫn kiểm tra: di chuyển khay chip IC qua xe đẩy + Mobile Device Sản xuất: di chuyển tote PCBs lắp ráp thiết bị cầm tay trại lớn + Trung tâm liệu: giám sát môi trường xử lý cố máy chủ trang - Đồ ăn - uống + Nhà máy Snack: di chuyển hộp tông để đóng gói đường + Cơ sở phục vụ: di chuyển totes thực phẩm nướng để phịng chứng khốn - Logictics + Kho hàng: thương mại điện tử thực đơn hàng, trung tâm phân phối hàng + Chung ánh sáng Sản xuất Sản phẩm / tiêu dùng - Sản xuất đồ trang sức + Di chuyển khuôn mẫu trang sức hồn thành trạm đúc + Sản xuất kính mát: băng tải ảo để di chuyển hộp kính mát từ ASRS đài xếp lại sau mang lại cho phần hoàn thiện đến tải - Khách san: Dịch vụ phòng giao hàng - Bệnh viện: Dụng cụ phẫu thuật sinh bệnh viện Cấu tạo, nguyên lý hoạt động mobile robot 5.1 Cấu tạo mobile robot Cấu tạo Mobile robot đơn giản phức tạp Cơ bản, robot di động đơn giản bao gồm phận chuyển động bánh xe cánh tay, nguồn lớp vỏ ngồi Hình 1.3: Cấu tạo bên ngồi robot đơn giản gồm bánh xe khung Hình 1.4: Cấu tạo bên Robot đơn giản gồm: bánh xe, motor dây nguồn điện Hình 1.5: Các phận riêng rẽ Mobile robot đơn giản gồm: vỏ hộp, bánh răng, ốc vít 5.2 Nguyên lý hoạt động mobile robot Mobile robot hoạt động dựa nguyên lý sau: Nguyên lý 1: Dẫn đường với phương pháp dead – reckoning Hiện nay, phương pháp dead – reckoning mobile robot sử dụng phổ biến rộng rãi Đây giải pháp nhiều người lựa chọn cho độ xác cao, tốc độ lấy mẫu nhanh, giá thành lại thấp Phương pháp có ngun tắc tích lũy thông tin gia tốc chuyển động theo thời gian Nó thực cách dễ dàng, sử dụng liệu từ mã hóa số vịng quanh bánh xe nhờ theo phương trình đơn giản Phương pháp dead – reckoning dựa nguyên tắc chuyển đổi số vòng quay bánh xe thành độ dịch tuyến tính tương ứng robot Nguyên lý 2: Sử dụng hệ thống đường cột mốc chủ động Đây phương pháp dẫn đường mobile robot áp dụng chủ yếu tàu biển máy bay Nguyên lý hoạt động cung cấp thông tin vị trí xác với q trình xử lý tối thiểu Bên cạnh cho phép tốc độ độ tin cậy lấy mẫu cao Thế nhưng, việc dẫn đường robot di động phương pháp sử dụng hệ thống đường cột mốc chủ động thường có giá cao Tại phương pháp sử dụng hệ thống đường cột mốc chủ động ta lại chia thành cách đo dùng hệ thống mốc chủ động là: Cách đo tam giác Phép đo góc tam giác Nguyên lý 3: Hệ thống dẫn đường cột mốc Tương tự hệ thống dẫn đường cột mốc chủ động, nhiên hệ thống dẫn đường cột mốc có vật mốc nhân tạo tự nhiên Nguyên lý 4: Định vị sử dụng đồ Phương pháp định vị sử dụng đồ cho phép mobile robot sử dụng cảm biến trang bị để tạo đồ cục mơi trường xung quanh Sau đó, đồ so sánh trực tiếp với đồ lưu trữ sẵn nhớ Nếu hai đồ tương ứng với nhau, robot tính tốn vị trí góc hướng thực tế môi trường Trên thực tế, phương pháp định vị sử dụng đồ thường cho độ xác Do đó, muốn tăng độ xác kết hợp hai hay nhiều phương pháp định vị khác nêu CHƯƠNG TÌM HIỂU VỀ ROBOT OMNI BÁNH Thiết kế khí chọn linh kiện Hình 2.1 Cấu trúc robot omni bánh 1.1 Bánh xe khớp nối 1.1.1 Bánh xe - Trên sở làm xe bánh omni để phù hợp với kích thước xe, loại bánh omni 58mm nhựa Hình 2.2: Hình ảnh bánh xe thực - Một số thơng số bánh: + Đường kính bánh xe: 58mm + Đường kính trục: 13mm + Chất liệu: nhựa ABS + cao su + Trọng tải: 3kg + Trọng lượng: 60g + Bánh nửa có lăn Hình 2.3: Các kích thước bánh 1.1.2 Khớp nối Hình 2.4: Bộ khớp nối kèm với bánh xe ghép nối với động - Một vài thơng số khớp nối: + Tương thích: bánh xe omni wheel đường kính trục 13mm + Chất liệu: Nhơm + Tương thích động đường kính trục 4-6mm 1.2 Thiết kế cấu trúc mạch điều khiển cho robot Hình 2.5 Sơ đồ cấu trúc phần cứng điều khiển robot 1.2.1 Cấu trúc phần cứng sử dụng: + Bộ xử lý hiệu cao Jetson- TX2 (master); với vai trò xử lý trung tâm, xử ly hiệu cao chuyên dụng cho xử lý trí tuệ nhân tạo (AI), mạng nơ ron, logic mở, vi thu tập tín hiệu từ cảm biến, encorder, camera, Lidar, IMU xử lý Các thuật tốn điều khiển lập trình Kit dựa ngôn ngữ Python hệ điều hành ROS, sau tính tốn tín hiệu điều khiển tối ưu, TX2 gửi tín hiệu điều khiển cho mạch vi điều khiển slave + Mạch điều khiển (shave) (NCS sử dụng lối ARM context M3 STM32F1xx) phận nhận tín hiệu điều khiển từ Jes-Tx2 (master) điều khiển tín hiệu đến driver động bánh xe, I/O từ cảm biến, đọc encorder xác định vị trí robot … + Mạch cầu H (driver động DC24V) sử dụng MOSFET mạch công suất điều khiển động servo bánh di chuyển + Modul truyền thông USB/RS232, RF, bluetooth để thu tín hiệu điều khiển từ điện thoại di động muốn điều khiển trực tiếp + Camera có độ phân giải hình ảnh RGB lên đến 1280 x 720 - 30 khung hình giầy, dù sâu hình ảnh Res lên đến 640 × 480 - 30 khung hình / giây sử dụng mắt robot để thu hình ảnh từ mơi trường cách rõ nét chân thực nhất, tín hiệu giúp robot tự xây dựng thành đồ ảo + RP Lidar quét laser, kết hợp với Camera 3D Astra đưa tín hiệu vị trí, hướng, vật cản xử lý master TX2, Gazebo Rviz dựng đồ 2D 3D địa hình hoạt động robot 1.2.2 Phần mềm điều khiển cho robot - Hệ điều hành lập trình cho robot ROS NCS ứng dụng lập trình cho điều khiển cho robot tảng hệ điều hành lập trình cho robot - ROS (Robot Operating System), với công cụ mô phong Gazebo lập trình giám sát chạy thực nghiệm Rviza ROS hệ điều hành chuyên dụng để lập trình điều khiển robot nghiên cứu phát triển đại học Stantford từ năm 2007 ROS bao gồm công cụ, thư viện không lỗ cho phép sử dụng nhiều loại ngôn ngữ lập trình C++, python giúp người dùng dễ dàng triển khai, xây dựng sản phẩm Hình 2.6 Cấu trúc chương trình ROS Cấu trúc ROS phát triển thông qua node, node đóng gói packages khác theo nhiệm vụ Hoạt động giao tiếp node dạng chủ đề, tin nhắn, dịch vụ minh họa hình 4.4 Ngồi ROS cịn cung cấp hai cơng cụ hỗ trợ cho việc lập trình robot Gazebo Rviz Gazebo dùng để mô môi trường 3D robot để mô kiểm chứng trước thuật toán tiến hành thực thị robot thật Bên cạnh đó, Rviz sử dụng để theo dõi liệu xuất từ topic để thuận lợi cho việc quan sát, theo dõi, đánh giá hiệu node, đánh giá chất lượng điều khiển môi trường mô phong môi trường thực tế - Phần mềm mô Gazebo Gazebo công cụ mạnh mẽ ROS giúp người thiết kế tạo mơ hình mơ robot môi trường Việc làm đơn giản hóa việc thử nghiệm q trình thiết kế robot Tuy nhiên để tạo mô hình robot mơi trường ROS cần URDF (Universal Robotic Decreption FOMRat) URDF định dạng tệp XML sử dụng để mơ tất yếu tố robot cảm biến, camera, khớp Việc thêm yếu tố giúp tập URDF tương thích với định dạng SDF (định dạng mơ phỏng) ROS Sau đó, UDRF chuyển sang định dạng SDF thơng qua Gazebo Vậy nên Gazebo hồn tồn mơ tồn mơ hình robot mơi trường cách hồn - Phần mềm giám sát Rviz Rviz phần mềm hữu ích giúp giám sát trực tiếp, trực quan ba chiều loại liệu cảm biến hoạt động robot, Rviz truy xuất tín hiệu cung cấp ROS, chẳng hạn quét laser, IMU, GPS, vị trí robot thơng qua tính tốn góc quay encorder hình ảnh camera 3D Nó sử dụng thơng tin từ thư viện TF để hiển thị liệu cảm biến khung tọa độ chung, hiển thị khơng gian chiều Trực quan hóa tất liệu hệ thống ứng dụng khơng xem hết thơng tin mà cịn cho phép nhanh chóng xem robot nhìn thấy xác định vấn đề sai lệch cấm biển mơ hình robot khơng xác Việc hiển thị liệu cám biển, laser, Camera 3D để trực quan hóa khoảng cách từ cảm biến cảm biến khoảng cách Laser (Laser scan) đến chưởng ngại vật, liệu đám mây điểm (Point Cloud) khoảng cách 3D cảm biến RealSense, Kinect Astra camera, giá trị hình ảnh thu từ máy ảnh mà khơng phải phát triển nhiều phần mềm riêng biệt Bằng cách hình dung robot nhìn thấy, suy nghĩ làm, người dùng dễ dàng phát triển gỡ lỗi hệ thống cho robot điều khiển Bài toán điều khiển robot bánh omni 2.1 Đầu vào Yêu cầu người điều khiển gồm : + Góc u cầu ϴd : góc chuyển động tính tiền robot so với hệ tọa độ gần với thân + Vận tốc yêu cầu Vd : robot di chuyển nhanh hay chậm + Vận tốc xoay Vѳ : robot xoay nhanh hay chậm 2.2 Đầu Vận tốc cho bánh robot để đáp ứng yêu cầu đầu vào Trong Vx : Vận tốc bánh thứ x, giá trị khoảng [-1 ; 1] Vd : Vận tốc tịnh tiến robot, giá trị khoảng [-1 ;1] ϴd : góc chuyển động tịnh tiến, giá trị khoảng [0 ; 2π]; ([0 ; 360°]) Vѳ : Vận tốc xoay robot, giá trị khoảng [-1 ; 1] Mỗi cơng thức gồm phần chính: π -Phần tác động đến vận tốc tính tiến Vd sin ( ϴd + ) -Phần tác động đến vận tốc xoay Vѳ Những giá trị hiệu chỉnh hệ số cho phù hợp với yêu cầu điều khiển dễ hình dung CLB Robot sử dụng khoảng giá trị cho vận tốc [-10000 ; 10000] 2.3 Kiểm nghiệm cơng thức Thay chứng minh cơng thức này, tác giả trình bày số trường hợp để kiểm nghiệm tính đắn cơng thức *TH1 : ; ; : robot chạy thẳng Kết đầu : Các bánh xe quay hình vẽ, dễ thấy robot chuyển động thẳng phía trước d V si xA -Y X-Axis Hình 2.7 Robot chuyển động thẳng phía trước *TH2: : robot chạy chéo góc 45 độ Kết đầu ra: độ Các bánh xe quay hình vẽ, dễ thấy robot chuyển động chéo góc 45 si xA -Y Vd X-Axis Hình 2.8 Robot chuyển động chéo góc 45 độ *TH3: : robot chạy sang ngang góc 90 độ Kết đầu ra: Các bánh xe quay hình vẽ, dễ thấy robot chuyển động sang ngang Vd Hình 2.8 Robot chuyển động thẳng sang ngang *TH4: ; ; : robot xoay chỗ Kết đầu ra: V1 = V2 = -1 V3 = V4 = -1 Các bánh xe quay hình vẽ, dễ thấy robot chuyển động xoay chỗ Hình 2.9 Robot chuyển động xoay chỗ 2.4 Chương trình Dưới trình bày chương trình thực việc điều khiển robot omni Chú ý hàm SPI_SendVelocity (1, (int16_t) V1) thực việc truyền yêu cầu cho động số giá trị vận tốc V1, slave điều khiển động số nhận liệu qua giao tiếp SPI thực việc điều khiển vận tốc động cho Ở thấy ưu điểm hệ thống master- multi slaves: chip vi điều khiển master việc tính tốn, xử lí, truyền yêu cầu slave, slave tự thực thi yêu cầu, master không cần “nhúng tay” vào :D /************************************************************ ******************* Function name: Move Decription: Control the movement of robot by giving velocity to each motor slave Input: Vd: Transition velocity Theta: angle of velocity Vtheta: Orientation velocity Output: None ************************************************************ *******************/ void Robot_Move_PID(float Vd, float Theta, float Vtheta) { //float Vd, Theta; // Desired robot speed [-10000,10000]; // Desired robot angle [0,360] //float Vtheta = 0; // Desired speed for changing direction [- 10000,10000] float V1, V2, V3, V4; // Velocity given to motor slave float V1_abs, V2_abs, V3_abs, V4_abs, Vmax;//using to orientate smoothly float Temp; // Calculate angle and module received from gamepad // Theta = -Analog_Angle_Left(); // Vd = abs (Analog_Module_Left()); // Vtheta = Analog_Module_Right(); // Calculate velocity for each mechanum driver V1 = Vd*sin((Theta+45) * 0.01745) +Vtheta; // Vd*sin((Theta+90)*3.1416/180)+Vtheta V2 = Vd*cos((Theta+45)*0.01745)-Vtheta; // Vd*cos((Theta+90)*3.1416/180)-Vtheta V3 = Vd*cos((Theta+45)*0.01745)+Vtheta; // Vd*cos((Theta+90)*3.1416/180)+Vtheta V4 = Vd*sin((Theta+45)*0.01745)-Vtheta; // Vd*sin((Theta+90)*3.1416/180)-Vtheta //Calculate the ratio V1_abs=abs(V1); V2_abs=abs(V2); V3_abs=abs(V3); V4_abs=abs(V4); ///////////////////// //Calculate max value of V Vmax=V1_abs; if (V2_abs>Vmax) Vmax=V2_abs; if (V4_abs>Vmax) Vmax=V3_abs; if (V3_abs>Vmax) Vmax=V3_abs; ////////////////////////////////////////////// //reduce V to reach the required range { Temp=10000/Vmax; V1= V1*Temp; V2= V2*Temp; V3= V3*Temp; V4= V4*Temp; } else if (Vmax10000) ... robot nhóm chúng em lựa chọn đề tài: “Tìm hiểu robot tự hành cụ thể loại robot bánh: Omni robot bánh ”, làm báo cáo kết thúc mơn Nhập mơn tự động hóa Với giúp đỡ hướng dẫn PHẠM THỊ HƯƠNG SEN, nhóm