Nhìn robot hình người đi chậm, dễ mất thăng bằng và mang được ít đồ, nhiều người sẽ hỏi tại sao không dùng bánh xe, bốn chân hoặc tay máy chuyên dụng. Câu hỏi này hoàn toàn hợp lý, vì nếu chỉ làm một việc thì robot hình người thường không phải lựa chọn tốt nhất.  Robot được trang bị bánh xe chạy nhanh hơn, bốn chân đứng vững hơn, còn tay máy công nghiệp chính xác và khỏe hơn tay người. Tuy nhiên, robot hình người được thiết kế không phải để làm tốt nhất một động tác, mà để làm được nhiều việc trong môi trường vốn dành cho con người. Nó có thể đi qua cửa, lên cầu thang, cúi nhặt đồ, mở tủ, bấm nút, xoay van và mang vật sang phòng khác. Nếu dùng máy chuyên dụng, mỗi việc sẽ cần một loại máy riêng và môi trường cũng phải sửa lại cho phù hợp. Vì vậy, vấn đề không phải robot hình người có tối ưu nhất hay không, mà là nó có thể làm được bao nhiêu việc trong môi trường hiện có với tổng chi phí hợp lý.

Vì sao các hình dạng khác thường tốt hơn?

Robot bánh xe (wheeled robot) là lựa chọn đơn giản và tiết kiệm năng lượng. Bánh xe luôn tiếp xúc với mặt sàn nên robot không phải liên tục nhấc và hạ cơ thể như khi bước đi. Phần lớn năng lượng chỉ dùng để lăn, tăng tốc và chuyển hướng. Robot bốn chân (quadruped robot) phù hợp hơn với địa hình gồ ghề. Khi một chân nhấc lên, ba chân còn lại vẫn giữ cơ thể ổn định. Trọng tâm thấp cũng giúp robot ít bị ngã khi trượt chân hoặc chịu lực đẩy ngang. 

Tay máy cố định (fixed manipulator) có lợi thế về độ cứng, tốc độ và độ chính xác. Vì được bắt chặt xuống sàn, nó không phải bù cho chuyển động của thân hay sai số khi đứng. Đây là lý do tay máy cố định được dùng nhiều trong nhà máy. Các hình dạng khác cũng có lợi thế riêng. Drone phù hợp kiểm tra trên cao, robot rắn phù hợp đi trong đường ống, robot mềm phù hợp cầm nắm vật dễ vỡ. Như vậy, mỗi loại robot được tạo ra để tận dụng một ưu thế vật lý nhất định. Không có quy tắc nào nói rằng robot thông minh bắt buộc phải có đầu, hai tay và hai chân.

image.png

Bài toán chi phí toàn hệ thống

Nếu chỉ so giá của từng con robot, humanoid thường bất lợi. Nhưng một tổ chức không chỉ trả tiền cho thân robot. Tổ chức còn phải trả tiền để sửa mặt bằng, thay dụng cụ, bố trí lại dây chuyền, xây điểm sạc, tạo khay chuyên dụng, viết phần mềm tích hợp và đào tạo con người.

Giả sử ký hiệu hình thái robot là m. Hình thái này có thể là bánh xe, bốn chân, humanoid hoặc một cấu trúc lai. Tổng chi phí không nên chỉ được viết là giá mua robot. Một mô hình gần với thực tế hơn là:

\(C_{\mathrm{total}}(m)=C_{\mathrm{robot}}(m)+C_{\mathrm{env}}(m)+C_{\mathrm{tool}}(m)+C_{\mathrm{integration}}(m)+C_{\mathrm{operation}}(m)+C_{\mathrm{risk}}(m)\)

Trong đó, \(C_{\mathrm{robot}}\) là chi phí đầu tư cho robot; \(C_{\mathrm{env}}\) là chi phí cải tạo môi trường; \(C_{\mathrm{tool}}\) là chi phí thay đổi hoặc bổ sung công cụ; \(C_{\mathrm{integration}}\) là chi phí tích hợp robot vào quy trình hiện có; \(C_{\mathrm{operation}}\) bao gồm chi phí điện năng, bảo trì và nhân sự vận hành; còn \(C_{\mathrm{risk}}\) là chi phí phát sinh do lỗi, tai nạn hoặc thời gian hệ thống ngừng hoạt động.

