Ứng dụng Manim trong trực quan hoá toán học: Định vị Robot và bài toán tương quan sai số

Nguyễn Thị Huệ – Hệ thống thông tin quản lý 01 – K68

Manim – Công cụ lập trình hoạt hình toán học

Manim (Mathematical Animation Engine) là một thư viện Python mã nguồn mở được phát triển bởi Grant Sanderson – người sáng lập kênh YouTube nổi tiếng 3Blue1Brown với phong cách trình bày toán học bằng hoạt hình. Điểm đặc biệt của Manim nằm ở chỗ: toàn bộ nội dung hình ảnh được sinh ra từ mã lệnh Python – từ đồ thị, công thức toán học, đến các chuyển động và hiệu ứng – thay vì được thiết kế thủ công trên phần mềm đồ họa.

Trong video này, tôi sẽ kết hợp lý thuyết thống kê với ứng dụng kỹ thuật để trực quan hóa “bài toán định vị robot và tương quan sai số vị trí” trong lĩnh vực robot học và tự động hóa.

Kênh Youtube nổi tiếng 3Blue1Brown

Bài toán đặt ra: Tại sao robot luôn lệch theo đường chéo?

Video mở đầu bằng một quan sát thực tiễn trong lĩnh vực tự động hóa: khi robot di chuyển đến một vị trí chỉ định, nó hiếm khi chỉ lệch theo một trục duy nhất – mà thường lệch theo một hướng chéo, nghĩa là sai số xảy ra đồng thời trên cả trục lẫn trục .

Để giải thích hiện tượng này một cách chặt chẽ, video tiếp cận bài toán bằng ngôn ngữ của xác suất và thống kê. Ý tưởng cốt lõi là: vị trí thực tế mà robot dừng lại không phải một điểm cố định, mà thay đổi mỗi lần – do nhiều yếu tố ngẫu nhiên như độ dẻo của động cơ, ma sát sàn, rung lắc cơ khí.

Chúng ta có thể mô tả vị trí thực tế bằng hai con số: hoành độ  và tung độ . Còn vị trí lý thuyết – nơi robot lẽ ra phải dừng lại là một điểm mục tiêu cố định vectơ kỳ vọng , còn sai số vị trí  là hiệu giữa vị trí thực tế và nơi lẽ ra phải dừng.

Hình ảnh minh hoạ sai số vị trí Robot

Xây dựng ma trận hiệp phương sai

Để mã hóa đầy đủ thông tin về sai số vị trí, video giới thiệu ba đại lượng thống kê cốt lõi.

Phương sai của  đo mức độ phân tán của sai số trên trục hoành quanh giá trị kỳ vọng. Giá trị càng lớn, robot càng hay lệch nhiều theo chiều ngang. Tương tự, phương sai của  đo độ phân tán tương ứng trên trục tung. Tuy nhiên, hai đại lượng này chỉ nói lên mỗi trục sai bao nhiêu – chứ không nói gì về mối quan hệ giữa hai trục.

Đó là lúc đại lượng thứ ba xuất hiện: Hiệp phương sai – được định nghĩa là kỳ vọng của tích hai sai số . Nếu mỗi khi robot lệch nhiều theo , nó cũng lệch theo một hướng nhất định trên , thì tích   sẽ có dấu nhất quán và kỳ vọng của nó sẽ khác không – đó chính là tương quan.

Nguyên nhân vật lý : Tại sao hai hướng sai số lại liên hệ với nhau?

Video không dừng lại ở định nghĩa toán học mà đi sâu vào cơ cấu vật lý để giải thích nguồn gốc của tương quan tồn tại.

Hãy tưởng tượng một robot chạy bằng hai bánh vi sai (bánh trái và bánh phải) nhận lệnh tiến thẳng. Nếu bánh phải bị trượt  – do độ rão, dầu bôi không đều, hay sự mòn khác nhau – lực đẩy từ bánh phải sẽ yếu hơn bánh trái. Khi đó:

  • Robot sẽ đi thiếu khoảng cách trên trục
  • Robot sẽ bị kéo lệch sang bên phải trên trục

Hai sai số xảy ra đồng thời và cùng chiều – đó là tương quan dương  và đồng thời giải thích lý do tại sao robot lệch chéo.

Để mã hóa toàn bộ thông tin này, ta dùng một ma trận hiệp phương sai  – một bảng số có 4 ô:

  • Ô trên trái: độ phân tán trên trục X
  • Ô dưới phải: độ phân tán trên trục
  • Ô trên phải và dưới trái: mối tương quan giữa hai hướng – đo mức độ hai trục ảnh hưởng lẫn nhau.

Ma trận này là ma trận đối xứng và nửa xác định dương.

Hình ảnh minh hoạ công thức của ma trận hiệp phương sai

Ý nghĩa ứng dụng: Bộ lọc Kalman

Phần kết luận của video trả lời câu hỏi ban đầu một cách hoàn chỉnh: robot lệch chéo vì sai số hai trục không độc lập – chúng tương quan với nhau do bản chất cơ khí của hệ thống. Ma trận hiệp phương sai  mã hóa toàn bộ thông tin đó – cả độ lớn lẫn hướng tương quan.

Ứng dụng quan trọng nhất là trong bộ lọc Kalman – một thuật toán nổi tiếng được sử dụng rộng rãi trong robot học, tự hành, máy bay, v.v. Bộ lọc Kalman không chỉ giúp robot biết mình đang sai bao nhiêu, mà còn biết sai lệch đó ảnh hưởng đến nhau như thế nào – để từ đó điều chỉnh quỹ đạo chính xác hơn và tránh lạc hướng.

Video kết thúc bằng ba từ khóa cốt lõi: Localization (Định vị Robot), Error Correlation (Tương quan sai số) và Covariance Matrix (Ma trận hiệp phương sai), kèm một câu hỏi mở dành cho người xem: Nếu thay robot hai bánh vi sai bằng robot bốn bánh Mecanum thì sai số sẽ thay đổi thế nào?

Ba từ khóa cốt lõi của video

Quá trình thực hiện và bài học rút ra

Trong quá trình triển khai, Manim đặt ra không ít thách thức kỹ thuật. Bước đầu cần làm quen với cách tổ chức Scene, quản lý các đối tượng toán học và điều phối thời gian hiệu ứng sao cho khớp với lời thoại. Phần trực quan hóa nâng cao – vẽ ma trận hiệp phương sai và các biểu đồ liên quan – đặc biệt yêu cầu sự kết hợp giữa đại số tuyến tính – cụ thể là phân tích trị riêng và vector riêng của  – với lập trình đồ họa trong Manim.

Video hoàn chỉnh trình bày mạch lạc từ định nghĩa bài toán, xây dựng mô hình thống kê, đến diễn giải kết quả – có thể dùng như một tài liệu tham khảo trực quan cho các chủ đề xác suất thống kê và kỹ thuật điều khiển.

Lời kết

Ứng dụng Manim vào trực quan hóa toán học là một hướng nghiên cứu và thực hành đáng đầu tư, kết hợp hài hòa giữa tư duy toán học, kỹ năng lập trình, và khả năng trình bày. Quá trình này không chỉ giúp tôi nắm vững hơn các khái niệm xác suất thống kê mà còn nhận thức rõ hơn về tiềm năng của các công cụ trực quan hóa trong việc truyền đạt kiến thức toán học – một hướng đi đáng được quan tâm trong bối cảnh giáo dục STEM hiện nay.

Đường dẫn tới video: https://www.youtube.com/shorts/qYw2f68iMH0

Xem thêm