8 điểm bởi GN⁺ 2025-07-16 | 1 bình luận | Chia sẻ qua WhatsApp
  • Shoggoth Mini là một robot xúc tu mềm sử dụng GPT-4ohọc tăng cường để tạo ra các chuyển động tự nhiên và giàu biểu cảm
  • Khác với các robot gia dụng hiện có, nó được thiết kế để có thể biểu đạt trạng thái nội tại hoặc ý định khi tương tác với con người
  • Bài viết mô tả chi tiết toàn bộ quá trình, từ thiết kế phần cứng đến phần mềm, cũng như hệ thống nhận diện và điều khiển bằng camera
  • Bằng cách ánh xạ trực quan đầu vào trackpad 2D sang điều khiển xúc tu 3D, khả năng sử dụng được cải thiện; đồng thời việc kết hợp thị giác máy tính hiện đại với công nghệ RL giúp đảm bảo độ chính xác và tính biểu cảm của chuyển động
  • Phần kết bàn về sự cân bằng giữa cảm giác sống động của robot, tính khó đoán và sự thân thiện với con người, đồng thời đưa ra các ý tưởng mở rộng trong tương lai

Giới thiệu và bối cảnh

  • Trong khoảng một năm gần đây, lĩnh vực robotics đã phát triển nhanh chóng khi kết hợp với thời đại của mô hình ngôn ngữ lớn (LLM)
  • Điển hình như π0.5 hay Tesla Optimus có thể hiểu mệnh lệnh bằng ngôn ngữ và thực hiện hành động thực tế, nhưng phần lớn vẫn dừng ở mức robot chức năng
  • Tác giả chỉ ra rằng trong tương tác người-máy, yếu tố cốt lõi để truyền đạt sự tự nhiên cũng như trạng thái nội tại (ý định, sự chú ý, độ tự tin, v.v.) là "tính biểu cảm (expressiveness)"
  • Lấy cảm hứng từ chiếc đèn mang cảm giác Pixar (Apple ELEGNT) và SpiRobs, vốn chỉ với những chuyển động đơn giản cũng tạo ra cảm giác kỳ lạ như đang “sống”, tác giả quan tâm đến sự khác biệt giữa biểu đạt được thiết kế có chủ ý và cảm giác sống động xuất hiện ngẫu nhiên
  • Để thử nghiệm điều đó, tác giả bắt tay chế tạo Shoggoth Mini và chia sẻ quá trình thiết kế cũng như những nhận ra có được thông qua ngẫu nhiên và thử nghiệm

Phần cứng

  • Phiên bản đầu tiên của testbed bắt đầu từ một cấu trúc đơn giản gồm 3 động cơ, một tấm để cố định xúc tu và một nắp vòm
  • Trong lúc in 3D bị thiếu filament nên một phần màu của mái vòm bị khác đi, vô tình tạo ra hình dạng gương mặt có quả cầu và miệng; sau đó tác giả dùng ChatGPT để khám phá các phương án thị giác và chốt hình dạng cuối cùng
  • Gắn camera stereo lên mái vòm để theo dõi xúc tu; “lỗi dự đoán” trong đôi mắt của robot lại tạo ra hiệu ứng khiến người xem tập trung ánh nhìn
  • Thiết kế spool mở có nhược điểm là cáp dễ tuột và rối; chỉ với việc thêm nắp spool đơn giản, vấn đề được giải quyết và tốc độ thử nghiệm lặp lại cũng được cải thiện
  • Việc bổ sung script hiệu chuẩn cùng chiều dài dây dự phòng giúp xử lý nhanh khâu bảo trì và điều chỉnh lực căng động cơ
  • Để giảm thiểu hiện tượng xúc tu bị chùng võng, phần xương sống (spine) được điều chỉnh dày hơn ở mức phù hợp
  • Cả bản vẽ lắp CAD và file STL dùng cho in 3D đều được công khai trong kho GitHub