Hình thái được chọn là hình thái làm tổng chi phí nhỏ nhất, đồng thời vẫn thỏa mãn các ràng buộc về nhiệm vụ, thời gian và an toàn.

\(m^{*} = \arg\min C_{total}(m)\)

với điều kiện \(g_{task}(m) \le 0,\quad g_{safety}(m) \le 0,\quad g_{time}(m) \le 0\)

Humanoid có thể làm chi phí đầu tư cho robot \(C_{robot}\) tăng đáng kể. Tuy nhiên, hình thái này có thể giúp giảm chi phí cải tạo môi trường \(C_{env}\) và chi phí thay đổi công cụ \(C_{tool}\). Với hai tay, tầm với và chiều cao gần với con người, robot có thể sử dụng lại bàn, kệ, tay nắm, công tắc và các dụng cụ hiện có. Khi được triển khai tại nhiều địa điểm cũ, phần chi phí tiết kiệm do không phải cải tạo toàn bộ hạ tầng có thể bù đắp một phần đáng kể chi phí đầu tư ban đầu cho humanoid.

Giải phẫu chức năng của humanoid

Robot hình người không cần sao chép cơ thể người theo nghĩa thẩm mỹ. Nó không nhất thiết cần khuôn mặt, da nhân tạo hoặc tỷ lệ cơ thể giống người thật. Điều đáng sao chép là những quan hệ chức năng giữa cảm biến, thân, tay, chân và hệ điều khiển. Đầu là vị trí phù hợp để đặt camera vì nó có độ cao tốt và có thể xoay độc lập với thân. Cổ giúp robot nhìn sang bên mà không phải xoay toàn bộ cơ thể. Thân chứa nguồn điện, máy tính và tạo một khung cứng để truyền lực giữa vai và hông. Hai tay mở rộng vùng làm việc và cho phép giữ vật bằng một tay trong khi tay kia thao tác. Hông, gối và cổ chân điều khiển vị trí trọng tâm. Bàn chân tạo vùng tiếp xúc với sàn và đo phản lực mặt đất. Số bậc tự do (degrees of freedom) của một humanoid có thể được biểu diễn bằng tổng số bậc tự do của từng chuỗi khớp:

\(n_{\mathrm{DOF}} = n_{\mathrm{neck}} + n_{\mathrm{torso}} + 2n_{\mathrm{arm}} + 2n_{\mathrm{hand}} + 2n_{\mathrm{leg}}\)

Số bậc tự do càng lớn thì robot càng có nhiều cách đưa bàn tay hoặc bàn chân đến một vị trí. Nhưng không gian điều khiển cũng tăng theo. Một chuyển động tưởng như đơn giản, chẳng hạn cúi xuống nhặt một hộp, có thể đồng thời liên quan đến cổ chân, gối, hông, cột sống, vai, khuỷu và cổ tay.
 

image.png

Vì sao cánh tay và bàn tay quan trọng?

Phần giá trị nhất của humanoid thường không phải khuôn mặt mà là hai tay. Thế giới của con người chứa rất nhiều giao diện cơ học được thiết kế cho bàn tay: tay nắm cửa, kìm, tua vít, máy khoan, van, cần gạt và nút bấm. Nếu robot có thể đưa bàn tay đến đúng vị trí, đúng hướng và tạo đúng lực, robot có thể dùng lại các giao diện đó.
Gọi vector góc khớp của cánh tay là (q), còn vị trí và hướng của bàn tay được biểu diễn bởi (x). Quan hệ động học thuận (forward kinematics) giữa cấu hình khớp và trạng thái của bàn tay được viết như sau:

Gọi vector góc khớp của cánh tay là \(q\), còn vị trí và hướng của bàn tay được biểu diễn bởi \(x\). Quan hệ động học thuận giữa cấu hình khớp và trạng thái của bàn tay được viết như sau:

\(x = f(q)\)

\(\dot{x} = J(q)\dot{q}\)

Trong đó, \(f(q)\) là hàm động học thuận, dùng để xác định vị trí và hướng của bàn tay từ vector góc khớp \(q\). Ma trận \(J(q)\) được gọi là ma trận Jacobi (Jacobian matrix). Ma trận này cho biết khi các góc khớp thay đổi thì vị trí và hướng của bàn tay sẽ thay đổi như thế nào.

