1 điểm bởi GN⁺ 2024-02-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Một khối lập phương đứng trên một góc duy trì cân bằng bằng ba bánh phản lực và bộ điều khiển, đồng thời điều khiển cả chuyển động quay theo trục; đây là một dự án phần cứng mã nguồn mở
  • Nguyên mẫu là Cubli của ETH Zürich, còn Bobrow và cộng sự tại University of São Paulo đã bổ sung khái niệm điều khiển giúp giảm số IMU cần thiết từ 6 xuống 1
  • Vì các công trình trước đây phần lớn không công khai, người chế tạo đã reverse-engineer thiết kế cơ khí, mạch điện, cấu hình và mã, rồi công bố dưới dạng hoàn toàn mã nguồn mở
  • Phần cứng gồm kết cấu thép không gỉ và nhôm, 3 động cơ Maxon 60W, bộ điều khiển động cơ 4-quadrant, pin LiPo 6S1P, ESP32-S3 và bo mạch tùy chỉnh chứa IMU
  • Hiện tại, khối lập phương đang ở giai đoạn được con người dựng lên rồi tự giữ cân bằng; mục tiêu tiếp theo là dùng phanh cơ khí để khối lập phương tự nhảy lên vị trí cân bằng

Khối lập phương dòng Cubli được làm lại dưới dạng mã nguồn mở

  • Khối lập phương này có thể cân bằng trên một góc, đồng thời thực hiện chuyển động quay có kiểm soát quanh trục
  • Cốt lõi của hoạt động là một phương thức điều khiển thông minh và ba bánh phản lực
  • Ý tưởng nguyên mẫu bắt nguồn từ Cubli của các nhà nghiên cứu ETH Zürich
  • Sau đó, Bobrow và cộng sự tại University of São Paulo đã đưa vào khái niệm điều khiển cải tiến, giảm số IMU cần thiết từ 6 xuống 1
  • Vì các công trình trước đây phần lớn không công khai, người chế tạo đã reverse-engineer mọi thứ, vẽ lại từ đầu và công bố
  • Các tệp thiết kế, cấu hình và mã được công bố trong kho GitHub
  • BOM theo ước tính của người chế tạo vào khoảng gần €2500

Thiết bị thiên về học tập và nghiên cứu hơn là tính thực dụng

  • Bản thân khối lập phương chủ yếu là một trải nghiệm học tập và dự án nghiên cứu, không có nhiều giá trị thực dụng trực tiếp
  • Tuy vậy, bánh phản lực dùng cùng nguyên lý được sử dụng để điều khiển tư thế trong vệ tinh như James Webb telescope
  • Giống như máy phân loại M&Ms trước đây, một thiết bị nhìn bề ngoài có vẻ vô dụng vẫn có thể mang lại giá trị thực trong các ứng dụng tương tự

Kết cấu cơ khí và chế tạo

  • Toàn bộ kết cấu cơ khí nhìn chung khá giống Cubli ban đầu, nhưng có một số khác biệt ở chi tiết
  • Kết cấu cơ bản gồm 8 cornerstone và 6 face plate
    • Trong 6 face plate, 3 tấm có thêm hình dạng để đỡ cụm động cơ và bánh phản lực
  • Tất cả bộ phận được thiết kế trong Fusion 360
    • Người chế tạo cho rằng việc dùng Fusion 360 thay cho Siemens NX từng dùng trước đây giúp dễ chia sẻ thiết kế với cộng đồng DIY hơn
  • Phần lớn các bộ phận kết cấu được làm bằng thép không gỉ để đảm bảo độ bền
  • Face plate được làm bằng nhôm để giảm trọng lượng
    • Sau khi lắp ráp, độ cứng kết cấu đã đủ nên không cần làm face plate bằng thép
  • Các bộ phận kim loại được CNC tại PCBWay
    • Một phần chi phí do PCBWay tài trợ
    • Quy trình đặt hàng được dùng là tải bộ phận lên, chỉ định vật liệu rồi báo giá được tính tự động
    • Một số vấn đề nhỏ trong sản xuất được xử lý nhanh chóng, và các bộ phận ăn khớp với nhau không gặp vấn đề