Điều khiển thủ công

  • Ban đầu, tác giả đơn giản hóa việc điều khiển độ dài của 3 gân kéo (tendon) thành điều khiển 2 chiều để có thể di chuyển xúc tu một cách trực quan bằng trackpad
    • Mỗi gân kéo có một hướng chính trên mặt phẳng 2D; bằng cách chiếu vector hướng con trỏ lên từng trục, hệ thống tính ra độ thay đổi chiều dài tương ứng với lực căng cần thiết
    • Giá trị dương nghĩa là rút ngắn gân kéo, giá trị âm nghĩa là kéo dài
  • Phương thức biến đổi 2D→3D này cũng được tái sử dụng như projection layer chuẩn trong điều khiển tự động (như học tăng cường)
  • Dù phạm vi thao tác bị giới hạn, cách điều khiển này vẫn trực quan, đồng thời cải thiện rõ rệt độ phản hồi của đầu robot và trải nghiệm người dùng

Thiết kế hệ thống

  • Cấu trúc điều khiển phân cấp gồm hai lớp:
    • Ở mức thấp, robot hoạt động bằng các chính sách open-loop (ví dụ: <yes>, <shake>) và các chính sách RL closed-loop (ví dụ: theo dõi ngón tay); việc theo dõi đầu xúc tu/vị trí bàn tay do pipeline dựa trên thị giác stereo đảm nhiệm
    • Ở mức cao, GPT-4o xử lý giọng nói/văn bản theo thời gian thực (thị giác chưa được công bố); các sự kiện video như vẫy tay được chuyển thành cue dạng văn bản để đưa vào GPT-4o và quyết định lời gọi API
  • Thay vì tích hợp trực tiếp end-to-end kiểu vision-language-action (VLA) dựa trên mô hình lớn, hệ thống được thiết kế theo cấu trúc tầng bậc gồm thị giác chuyên dụng và các bộ điều khiển nhẹ tách biệt
  • Việc điều chỉnh phạm vi quan sát của RL, thêm hành vi trở về vị trí tự nhiên một cách mềm mại, và áp dụng trạng thái idle (chế độ “thở”) giữa các lần gọi API giúp tăng cảm giác robot đang “sống”
  • Do các giới hạn thực tế của VLA (ví dụ: vấn đề hiệu chỉnh theo thời gian), prompt engineering trở thành một yếu tố quan trọng

Nhận thức và cảm nhận

  • Kết hợp MediaPipe để theo dõi tay với bộ dữ liệu tùy chỉnh và mô hình YOLO để theo dõi đầu xúc tu
    • Sử dụng k-means clustering, auto-labeling/active learning của Roboflow và Segment Anything để tăng cường bộ dữ liệu và gán nhãn chính xác hơn
    • Huấn luyện bằng Ultralytics YOLO, đồng thời dùng notebook DeepLabCut để ước lượng tham số nội/ngoại tại của camera và triển khai tam giác hóa 3D
  • Việc theo dõi vị trí 3D của tay và xúc tu theo thời gian thực giúp hiện thực hóa điều khiển closed-loop vững chắc

API điều khiển mức thấp

  • Khác với robot thân cứng, robot mềm khó áp dụng tốt động học nghịch, vì vậy phương thức 2D control projection được áp dụng nhất quán
  • Phần xương sống được làm dày hơn để bảo đảm khả năng tái lập chuyển động giữa các phiên làm việc
  • Thông qua các thử nghiệm như động tác gắp vật (grab), tác giả phát hiện độ bền cơ học riêng của robot mềm, tức khả năng hấp thụ sự đa dạng về hình dạng/trọng lượng của vật thể được cầm nắm
  • Dù khó thao tác vi mô ở tần số cao, các thao tác cơ bản lại ổn định hơn mong đợi chỉ nhờ thiết kế cơ khí