Khi robot cần xoay tua vít, kéo tay nắm hoặc di chuyển một vật theo hướng xác định, bộ điều khiển phải tính vận tốc khớp \(\dot{q}\) sao cho bàn tay đạt được vận tốc mong muốn \(\dot{x}\).

Khi bàn tay tác dụng lực \(F\) lên môi trường, lực này được chuyển thành mô men tại các khớp \(\tau\) theo quan hệ:

\(\tau = J(q)^{T}F\)

Trong đó, \(J(q)^{T}\) là ma trận chuyển vị của ma trận Jacobi. Quan hệ này cho thấy lực tác dụng tại bàn tay sẽ tạo ra mô men tương ứng tại vai, khuỷu và cổ tay.

Điều này giải thích vì sao cùng nâng một vật nhưng các tư thế cánh tay khác nhau lại tạo ra mức tải khác nhau lên các khớp. Khi cánh tay duỗi xa khỏi cơ thể, chiều dài cánh tay đòn tăng, làm mô men tại vai và khuỷu lớn hơn. Vì vậy, humanoid không chỉ cần đưa bàn tay chạm tới vật mà còn phải lựa chọn tư thế phù hợp để tạo đủ lực, duy trì ổn định và tránh làm quá tải các khớp.

image.png


Vì sao hai chân vừa hữu ích vừa phiền phức?

Hai chân giúp robot di chuyển qua những khu vực được thiết kế cho con người, đặc biệt là cầu thang, bậc cửa, lối đi hẹp và nơi có nhiều vật cản. Robot bánh xe có thể gặp khó khăn khi chiều cao của bậc lớn hơn bán kính bánh hoặc khi khu vực đó không có đường dốc.

Tuy nhiên, cơ thể hai chân có một nhược điểm cơ bản về khả năng giữ thăng bằng. Khi robot đứng bằng hai bàn chân, vùng đỡ đã tương đối nhỏ. Khi robot bước và nhấc một chân lên, vùng đỡ chỉ còn phần diện tích tiếp xúc của bàn chân còn lại. Vì vậy, robot phải liên tục điều chỉnh tư thế để giữ điểm tác dụng của hợp lực tiếp xúc trong vùng mà bàn chân có thể tạo phản lực với mặt đất.

Một mô hình thường được sử dụng để giải thích trạng thái ổn định này là điểm mô men bằng không, hay Zero Moment Point. Trong mô hình con lắc ngược tuyến tính đơn giản, tọa độ ZMP theo phương chuyển động được biểu diễn gần đúng như sau:

\(x_{ZMP}=x_{COM}-\frac{z_{COM}}{g}\ddot{x}_{COM}\)

Trong đó, \(x_{COM}\) là vị trí theo phương ngang của trọng tâm; \(z_{COM}\) là độ cao của trọng tâm; \(g\) là gia tốc trọng trường; còn \(\ddot{x}_{COM}\) là gia tốc theo phương ngang của trọng tâm.

Công thức cho thấy vị trí của ZMP không chỉ phụ thuộc vào vị trí trọng tâm mà còn phụ thuộc vào gia tốc chuyển động của thân robot. Khi robot tăng tốc thân về phía trước, ZMP sẽ dịch chuyển theo hướng ngược lại so với thành phần gia tốc. Nếu ZMP dịch chuyển ra ngoài vùng đỡ, bàn chân không còn khả năng tạo ra mô men cần thiết để duy trì trạng thái tiếp xúc hiện tại.

Điều kiện ổn định có thể được biểu diễn ngắn gọn như sau:

\(p_{ZMP}\in P_{support}\)

Trong đó, \(p_{ZMP}\) là vị trí của điểm mô men bằng không, còn \(P_{support}\) là đa giác đỡ được tạo bởi các vùng tiếp xúc giữa bàn chân và mặt đất.

Điều kiện trên chỉ là một cách mô tả đơn giản. Trong robot thực tế, khả năng giữ thăng bằng còn phụ thuộc vào xung lượng góc, hệ số ma sát, độ mềm của bàn chân, lực va chạm khi tiếp đất và khả năng chủ động đặt một bước mới. Tuy nhiên, mô hình này đủ để giải thích vì sao humanoid khó giữ thăng bằng hơn robot có bệ đỡ rộng.