Cụm động cơ và bánh phản lực

  • Bánh phản lực có thể đạt tối đa 6000 rpm, nên cần thiết kế vừa chắc chắn vừa nhẹ
  • Động cơ được nối với cầu thép không gỉ bằng ba vít đầu chìm, còn cầu được cố định vào face plate nhôm
  • Trên trục động cơ có gắn một hub nhỏ, được cố định bằng ba set screw
    • Nếu lỗ tâm của hub không vuông góc với mặt tam giác phẳng, bánh sẽ không thẳng hàng với trục động cơ, có thể gây rung và mài mòn
  • Bánh phản lực được gắn vào hub bằng ba vít đầu chìm
    • Những sai lệch rất nhỏ của hub và bánh được bù bằng cách chèn các mảnh giấy nhỏ giữa các bề mặt tiếp xúc
  • Face plate có một radial ball bearing nhỏ và được cố định bằng keo cyanoacrylate
    • Vòng bi này đỡ một đầu của trục động cơ
    • Đầu còn lại của trục được đỡ bởi vòng bi bên trong động cơ
  • Quy trình lắp ráp này được lặp lại ba lần để tạo thành một nửa khối lập phương, còn các face plate còn lại được ghép trực tiếp mà không cần lắp ráp đặc biệt
  • Để đơn giản hóa việc đi dây, một động cơ được đặt với hướng khác so với hướng chuẩn của cầu

Cấu hình điện và cơ khí

  • Giống như các balancing cube khác dùng dòng động cơ EC flat của Maxon, dự án này cũng chọn linh kiện Maxon
  • Động cơ và bộ điều khiển là các linh kiện then chốt để khối lập phương giữ cân bằng bằng mô-men xoắn
    • Nhiều động cơ DC không có datasheet nêu rõ hằng số mô-men
    • Nhiều bộ điều khiển BLDC hoặc ESC chỉ cung cấp điều khiển tốc độ, không cung cấp điều khiển dòng điện
    • Dự án này bắt buộc cần quan hệ mô-men–dòng điện và điều khiển dòng điện
  • Động cơ được chọn là Maxon 60W motor, còn bộ điều khiển động cơ 4-quadrant tương thích có thể cung cấp dòng tối đa 6A
  • 6A ở 24V tương đương gần 150W
    • Vượt quá công suất định mức của động cơ, nhưng quá tải ngắn hạn không gây vấn đề
    • Bộ điều khiển tích hợp thuật toán I2t để giới hạn dòng nếu ước tính nhiệt độ cuộn dây sẽ tăng quá cao
    • Khi giữ cân bằng, dòng điện thường rất thấp nên khả năng chạm giới hạn này trong vận hành bình thường là thấp
  • Phần mềm điều khiển động cơ Escon cung cấp chạy thử động cơ, công cụ tuning, và dashboard hiển thị trạng thái cùng I/O trong khi hoạt động

Pin và bo mạch tùy chỉnh

  • Pin sử dụng pin lithium-polymer 6S1P
    • Vì động cơ có định mức 24V, pin LiPo 6 cell với điện áp danh định 22,2V khá phù hợp
    • Dung lượng là 1300mAh, 29Wh, và thường có thể cấp nguồn cho khối lập phương ít nhất 1 giờ
  • Mainboard là thiết kế tùy chỉnh
    • Ba bộ điều khiển động cơ
    • IMU
    • Bo phát triển ESP32-S3
    • Mạch bảo vệ
    • Bộ ổn áp
    • Ngõ ra RC servo motor cho phanh cơ khí
  • Ngõ ra phanh cơ khí là phần thiết kế chuẩn bị trước để khối lập phương có thể tự jump-up lên vị trí cân bằng
  • Thiết kế phanh hiện vẫn chưa hoàn tất
  • Bo mạch được lắp ráp bằng cách phủ solder paste, đặt linh kiện dán bề mặt, reflow bằng lò nướng bánh mì nhỏ, rồi hàn thủ công các linh kiện through-hole
  • Trong quá trình tích hợp và kiểm thử, một số lỗi routing được phát hiện và sửa bằng bodge wire
    • Chỉ một trong các ngõ vào số của bộ điều khiển động cơ hỗ trợ PWM, nhưng tín hiệu PWM lại được route đến một ngõ vào không hỗ trợ
  • Một bo mạch riêng để gắn pin cũng được thiết kế
    • 2 đầu nối XT60
    • 2 công tắc mắc song song để tính đến dòng tối đa 18A