Học tăng cường (RL)

  • RL được áp dụng từ các chính sách đơn giản như theo dõi ngón tay người dùng; trong trình mô phỏng MuJoCo, việc domain randomization động (PPO, MLP, frame stacking, ngẫu nhiên hóa khối lượng/ma sát/giảm chấn) giúp cải thiện khả năng chuyển từ mô phỏng sang thực tế
  • Ban đầu, độ dài tendon được dùng trực tiếp làm action space, nhưng dẫn đến reward hacking và thất bại khi chuyển sang hệ thống thực
  • Bằng cách giới hạn action qua phương thức 2D projection, hệ thống kìm hãm được các chuyển động phi thực tế (hỗn loạn, rung lắc, v.v.) và cho thấy khả năng mở rộng dần sang điều khiển bậc cao hơn bằng curriculum learning
  • Để giảm rung giật (jitter) do thay đổi action quá đột ngột, phần thưởng được bổ sung hạng mục penalty và action được làm mượt bằng EMA

Kết luận và hướng đi tương lai

  • Cảm giác khó đoán và còn chỗ để diễn giải mà tác giả cảm nhận lúc đầu từng tạo nên ấn tượng “đang sống” (aliveness), nhưng khi quá trình phân tích và nội tại hóa tiến triển, sự tươi mới của phản hồi dần biến mất
  • Tác giả nhấn mạnh rằng sự cân bằng giữa tính biểu cảm (truyền đạt ý định) và cảm giác sống động (tính khó đoán) là yếu tố quyết định trong tương tác người-robot
  • Các ý tưởng mở rộng trong tương lai:
    • Trang bị giọng nói phi nhân loại
    • Gỡ bỏ ràng buộc 2D
    • Đa dạng hóa hành vi biểu đạt bằng RLHF, v.v.
    • Bổ sung thêm xúc tu và triển khai khả năng tự di chuyển
    • Áp dụng động cơ direct-drive để giảm tiếng ồn
  • Mã nguồn và các tệp được cung cấp trong kho GitHub, đồng thời tác giả hoan nghênh hợp tác và thảo luận

