Nếu làm mobile robots thì nó khá là khó nhằn, vì phải nắm bao quát được nhiều (và mình ăn ngập hành rồi), như mình là thằng lead thì đây là đống kĩ năng mình phải nắm: Linux (biết viết bash script, crontab sương sương vậy thôi, còn sâu hơn thì patch kernel real-time), network (ví dụ như setup LAN), computer hardware, rồi embedded system (như điều khiển motor PID thì dùng MCU chứ không ai dùng máy tính cả), control theory, computer vision (mà cái này thì rộng nữa, như kiểu tìm thuật toán cho một bài toán chưa ai gặp thì chua lè), deep learning, rồi design CAD rồi prototype bằng in 3D các kiểu nữa...
Nếu muốn học, thì thím có hai phương án:
- Tự học, build từ scratch lên
- Vào lab, được chia ra tasks và nhánh nhỏ hơn để nghiên cứu
Nếu thím xác định để đi làm, thì phải ưu tiên cái 1, vì cái robotics ở VN mới, chủ yếu là tự build robots lên rồi lấy code người ta chạy thôi
Ở mức độ Việt Nam thì chế con robots kiểu navigation từ Lidar 2D đơn giản là quá dư để thím tìm việc ở mức $1500 một tháng trở lên rồi.
Những course thím đưa ra để tự học không khả thi, vì mình quan sát nhiều thằng rồi, nếu theo hướng tự học mà cưỡi ngựa xem hoa thì không hiểu gì cả
Nếu thím học để đi làm, thì mình recommend là bắt tay vào làm.
Có thể chạy trên simulations (Gazebo hoặc làm theo đám
https://www.theconstructsim.com/), nhưng mình vẫn recommend tự chế robot hơn, vì khi tự chế robots thím sẽ học được từ những câu hỏi thế này:
- Làm sao mỗi motors có thể quay theo đúng vận tốc được? Cái này là PID đấy
- Làm sao robots có thể điều khiển theo vận tốc được? Động học ngược, động học thuận.
- Rồi kinh nghiệm hardware Raspi, Lidar, motors, pin các kiểu (đau nhất là làm sao để dùng pin không bị phồng )
- Làm sao robots định vị bản thân được? Cái này sẽ học về hệ quy chiếu, localization Monte-Carlo. Cái này sẽ đồng thời với việc làm sao build một cái maps được, vì việc định vị phải tương ứng với một hệ quy chiếu fixed, trên một cái map biết trước. Chưa kể là sensor fusion Kalman Filter các kiểu.
- Làm sao robots di chuyển từ A-B (chính xác hơn nên dùng từ định tuyến)? Thì đây là thuật toán liên quan tới routing ie Djikstra hoặc A*.
- Làm sao robots né vật cản được? Ví dụ như robots không thể đi ngang (như cua) để né vật cản mà chỉ có tiến-lùi, quẹo trái-phải (tưởng tượng như phải di chuyển xe máy trong không gian chật hẹp, phải tiến quẹo liên tục), thì phải có một bộ planner cho trajectory, và bộ planner này phải tính cả kinematics-constraint của robot, optimize cái trajectory...
Nếu như thím không phải là researcher thì không phải tìm hiểu quá nhiều, như giải thuật của Adaptive Monte-Carlo, hoặc là Hector SLAM, hoặc TEB local planner. Vì mấy thằng nghĩ ra mấy giải thuật đó toàn trình Tiến sĩ bên TU của Đức
Nhưng vấn đề là học để hiểu general architect thôi, và biết cách để build một con robots, từ motors, arduino, máy in 3D, sensors và Raspberry Pi.
Học phí của tự chế robots đắt không? Không! Mình tự build một cái platform lên cho mấy thằng em trong trường học, Lidar 2tr5, Raspi 1tr5, rồi mạch Arduino motors pin các kiểu thêm 1tr nữa thì tổng là 5tr.
View attachment 1007958
Còn nếu thím tính học để nghiên cứu thì cứ mần hết đống này đi rồi tính tiếp. Quá chua. Như mình thì tương lai học PhD sáng rạng nhưng không biết khi nào mới ra trường ĐH