Port bộ điều khiển và điều khiển cân bằng

  • Bộ điều khiển không được thiết kế mới, mà port cubli-firmware của Fabio Bobrow từ Arm Mbed sang Arduino
  • Vi điều khiển dùng ESP32 thay vì STM32 Nucleo
  • Vì IMU dùng ICM20948 của TDK Invensense, driver tương ứng cũng được viết lại
  • Bộ điều khiển tư thế chính phải đồng thời đáp ứng hai mục tiêu mâu thuẫn nhau
    • Giữ khối lập phương ở tư thế mong muốn, tức vị trí cân bằng không ổn định
    • Giữ tốc độ bánh phản lực gần mức tối thiểu
  • Nếu không xét mục tiêu thứ hai, tốc độ bánh có thể mất kiểm soát, động cơ bị bão hòa và không thể tác dụng mô-men lên khối lập phương
  • Nếu lực cố giữ tốc độ bánh gần 0 quá lớn, khối lập phương sẽ đổ
  • Ngược lại, nếu lực đó quá yếu, tốc độ bánh có thể tăng theo đúng nghĩa là mất kiểm soát
  • Để đồng thời có hiệu năng cân bằng tốt, triệt nhiễu và tốc độ bánh thấp, cần tìm gain phù hợp

Sai số hằng và tích phân vị trí bánh

  • Bộ điều khiển cũng có cơ chế xử lý sai số hằng
  • Sai số hằng là trường hợp vị trí cân bằng được thiết lập và vị trí cân bằng thực tế hơi khác nhau do phân bố khối lượng của khối lập phương không hoàn hảo
  • Trong bộ điều khiển PID thông thường, thành phần integral xử lý loại sai số này
  • Bộ điều khiển này dùng vị trí của bánh như giá trị tích phân
  • Khi đặt một quả cà chua lên khối lập phương để thay đổi phân bố khối lượng, bánh phản lực sẽ tăng tốc rồi giảm tốc trong khi di chuyển đến vị trí mới, bù cho sai số tăng thêm

Điểm vướng trong quá trình tuning

  • Chạy thử và tuning bộ điều khiển chiếm phần lớn nhất trong các công việc liên quan đến mã
  • Trước tiên, mất vài ngày để khớp dấu của nhiều tín hiệu
  • Sau đó phải tìm gain cho bộ điều khiển
  • Phương pháp tuning trong luận văn của Bobrow không hoạt động với khối lập phương này
  • Khối lập phương này dùng bánh khác với khối lập phương của Bobrow, nên không thể tái sử dụng nguyên xi các gain
  • Sau quá trình tuning thủ công lặp đi lặp lại, hiệu năng ổn định như thấy trong video đã đạt được

Các khối lập phương tương tự và bước tiếp theo

  • Người chế tạo cho rằng đây là khối lập phương hoàn toàn mã nguồn mở đã đạt hiệu năng cân bằng tương tự Cubli
  • Các dự án tương tự được tài liệu hóa tương đối tốt gồm:
  • Mục tiêu tiếp theo là thêm phanh cơ khí vào bánh phản lực
  • Phanh có thể dừng bánh rất nhanh, tạo ra mô-men lớn hơn nhiều so với mức động cơ có thể trực tiếp tạo ra
  • Mô-men này cho phép khối lập phương tự leo lên vị trí cân bằng bằng jump-up manoeuver
  • Theo người chế tạo, hiện chỉ Cubli gốc có chức năng này
  • Cơ chế phanh của Cubli không được ưu tiên vì nhiều lý do, nên dự kiến sẽ dùng một cách tiếp cận khác