1 bình luận

 
GN⁺ 2025-07-16
Ý kiến trên Hacker News
  • Cảm thấy đây là một cuộc gặp gỡ thú vị giữa công nghệ và tâm lý con người; lúc đầu con robot tạo cảm giác rất sống động, nhưng sau một thời gian sử dụng, khi chuyển động của nó trở nên dễ đoán hơn thì cảm giác nó còn “sống” cũng dần giảm đi. “Khả năng biểu đạt” liên quan đến việc truyền tải trạng thái nội tại, còn “sinh khí” lại bắt nguồn từ tính khó dự đoán và một mức độ mờ đục nhất định, vì các hệ thống thực sự sống phải theo dõi nhiều biến số phức tạp và đa dạng. Shoggoth Mini chưa đạt tới mức đó. Tự hỏi liệu chúng ta có thật sự muốn một con robot khiến ta cảm thấy như nó đang sống, hay có tồn tại một giới hạn mà vượt qua đó nó sẽ trở nên quá khó đoán để con người cảm thấy thoải mái khi ở cạnh.

    • Gợi nhớ đến Furby, vì hình dáng và kích thước tương tự, có hai mắt và đôi tai chuyển động. Ban đầu thì mới lạ, nhưng chỉ cần nghịch một chút là thấy nó chỉ thể hiện số hành vi hạn chế dựa trên vài kích thích đơn giản và tổ hợp trạng thái bên trong. Nhiều người hay đùa rằng “con người cũng thế thôi mà?”, nhưng thực tế là rất nhanh sẽ nhận ra các mẫu lặp lại.

    • Giống như khi đã hiểu các quy tắc của một hệ thống game thì không còn thấy vui nữa. Dù chỉ bằng việc áp dụng quy tắc mà trông có vẻ phức tạp, người ta vẫn có cảm giác kết quả đã được định sẵn. Sự kỳ diệu ấy biến mất.

    • Con người từ lâu đã gán tính nhân hình và tính tự chủ cho lửa, nước chảy, các automata thế kỷ 18, chatbot sơ khai, ChatGPT — thậm chí cho đủ loại máy móc. Đôi khi máy móc còn trông như thể có cả “tâm trạng”.

    • Chia sẻ trải nghiệm liên quan đến trợ lý giọng nói và ngôn ngữ nhân tạo. Người này đặt trợ lý giọng nói bằng giọng Anh, vì cảm thấy nó đủ xa lạ để trở nên đáng tin hơn nhiều; có thể người Anh sẽ không thấy vậy, nhưng bản thân họ thì thấy thế. Trước đây khi tham gia phát triển game, họ từng thử tạo lời thoại NPC một cách động, nhưng để làm điều đó nghe chân thực bằng tiếng Anh thì cực kỳ khó. Cuối cùng họ để NPC nói bằng một ngôn ngữ hư cấu, và khi thêm yếu tố giải đố để người chơi học ngôn ngữ đó thì nhân vật lại cho cảm giác chân thực hơn nhiều. Thực ra vì người chơi phải dồn năng lượng vào việc dịch nên tạm quên mất đó là ngôn ngữ nhân tạo, nhờ vậy tránh được “uncanny valley”. Tuy vậy, họ vẫn tò mò không biết khi đã quen game và thành thạo ngôn ngữ hơn thì cuối cùng người chơi có nhận ra đó vẫn chỉ là một hệ thống nhân tạo được dàn dựng hay không.

  • Không hẳn là kiểu “à, nó vừa ngập ngừng”, mà đúng hơn là câu hỏi nào cũng cho cảm giác ngập ngừng giống nhau. Độ trễ khi GPT tạo phản hồi khá khó chịu, thậm chí còn khó chịu hơn độ trễ khi nối sóng bản tin. Có lẽ nếu gắn thứ như LED vào mắt để báo là đang hoạt động thì sẽ đỡ hơn. Khi chuyển truy vấn cho GPT thì kiểu gì cũng có độ trễ, đặc biệt là khi gửi yêu cầu lên cloud. Cũng chia sẻ sự lo ngại rằng việc để GPT-4o luôn nghe toàn bộ luồng âm thanh có thể gây vấn đề.

    • Với những tác vụ đơn giản thế này thì một LLM nhỏ như Qwen 0.6B là đủ. Có thể dùng khả năng zero-shot của mô hình lớn để tạo dataset riêng, rồi huấn luyện một mô hình khác nhanh hơn nhiều.

    • Về việc GPT-4o liên tục nghe âm thanh, có thể xử lý bằng thư viện wake word (ví dụ: openWakeWord, porcupine). Có thể để người dùng đánh thức bằng một từ gọi cụ thể rồi mới gửi prompt, nhờ đó cũng giảm bớt vấn đề bảo mật và quyền riêng tư. Bình thường thì hiển thị hoạt ảnh “đang ngủ”, khi được gọi thì thức dậy và phản hồi. Chia sẻ các liên kết mã nguồn mở liên quan openWakeWord porcupine

    • Không đồng ý với ý kiến cho rằng độ trễ khi GPT trả lời là khó chịu. Khi xúc tu dừng lại rồi dựng thẳng lên ngay sau đó, nó tạo cảm giác như đang tập trung lắng nghe và suy nghĩ, nên ngược lại còn thấy đáng yêu.

    • Nghĩ rằng nó cần lông mày như Johnny 5 video ví dụ về Johnny 5

    • Sau giai đoạn prototype, có thể đưa một mô hình tối ưu hóa nhỏ trực tiếp lên thiết bị cục bộ. Làm vậy sẽ nhanh hơn nhiều, an toàn hơn và phù hợp với sản phẩm cuối cùng hơn (dù ở giai đoạn prototype thì tính linh hoạt sẽ kém đi).

  • Chia sẻ video rất hay của SpiRobs, nguồn cảm hứng cho ý tưởng này video YouTube của SpiRobs

  • Thiết kế quá dễ thương. Khi nghiên cứu robot xúc tu năm ngoái, người này biết được thuật ngữ chính thức là “continuum robots”, và lĩnh vực này được nghiên cứu rất nhiều, đặc biệt trong robot y tế. Nếu muốn tìm hiểu thêm thì có một bài giảng nhập môn khá hay để tham khảo video bài giảng liên quan

  • Thật sự thấy đây là một dự án rất ngầu. Trong thời buổi AI đã có quá nhiều khả năng và robotics cũng phát triển như hiện nay, thật tiếc là người ta cứ luôn làm robot hình người. Mong một ngày trong nhà sẽ xuất hiện những robot có hình thái độc đáo hơn, như kiểu lai giữa nhện và mực.

    • Người ta tranh cãi rất nhiều về AI safety, còn tôi thì muốn một robot lai nhện-mực đi lang thang trong nhà.

    • Đây là xu hướng nhằm làm robotics tương thích nhất với thế giới dành cho con người. Nhưng việc thay đổi kiểu chân để thử nhiều lựa chọn khác nhau cũng có vẻ rất thú vị.

  • Tuyệt đối không, đã xem phim kiểu này rồi. Hoàn toàn không muốn một con facehugger ngồi trên bàn làm việc.

    • Fan Hentai có khi lại thích.

    • Nếu xúc tu dài hơn nữa, và có chương trình để nó trêu chọc từng đồng nghiệp, thì ngược lại có thể sẽ khá vui.

  • Thấy reference đến Lovecraft rất hay, và tự hỏi liệu chỉ cần mô hình nhỏ là đủ không.

    • Chia sẻ vài liên kết tham khảo về meme Shoggoth Shoggoth With Smiley Face Meme bài viết của NYT về meme Shoggoth

    • Tôi cũng nghĩ tương tự, thật ra có lẽ còn có thể đơn giản hơn nữa. Trích lại lời nhà phát triển rằng họ từng cân nhắc huấn luyện một mô hình VLA end-to-end, nhưng vì robot mềm điều khiển bằng cáp có nhiều tổ hợp độ dài cáp khác nhau cho cùng một vị trí đầu mút nên tính bất định quá cao, khiến việc học từ minh họa (dựa trên demo) không mở rộng tốt; cuối cùng họ chọn kiến trúc dạng tầng, trong đó thị giác chuyên biệt được đưa vào một bộ điều khiển nhẹ. Dù vậy, nếu thử lại với mô hình nhỏ thì sẽ rất tuyệt, và nếu gắn mô hình local lên thì đặt nó trong một vòng ngũ giác có lẽ sẽ yên tâm hơn, người này đùa vậy.

  • Đã xem đủ nhiều nội dung từ Nhật Bản để đoán được chuyện này sẽ đi về đâu.

    • May mà nó có phần đế loe ra để đảm bảo an toàn.
  • Ý tưởng tự thân đã quá tuyệt, rất bị thu hút bởi nỗ lực trao khả năng biểu đạt cho một thực thể phi ngôn ngữ, phi nhân hình.

    • Nghĩ rằng robot đèn của Pixar có thể là nguồn cảm hứng tốt. Chia sẻ nhiều ý tưởng như để robot cúi cong hoặc di chuyển thân mình, gật/lắc đầu (có/không), thể hiện cảm xúc như tò mò hay khó chịu, thậm chí thay đổi biểu cảm bằng LED.
  • Thật sự cho rằng đây là một tác phẩm rất đẹp. Điều đặc biệt ấn tượng là robot này được thiết kế sao cho không giống bất kỳ sinh vật nào trong tự nhiên. Không mong muốn một tương lai nơi ranh giới giữa robotics và thế giới thực trở nên mơ hồ; đến giờ ngay cả robot hình người vẫn còn trông rất nhân tạo, và hy vọng xu hướng đó tiếp tục.