- Việc nhập môn robotics ngày càng dễ hơn, nhưng để có năng lực thực sự thì vẫn cần trải nghiệm nền tảng một cách rộng khắp ở nhiều lĩnh vực như phần cứng, phần mềm và toán học
- Chỉ học qua các khóa online thì có giới hạn, và quá trình tự tay làm robot, thử sai rồi sửa mới là phần học lớn nhất
- Khuyến nghị bắt đầu từ các dự án nhỏ (ví dụ: robot dò line, xe RC + Arduino, Lego, mini robot...) rồi dần mở rộng sang điều khiển phức tạp hơn, phần cứng và mô phỏng
- Hệ sinh thái công cụ chi phí thấp, hiệu quả cao như máy in 3D, kit giá rẻ, simulator đang ngày càng phát triển, giúp việc tiếp cận trở nên dễ dàng hơn
- Cũng cần tận dụng tích cực nhiều mã nguồn mở, framework thực hành và phương pháp học qua game như ROS/LeRobot, PID, lý thuyết điều khiển, thiết kế mạch và kết cấu
Tóm tắt lời khuyên nhập môn học robotics
1. Ưu tiên thực hành, tự tay làm thử
2. Nhấn mạnh việc học tích hợp đa lĩnh vực
- Robotics là lĩnh vực tổng hợp, nơi cơ khí, điện tử, điều khiển và phần mềm đều kết hợp với nhau
- Sau khi trải nghiệm mỗi mảng dù chỉ ở mức cơ bản, việc đào sâu vào thế mạnh riêng của mình sẽ hiệu quả hơn cho sự phát triển lâu dài
- Hướng đến việc trở thành một “chuyên gia đồng thời là người tổng quát” là chiến lược sinh tồn dài hạn
- Liên quan: xem qua sách Exploring Beaglebone
3. Giá trị của trải nghiệm phần cứng thật và thất bại
4. Tận dụng lý thuyết điều khiển cơ bản và công cụ
- Nhất định nên trải nghiệm các nền tảng lý thuyết cơ bản như điều khiển PID, mạch điện cơ bản, thiết kế cơ cấu
- Tận dụng framework mã nguồn mở và tutorial như ROS(ros.org), LeRobot(huggingface.co/lerobot), MoveIt(moveit.ros.org), Nav2(navigation.ros.org), mcap.dev(mcap.dev), foxglove.dev(foxglove.dev)
- Có nhiều nền tảng đa dạng như Arduino, Raspberry Pi, Jetson Nano, embedded platform zephyr project
5. Dự án tự định hướng và cộng đồng
- Nếu xác định trước một mục tiêu cụ thể (ví dụ: video chế tạo TurtleBot, dự án cánh tay robot) thì động lực học sẽ cao hơn
- Khuyến nghị tham gia hackathon (LeRobot hackathon), ROS Meetup, v.v.
- Kinh nghiệm đụng tới toàn bộ hệ thống như thiết kế phần cứng, tích hợp phần mềm, tận dụng cảm biến là rất quan trọng
6. Ứng dụng AI/ML và xu hướng mới nhất
- Nếu học thêm các công cụ AI/ML như điều khiển dựa trên AI, lập kế hoạch đường đi, nhận dạng đối tượng (Hugging Face LeRobot), bạn có thể phát triển robot phù hợp với xu hướng mới nhất
- Chia sẻ dataset cho huấn luyện/đánh giá mô hình: app.destroyrobots.com
7. Một vài lời khuyên thực tế khác
Kết luận
- “Tự tay làm, thất bại, rồi thử lại” là cốt lõi của việc học robotics
- Hãy giữ sự cân bằng giữa phần mềm và phần cứng, giữa lý thuyết và thực hành, đồng thời chọn điểm khởi đầu phù hợp nhất với hứng thú và hoàn cảnh của bản thân
- Nếu tích cực tận dụng cộng đồng, hackathon, mã nguồn mở, kit, game, simulator và các nguồn lực khác, bất kỳ ai cũng có thể thử sức với robotics
1 bình luận
Ý kiến trên Hacker News
Chia sẻ trải nghiệm, khuyên dùng khóa học miễn phí robotics_essentials_ros2 Từ kinh nghiệm thiết kế phần cứng robot, người viết cảm thấy phía phần mềm thú vị và có nhiều phần thưởng hơn, nhưng nhấn mạnh rằng việc tích lũy kỹ năng ở nhiều lĩnh vực là cực kỳ hữu ích Sau khi học xong khóa, đề xuất khám phá mảng embedded, ví dụ như zephyr project Nếu muốn nhập môn phần cơ khí, khuyên mua A1 mini và tự thiết kế các chi tiết đơn giản như giá đỡ motor, bo mạch, gripper... bằng onshape(www.onshape.com) Điện điện tử cần cẩn thận vì sai sót có thể tốn kém, nên bắt đầu từ các bài thực hành nhỏ với những bo mạch giá rẻ như RP2040 hoặc RP2350, rồi trải nghiệm H-bridge, động cơ chổi than trước khi mở rộng sang điều khiển động cơ không chổi than Mẹo tận dụng mỏ hàn giá rẻ và các bản clone tương thích đầu tip JBC C245 Khuyên tìm các buổi meetup về ROS, đồng thời đừng quên mục tiêu cuối cùng và hãy tiếp tục hành trình theo nhịp độ của riêng mình
Từ kinh nghiệm làm việc trong lĩnh vực robotics, nêu quan điểm rằng chỉ học ROS2 qua các khóa online thì khó có thể thực sự gọi là “học robotics” Robotics là một lĩnh vực phức hợp kết hợp phần cứng, phần mềm, toán học và kỹ thuật, nên khuyên thử một dự án tự làm robot hút bụi từ đầu đến cuối Bản thân chức năng hút bụi không quan trọng, điều quan trọng hơn là hiện thực hóa một robot tự hành kiểu “TurtleBot” để trực tiếp trải nghiệm quá trình thiết kế và giải quyết vấn đề Cần hiểu được know-how thực tế khi áp dụng vào nhiều hệ thống xung quanh đời sống như xe cộ, drone, mobility cỡ nhỏ, thiết bị xây dựng...
Chia sẻ một băn khoăn rất thật rằng trở ngại lớn nhất trong hành trình học robotics là không cảm nhận được chính một mục đích khách quan rõ ràng Việc làm ra robot ngầu đôi khi chỉ giống như chơi đồ chơi, và rất khó thoát khỏi suy nghĩ đó Dựa trên kinh nghiệm học mechatronics ở đại học và tự học, người viết có nhận thức cá nhân rằng việc một mình tạo ra robot đáng tin cậy và hiệu quả là cực kỳ khó về mặt kinh doanh
Chia sẻ rằng đã học được rất nhiều điều từ cuốn “Exploring Beaglebone”, đặc biệt là các nội dung hữu ích cho thực hành phần cứng và việc học từ sai lầm Có kèm thông tin chi tiết như ISBN và nhấn mạnh rằng cách triển khai mạch bảo vệ điện áp là một mẹo tiết kiệm chi phí rất lớn trong thực tế
Nhấn mạnh sức hấp dẫn lớn nhất của robotics là cảm giác thỏa mãn khi sản phẩm mình tạo ra được hiện thực hóa trong thế giới thực
Nêu thắc mắc về việc kinh nghiệm lập trình RP2040 hay RP2350 có thể liên hệ như thế nào với các nền tảng thương mại như SIEMENS SIMATIC
Quan điểm cho rằng rào cản gia nhập robotics hiện đã thấp hơn trước rõ rệt Tuy nhiên, đây là một lĩnh vực hoàn toàn khác với phát triển phần mềm web/desktop truyền thống, nên cần chuẩn bị tinh thần cho đường cong học tập khá dốc Khuyên dùng các kit từ Amazon, Yahboom, Hugging Face SO-ARM101 và cũng cho biết phạm vi ngân sách để gắn thêm sensor Nếu khó mua phần cứng ngay, khuyến khích tận dụng tích cực các simulator như Isaac Sim, Mujoco Với machine learning robotics, khuyên khám phá framework LeRobot của Hugging Face, các khái niệm ROS cơ bản như pub/sub, cùng các thư viện MoveIt/Navigation Chia sẻ kinh nghiệm rằng khi mới học, ChatGPT và Cursor đặc biệt hữu ích để nắm thuật ngữ Giới thiệu các công cụ hữu ích như mcap.dev cho logging và foxglove.dev cho visualization
Nhấn mạnh rằng SO-ARM101 và tutorial của LeRobot mang lại trải nghiệm nhập môn tối ưu Cho biết có thể mua ngay từ các nơi như Partabot để thực hành nhanh Mẹo là Jetson Nano không cần thiết ở giai đoạn mới bắt đầu và có thể điều khiển trực tiếp từ laptop Có thể dễ dàng tích lũy trải nghiệm tự huấn luyện và tinh chỉnh model, và đưa ra ví dụ về việc chia sẻ dataset huấn luyện/đánh giá tại app.destroyrobots.com Theo ý kiến cá nhân, bắt đầu với ROS ngay từ đầu có khi còn cản trở việc nhập môn, và những hướng tiếp cận thay thế như embedded dựa trên Rust có thể nhanh hơn Nhấn mạnh rằng chỉ với cấu trúc kết nối USB đơn giản cũng đã đủ để có trải nghiệm vừa thú vị vừa đủ sâu
Giải thích rằng ROS phù hợp cho robotics giai đoạn đầu hoặc mảng AGV vì có nhiều tài nguyên package, nhưng trên thực tế mỗi phân nhánh robot lại có công nghệ chủ đạo khác nhau Ví dụ: drone chủ yếu dùng Mavlink, robot biển dùng MOOS, robot arm dùng ABB studio, còn phong trào IoT xoay quanh Home Assistant hoặc MQTT Cuối cùng, điều cốt lõi là học xu hướng công nghệ của chính lĩnh vực mà mình muốn bước vào
Truyền đạt quan điểm rằng thay vì tập trung vào bằng cấp, việc mua máy in 3D và linh kiện điện tử để tự làm, tự tích lũy kinh nghiệm sẽ hữu ích hơn nhiều Toán học cần cho giai đoạn đầu nhập môn robot chỉ cần PID, động học thuận/ngược, extended Kalman filter, và V=IR là đủ Ngoài ra không cần đến những công thức quá phức tạp
Chia sẻ trải nghiệm rằng các game mô phỏng như Stormworks: Build and Rescue là cách nhập môn mạnh nhất để học cảm giác thiết kế và điều khiển robot ngoài đời thực Từ thiết kế cấu trúc các loại phương tiện, mô phỏng động cơ thật, xây dựng hệ thống theo từng nhiệm vụ, đến tự động hóa bằng nhiều loại sensor và microcontroller khác nhau (dùng logic block và Lua), rồi tuning PID, lượng giác và code state machine — tất cả những cốt lõi áp dụng ngay trong thực chiến đều có thể được học một cách tự nhiên
Hai lời khuyên: cứ bắt đầu làm trước, và đặt mục tiêu thực tế phù hợp với bản thân là điều quan trọng Nhấn mạnh rằng cả những chuyên gia từng tạo ra robot hiệu năng cao cũng đều bắt đầu từ những điều cơ bản Ngày nay việc mua linh kiện rẻ hơn nhiều và tận dụng module cũng dễ hơn, nên “việc học đã dễ hơn rất nhiều” Phần cứng ngoài đời thực, khác với phần mềm, có rất nhiều biến số khó lường và thất bại, nên bắt buộc phải học bằng cách làm quen tay và lặp lại nhiều lần Nếu không kỳ vọng quá cao ngay từ đầu thì có thể học đều đặn và vui hơn
Khuyên trước hết hãy xác định mục đích làm robot Hình thái sẽ được quyết định theo mục đích, và nếu đã nắm được từng mảng như điện, cơ khí, lập trình, cũng như đọc kỹ “The Design of Everyday Things”, thì có thể có lợi thế lớn về khả năng tiếp cận và hiệu quả chế tạo
Nêu quan điểm rằng học bằng cách trực tiếp sờ tay làm sẽ tốt hơn là chỉ xem tài liệu hay video trên Internet Với người mới bắt đầu, khuyên dùng xe RC và Arduino (hoặc các bản tương thích giá rẻ) Mô tả cấu hình khoảng 100 USD gồm SG90 servo, stepper 28BYJ-48, driver ULN2003, UNO R3, chassis xe RC/in 3D... Khuyến khích thực hành thực chiến theo từng bước, rồi bổ sung sensor, camera, và mở rộng sang robot arm
Chân thành khuyên rằng các kit LEGO robotics, kể cả loại cho trẻ em, cũng đủ tốt để nhập môn mà không gặp rào cản lớn Người viết hồi tưởng rằng khi còn học đại học đã nhập môn chủ yếu bằng microcontroller + breadboard, nhưng thực ra giá như hồi đó được dùng những công cụ ở mức trừu tượng cao hơn trước thì có lẽ đã tốt hơn
Vì đặc thù Hacker News nên có nhiều lời khuyên thiên về phần mềm, nhưng nhấn mạnh rằng trong robotics, sự hiện diện của “phần cứng” thực sự là cực kỳ lớn Nhấn mạnh tầm quan trọng của kinh nghiệm thiết kế cơ cấu vừa hoạt động được vừa bền, cũng như chế tạo phần cứng tùy biến như motor, controller, actuator Khuyên dùng các nguồn tài nguyên tốt để học phần cứng và nhập môn như pololu robotics, Adafruit, sparkfun