1 bình luận

 
GN⁺ 2024-02-12
Ý kiến trên Hacker News
  • Với tư cách là người có bằng thạc sĩ về điều khiển và xử lý tín hiệu rồi cuối cùng lại làm công việc nhàm chán hơn, tôi từng nghĩ việc mất nhiều ngày đảo dấu tín hiệu là do thiếu kinh nghiệm
    Hóa ra ngay cả trong phán đoán đó, tôi cũng đã chọn sai dấu

    • Một phần đáng kể của kỹ thuật là đảm bảo có số lỗi dấu chẵn
    • Trong số các vệ tinh đang ở trên quỹ đạo hiện nay cũng có những chiếc có dây bánh xe phản lực nối ngược, và trong codebase có dòng x *= -1.0; //DO NOT TOUCH
      Ai cũng làm vậy cả, nhưng thường thì người ta sẽ thử nghiệm trước khi dán nó bằng băng keo lên một khối thuốc nổ nặng hàng nghìn kg rồi bấm nút đỏ :)
    • Hiện tượng lúc nào cũng phải thử cắm USB khoảng ba lần mới đúng cũng tương tự
    • Với một người gần như không được đào tạo thêm sau đại học và thích mày mò trong gara, tôi từng nghĩ nếu được học hành bài bản thì có lẽ sẽ đỡ lãng phí thời gian hơn vào việc cứ đảo dấu cho đến khi chạy được
    • Bạn không đơn độc
      Mọi bộ điều khiển mà tôi thiết kế và triển khai cuối cùng đều khiến tôi chấp nhận thực tế rằng cần đủ unit test để bảo đảm các hành vi như dấu và hướng
  • Xem video đó thật sự ấn tượng
    Đó là trải nghiệm gần nhất với suy nghĩ “chẳng phải đây đơn giản là ma thuật sao”
    Cách nó phản ứng khi bị đẩy giống cảm giác lần đầu tiếp xúc với nam châm, nhưng giờ như thể đang nhìn thấy một lực hoàn toàn mới
    Nó tự duy trì cân bằng như một vật sống, chống lại thay đổi của môi trường, và ngay cả khi đặt một quả cà chua lên trên thì nó cũng thích nghi ngay, giống như cơ thể chúng ta thích nghi với thay đổi tải trọng
    Nếu một ngày nào đó có phiên bản nhỏ sản xuất hàng loạt giá 50 đô la bán trên Amazon, tôi nhất định muốn mua về nghịch

    • Trong video Cubli trước đây, họ còn cho thấy việc “nhảy dựng lên”, giữ thăng bằng, rồi nối tiếp bằng cú rơi có điều khiển để di chuyển
      https://youtu.be/n_6p-1J551Y?si=zvwORnuPZmgXw0S8
    • Tôi rất đồng tình rằng một số ứng dụng kỹ thuật điều khiển thật sự có thể trông như ma thuật
      Khi học lập trình, tôi từng cảm thấy “chỉ cần dành thời gian viết chương trình là có thể bắt máy tính làm bất cứ điều gì mình muốn”
      Lý thuyết điều khiển cũng đem lại cảm giác tương tự, nhưng lần này giống như đang “lập trình” các định luật vật lý để thay đổi cách thế giới thực vận hành
    • Thật ra thứ này đã khá cũ rồi
      Tìm trên YouTube sẽ thấy cả ví dụ hơn 10 năm tuổi
  • Tôi rất thích sự nghiệp kỹ sư phần mềm của mình, nhưng mặt khác cũng ước gì ngày trước mình đã học một lĩnh vực có thể bắt đầu tạo ra những thứ như thế này
    Thật sự rất ngầu

    • Tất cả những thứ này đều có thể tự học
      Giống như phần lớn chúng ta đã học lập trình vậy ;-)
      Có điều đừng bắt đầu dự án đầu tiên bằng khối lập phương tự cân bằng; hãy mua một bo Arduino hoặc ESP và bắt đầu bằng việc làm đèn LED nhấp nháy
    • Là một lập trình viên, tôi cũng có cảm giác tương tự, nhưng sau khi nhận ra chi phí để làm những thứ thú vị kiểu này như một sở thích là khá lớn, tôi thấy may mắn vì đã chọn một lĩnh vực mà chi phí thử nghiệm gần như bằng 0
      Như một phương án dung hòa, tôi đã ổn định với tự động hóa gia đình và các dự án điện tử sở thích dùng vi điều khiển như esp32, rpi pico
      Rất đáng thử nếu bạn muốn làm ra thứ gì đó có thể cầm nắm được
      Nhân tiện, tổng chi phí linh kiện của dự án khối lập phương này vào khoảng 2500 euro
    • Nó luôn rất ngầu
      Ít nhất là cho đến khi tôi phát hiện ra những công việc trên thị trường chỉ toàn là chế tạo máy móc giết người
      Với tôi là vậy, còn mỗi người có thể khác
    • https://www.adafruit.com/ là một nguồn tài nguyên tuyệt vời
      Tutorial tốt, phần giới thiệu sản phẩm và video cũng làm rất chỉn chu
      Gần như sản phẩm nào cũng có video đi kèm, nên đây là nơi rất dễ khiến bạn tiêu tiền
    • Tôi cũng từng có cùng cảm giác khát khao đó, và đã tìm được lối thoát sáng tạo trong phần cứng bằng cách làm bàn phím cơ tùy biến
      Nó cũng giúp ích cho sự nghiệp kỹ sư phần mềm nhờ tăng tốc độ, độ chính xác và hiệu quả khi lập trình
      https://www.reddit.com/r/ErgoMechKeyboards/comments/hj0q8x/f...
  • Tôi rất mong chờ phần họ nói sẽ thêm phanh cơ khí vào bánh xe phản lực để cho phép thao tác nhảy, giúp khối lập phương tự đạt đến vị trí cân bằng
    Đó luôn là phần tôi thấy ngầu nhất trong dự án Cubli
    Video: https://youtu.be/n_6p-1J551Y?t=92

    • Tôi tự hỏi liệu có hình dạng nào phù hợp với cấu trúc này hơn khối lập phương không
      Nếu muốn leo lên thì không nên là hình tròn, nhưng nếu muốn lăn xuống thì các cạnh bo tròn có vẻ tốt
      Tôi hình dung một dạng gồm hai vòng tạo thành hình cầu: xoay 90 độ để chuyển giữa chế độ lănchế độ đi bộ
    • Khi biết nguyên lý hoạt động thì cảm giác ma thuật giảm đi nhiều, nhưng hãy tưởng tượng bạn phát hiện ra một khối kim loại vo ve, không có đặc điểm gì đặc biệt
      Khối đó nhảy lên cạnh, rồi lại leo lên đỉnh và bắt đầu xoay, và có thể làm như vậy trên bất kỳ bề mặt nào
      Tôi nghĩ phần lớn những người tưởng mình quen thuộc với vật lý cũng sẽ khá bối rối, và nếu khối lập phương bất ngờ nhảy ngược từ đỉnh xuống mặt phẳng để cho thấy đó không phải là cơ cấu nhô ra giấu kín, có lẽ họ sẽ nghiêm túc nghĩ đến khả năng có ma thuật
    • Kinh ngạc thật
      Giờ chỉ cần một vỏ gỗ đẹp và một đế sạc cảm ứng phù hợp nữa là đủ
      Nếu là Kickstarter thì cứ lấy tiền của tôi đi
  • Tôi nhớ đến tàu monorail Brennan
    Một video rất thú vị https://www.youtube.com/watch?v=kUYzuAJeg3M

  • Nghệ thuật xuất sắc
    Tác phẩm khác này của cùng người làm thì hoàn toàn khác, nhưng xem cũng thú vị không kém: https://www.youtube.com/watch?v=P9jyNIWsRvI
    Mình thật sự thích những kỹ sư làm nghệ thuật

    • Nếu thích những thứ như vậy thì chắc chắn bạn cũng sẽ thích Balance from Within của Jacob Tonski
      Đây là một tác phẩm gắn bánh đà phản lực vào một chiếc sofa 170 năm tuổi, khiến nó đứng trên một chân một cách khó tin
      Cuối cùng, khi bánh đà phản lực đạt tới giới hạn, chiếc sofa đổ xuống và phát nổ; nếu hỏi tác giả thì có lẽ ông ấy sẽ nói nó trông giống như một mối quan hệ con người
      Dạo này cũng khó mà không liên tưởng đến chính trị
      Tác phẩm này cũng được Prix Ars Electronica, một vinh dự rất cao trong thể loại này, công nhận
      Video: https://www.youtube.com/watch?v=uQRP-b68fnE
      Bài viết: https://ars.electronica.art/aeblog/en/2014/07/02/auf-der-suc...
    • Mình nhớ vài năm trước từng xem máy phân loại M&M của anh ấy: https://www.youtube.com/watch?v=ceGlMV4sHnk
    • Mình không chắc dự án kia có thể gọi là hoàn toàn khác được
      Thật ra có vẻ hai thứ này có thể kết hợp với nhau khá dễ
    • Giờ chỉ cần làm cho nó chạy êm để thật sự đặt được trong phòng khách là tốt rồi ;)
  • Chủ nhật nào mình cũng thường hào hứng vì đạt tới một tầm cao mới bằng code, cảm thấy hài lòng vì đã đẩy sự bền bỉ và sáng tạo của mình đi xa hơn; nhưng đọc những bài như thế này thì thấy hoàn toàn bất lực
    Mình thiếu kiên nhẫn và thậm chí còn quá sợ để thử làm những thứ như vậy

    • Đây là một lĩnh vực khá trực giao với những gì chúng ta làm
      Vài tuần qua mình bắt đầu học React như một dự án phụ, và khá tự hào khi làm được thứ mà bạn bè thật sự có thể dùng
      Tất nhiên là không có yếu tố “wow”, nhưng khi làm cũng không tốn 2500 đô la, và cũng không cần chi phí học tập kéo dài nhiều năm, thậm chí hàng chục năm
    • Nếu nản lòng chỉ vì người khác làm việc gì đó giỏi hơn mình, thì cuộc sống sẽ khá vất vả
      Trong bất kỳ lĩnh vực nào, số người trở thành giỏi nhất thế giới đều rất ít, nhưng điều đó không quan trọng
      Sự thật đó không thay đổi những gì mình có thể làm
    • Bạn có thể bắt đầu bằng cách làm theo các tutorial cơ bản và mua kit ở những nơi như Adafruit
      Khá nhiều kit thậm chí không cần hàn
      Bắt đầu từ con số không hoàn toàn là quá khó, vì bạn phải tự tìm hiểu linh kiện nào khớp với nhau, cần bao nhiêu điện năng, v.v.
    • Ở đây tốt nhất là trước hết loại bỏ hai chiều
      Như vậy sẽ dễ hơn nhiều, và cũng có thể dùng linh kiện có sẵn hoặc linh kiện làm thủ công
  • Thật ra mình bị thu hút bởi ngoại hình ngầu của chính món đồ hơn là chuyện nó giữ thăng bằng

    • Mình cũng vậy
      Mình lập tức tìm xem có bán không, và có vẻ nếu tự làm thì tốn khoảng 2500 đô la
  • Có thể gọi là liều lĩnh cũng được, nhưng nếu có một phiên bản lớn hơn với các điểm bám dọc theo các cạnh, mình sẵn sàng trả tiền để leo thử
    Mình muốn tự cảm nhận nó phản ứng thế nào với chuyển động của mình

    • Có lẽ sẽ giống cảm giác leo một bức tường thạch hoặc leo núi trong lúc động đất
      Một thí nghiệm tư duy thú vị
  • Mình tự hỏi ý tưởng làm cho nó tự nằm xuống lại trên bộ sạc Qi hoặc pogo pin khi pin yếu hoặc khi bánh đà điều khiển phản lực bị bão hòa thì sẽ thế nào
    Có lẽ đó là việc sau khi gắn phanh để nó có thể tự đứng dậy

    • Mình cũng tò mò liệu có thể đặt cuộn dây ở các đỉnh để cấp điện liên tục không
      Khoảng cách có thể là một vấn đề