Động lực học toàn thân

Điểm khó nhất của humanoid là các bộ phận trên cơ thể không hoạt động độc lập mà liên tục ảnh hưởng lẫn nhau. Khi cánh tay nâng một vật, vị trí trọng tâm của toàn bộ robot sẽ thay đổi. Khi thân xoay nhanh, hai chân phải tạo phản lực để cân bằng xung lượng. Khi bàn chân tiếp xúc với mặt sàn, lực va chạm sẽ truyền ngược qua cổ chân, đầu gối, hông và thân robot.

Động lực học tổng quát của một robot nhiều khớp có thể được biểu diễn như sau:

\(M(q)\ddot{q}+C(q,\dot{q})\dot{q}+g(q)=S^{T}\tau+J_{c}(q)^{T}\lambda\)

Trong đó, \(q\) là vector vị trí của các khớp; \(\dot{q}\) là vector vận tốc khớp; còn \(\ddot{q}\) là vector gia tốc khớp.

Ma trận \(M(q)\) là ma trận quán tính của toàn bộ robot. Ma trận này mô tả mức độ chống lại sự thay đổi chuyển động của cơ thể tại cấu hình \(q\). Khi vị trí của tay, chân hoặc thân thay đổi, sự phân bố khối lượng thay đổi theo và ma trận \(M(q)\) cũng thay đổi.

Thành phần \(C(q,\dot{q})\dot{q}\) biểu diễn các mô men phát sinh do lực Coriolis và lực ly tâm. Các lực này xuất hiện khi nhiều khớp chuyển động đồng thời và ảnh hưởng lẫn nhau.

Thành phần \(g(q)\) biểu diễn mô men do trọng lực tác dụng lên các khớp. Ngay cả khi robot đứng yên, động cơ vẫn có thể phải tạo mô men để giữ tay, thân và chân ở tư thế hiện tại.

Vector \(\tau\) là mô men do các động cơ tạo ra tại những khớp có cơ cấu chấp hành. Ma trận \(S^{T}\) dùng để ánh xạ các mô men điều khiển này vào toàn bộ hệ khớp của robot.

Vector \(\lambda\) biểu diễn các lực tiếp xúc giữa robot với môi trường, chẳng hạn lực tại bàn chân khi đứng trên sàn hoặc lực tại bàn tay khi đẩy một vật. Ma trận \(J_{c}(q)\) là ma trận Jacobi tại các điểm tiếp xúc. Thành phần \(J_{c}(q)^{T}\lambda\) chuyển các lực tiếp xúc thành mô men tương ứng tại các khớp.

Phương trình trên cho thấy không thể điều khiển từng khớp của humanoid như những bộ phận hoàn toàn độc lập. Khi một khớp chuyển động, quán tính, trọng lực và lực phản ứng có thể xuất hiện ở nhiều khớp khác. Chẳng hạn, khi robot đưa cánh tay ra phía trước, trọng tâm dịch chuyển theo, khiến hông, đầu gối và cổ chân phải đồng thời điều chỉnh để robot không bị ngã.

Vì vậy, bộ điều khiển toàn thân, hay whole body controller, phải phân phối mô men \(\tau\) cho nhiều khớp cùng lúc. Mục tiêu là giúp robot vừa hoàn thành thao tác, vừa giữ được các điểm tiếp xúc, duy trì thăng bằng và không vượt quá giới hạn mô men của động cơ.

image.png

Năng lượng, tải trọng và độ bền

Một robot bánh xe di chuyển trên mặt sàn phẳng chủ yếu chỉ cần tạo lực để thắng ma sát lăn, lực cản và thay đổi vận tốc. Trong khi đó, humanoid phải liên tục tạo mô men tại cổ chân, đầu gối và khớp hông để giữ tư thế. Khi bước đi, robot còn phải tăng tốc rồi giảm tốc các đoạn chân trong từng chu kỳ chuyển động. Vì vậy, khi di chuyển cùng một quãng đường trên mặt phẳng, humanoid thường tiêu thụ nhiều năng lượng hơn robot bánh xe.

Tổng năng lượng tiêu thụ trong khoảng thời gian từ \(t_0\) đến \(t_1\) có thể được mô tả gần đúng như sau:

\(E=\int_{t_0}^{t_1}\left[\sum_{i=1}^{n}\frac{\left|\tau_i\dot{q}_i\right|}{\eta_i}+P_{compute}+P_{sensor}+P_{aux}\right]dt\)

Trong đó, \(E\) là tổng năng lượng tiêu thụ; \(\tau_i\) là mô men tại khớp thứ \(i\); \(\dot{q}_i\) là vận tốc góc của khớp thứ \(i\); còn \(\eta_i\) là hiệu suất của động cơ và bộ truyền tại khớp đó.

Công suất cơ học tức thời tại khớp thứ \(i\) được biểu diễn bởi:

\(P_i=\tau_i\dot{q}_i\)

Do mô men và vận tốc góc có thể mang dấu khác nhau tùy theo chiều chuyển động, giá trị \(\left|\tau_i\dot{q}_i\right|\) được sử dụng trong mô hình gần đúng để biểu diễn độ lớn công suất cơ học tại khớp.

Thành phần \(P_{compute}\) là công suất tiêu thụ của hệ thống tính toán; \(P_{sensor}\) là công suất của camera, cảm biến lực, IMU và các cảm biến khác; còn \(P_{aux}\) là công suất của những thiết bị phụ trợ như hệ thống làm mát, truyền thông và điều khiển nguồn.

Công thức cho thấy năng lượng của humanoid không chỉ được sử dụng để tạo chuyển động. Một phần năng lượng còn được dùng để giữ tư thế, xử lý dữ liệu cảm biến và duy trì hoạt động của toàn bộ hệ thống điện tử.

Vị trí đặt động cơ cũng ảnh hưởng trực tiếp đến mức tiêu thụ năng lượng. Khi động cơ được đặt xa thân, chẳng hạn tại cẳng tay hoặc cẳng chân, mô men quán tính của đoạn chi sẽ tăng. Các khớp nằm gần thân phải tạo mô men lớn hơn để tăng tốc và giảm tốc phần khối lượng này.

Mô men quán tính tổng quát của một vật đối với một trục quay được biểu diễn bởi:

\(I=\int r^2\,dm\)

Trong trường hợp đơn giản, nếu coi động cơ hoặc một bộ phận của robot là khối lượng điểm \(m\) nằm cách trục quay một khoảng \(r\), mô men quán tính được tính gần đúng bằng:

\(I=mr^2\)

Trong đó, \(I\) là mô men quán tính; \(m\) là khối lượng; còn \(r\) là khoảng cách từ khối lượng đến trục quay. Khi khoảng cách \(r\) tăng, mô men quán tính tăng theo bình phương của khoảng cách. Vì vậy, chỉ cần đưa một động cơ nặng ra xa khớp hông hoặc khớp vai cũng có thể làm tải động lực học tăng đáng kể.

Mô men cần thiết để tạo gia tốc góc có thể được mô tả gần đúng bằng:

\(\tau=I\alpha\)

Trong đó, \(\alpha\) là gia tốc góc. Khi mô men quán tính \(I\) tăng, động cơ phải tạo mô men \(\tau\) lớn hơn để đạt cùng một gia tốc góc.

Để giảm quán tính của tay và chân, nhiều thiết kế đặt động cơ nặng gần thân rồi truyền lực đến các khớp bằng cáp, đai, bánh răng hoặc thanh truyền. Cách bố trí này làm phần chi nhẹ hơn và dễ tăng tốc hơn. Tuy nhiên, nó cũng khiến hệ truyền động trở nên phức tạp, khó hiệu chỉnh và khó bảo trì hơn.

Humanoid còn phải đối mặt với rủi ro ngã. Khi robot đang đứng bị mất thăng bằng, thế năng trọng trường của cơ thể sẽ chuyển thành động năng và năng lượng va chạm. Năng lượng có thể giải phóng khi trọng tâm robot hạ xuống một khoảng \(\Delta h\) được ước lượng gần đúng bằng:

\(E_{fall}\approx mg\Delta h\)

Trong đó, \(E_{fall}\) là phần thế năng có thể chuyển thành năng lượng va chạm; \(m\) là khối lượng của robot; \(g\) là gia tốc trọng trường; còn \(\Delta h\) là độ giảm độ cao của trọng tâm trong quá trình robot ngã.

Công thức cho thấy robot càng nặng và trọng tâm hạ xuống càng nhiều thì năng lượng va đập khi ngã càng lớn. Một humanoid có khối lượng lớn không chỉ cần động cơ mạnh hơn để di chuyển mà còn tạo ra nguy cơ va chạm nghiêm trọng hơn đối với con người, thiết bị và chính bản thân robot.

Do đó, tăng tải trọng cho humanoid không đơn giản chỉ là lắp động cơ có công suất lớn hơn. Nhà thiết kế còn phải tăng độ bền của khung, khả năng hấp thụ va chạm, cơ chế giới hạn lực, khả năng phát hiện mất thăng bằng và chiến lược ngã an toàn. Đây là một trong những lý do khiến bài toán năng lượng, tải trọng và an toàn của humanoid luôn gắn chặt với nhau.

Robot lai thường hợp lý hơn

Nếu một môi trường phần lớn là sàn phẳng nhưng vẫn yêu cầu dùng công cụ của con người, giải pháp hợp lý có thể là thân trên có hai tay đặt trên bệ bánh xe. Robot giữ được tầm với và khả năng thao tác nhưng không phải trả toàn bộ chi phí của hai chân.

Nếu môi trường gồ ghề nhưng nhiệm vụ chỉ cần một số thao tác đơn giản, bốn chân gắn một cánh tay có thể hiệu quả hơn. Nếu robot thường di chuyển trên sàn nhưng đôi lúc phải vượt bậc, chân có bánh hoặc bánh gắn ở bàn chân có thể kết hợp hai chế độ.

Như vậy, hình thái không phải lựa chọn nhị phân giữa giống người và không giống người. Nó là một phổ thiết kế. Nhà thiết kế có thể giữ lại phần giải phẫu mang lại khả năng tương thích và bỏ phần không cần thiết.

image.png

Humanoid phù hợp khi môi trường không thể hoặc không đáng để thiết kế lại, nhiệm vụ thường xuyên thay đổi, robot phải đi qua các khu vực vốn dành cho người và phải sử dụng nhiều loại công cụ hiện có. Giá trị của nó tăng khi một robot phải hoàn thành cả chuỗi công việc thay vì chỉ một động tác.

Ngược lại, nếu nhiệm vụ lặp lại, vị trí cố định, yêu cầu độ chính xác cao hoặc tải trọng lớn, robot chuyên dụng thường hợp lý hơn. Nếu toàn bộ mặt bằng là sàn phẳng, bánh xe có thể tốt hơn. Nếu chỉ cần vượt địa hình và quan sát, bốn chân có thể đủ. Nếu chỉ cần hàn hoặc gắp đặt, tay máy cố định sẽ ít phức tạp hơn.

Có thể tóm tắt quyết định lựa chọn hình thái bằng một bất đẳng thức mang tính khái niệm:

Chọn humanoid khi:

\(V_{compatibility}+V_{multitask}+V_{reuse}>C_{balance}+C_{energy}+C_{safety}+C_{maintenance}\)

Vế trái là giá trị nhận được từ khả năng tương thích với không gian người, khả năng làm nhiều nhiệm vụ và khả năng dùng lại công cụ, dữ liệu cùng quy trình. Vế phải là phần chi phí phải trả cho giữ thăng bằng, năng lượng, an toàn và bảo trì.

Kết luận quan trọng nhất là robot không cần giống người vì con người là cấu trúc hoàn hảo. Robot giống người vì thế giới quanh nó đã được con người xây dựng theo hình dạng của mình. Humanoid là một cách đưa máy vào thế giới hiện hữu mà không phải xây lại toàn bộ thế giới đó.

Tuy nhiên, sao chép cơ thể người chỉ nên dừng ở mức cần thiết cho nhiệm vụ. Không cần khuôn mặt nếu chỉ làm việc trong kho. Không cần năm ngón tay nếu một bộ kẹp ba ngón đã sử dụng được toàn bộ dụng cụ cần thiết. Không cần hai chân nếu môi trường chỉ có sàn phẳng. Thiết kế tốt không phải là thiết kế giống người nhất, mà là thiết kế giữ đúng những phần giải phẫu tạo ra giá trị.