I. Tổng quan đồ án điều khiển con lắc ngược bằng học tăng cường
Đồ án tốt nghiệp về điều khiển con lắc ngược sử dụng phương pháp học tăng cường là một chủ đề nghiên cứu chuyên sâu, kết hợp giữa lý thuyết điều khiển tự động kinh điển và trí tuệ nhân tạo hiện đại. Bài toán con lắc ngược (Inverted Pendulum Problem) từ lâu đã trở thành một mô hình chuẩn để kiểm chứng các thuật toán điều khiển phức tạp do tính chất phi tuyến và không ổn định vốn có. Mục tiêu chính của đồ án không chỉ là giữ cho con lắc ở trạng thái cân bằng thẳng đứng (balancing) mà còn phải thực hiện quá trình tự dựng con lắc lên từ vị trí buông thõng (swing-up). Thay vì sử dụng các bộ điều khiển truyền thống như bộ điều khiển PID hay bộ điều khiển LQR, phương pháp tiếp cận trong đồ án này tập trung vào học tăng cường (Reinforcement Learning - RL). Đây là một nhánh của học máy, nơi một tác tử (agent) học cách hành động trong một môi trường mô phỏng để tối đa hóa phần thưởng tích lũy. Các thuật toán như thuật toán Q-learning và đặc biệt là các biến thể học sâu như Deep Q-Network (DQN) hay Soft Actor-Critic (SAC) cho thấy tiềm năng vượt trội trong việc giải quyết các hệ phi tuyến mà không cần đến mô hình toán học con lắc ngược chi tiết. Nội dung của đồ án thường bao gồm các phần chính: xây dựng mô hình hệ thống trên Matlab Simulink hoặc OpenAI Gym, thiết kế hàm thưởng (reward function), lựa chọn và huấn luyện tác tử RL, sau đó tiến hành mô phỏng để đánh giá hiệu năng. Kết quả từ các báo cáo đồ án tốt nghiệp và luận văn thạc sĩ điều khiển cho thấy phương pháp này mang lại khả năng ổn định hệ thống tốt hơn, đặc biệt là trong các điều kiện không chắc chắn và có nhiễu.
1.1. Giới thiệu bài toán con lắc ngược kinh điển cart pole
Hệ thống con lắc ngược trên xe đẩy (cart-pole) là một trong những bài toán nền tảng và phổ biến nhất trong lĩnh vực điều khiển tự động và học tăng cường. Hệ thống này bao gồm một chiếc xe có thể di chuyển trên một đường ray và một con lắc được gắn trên xe thông qua một khớp xoay. Thách thức chính là thiết kế một bộ điều khiển có khả năng tác động lực lên xe đẩy để giữ cho con lắc đứng thẳng cân bằng, chống lại tác động của trọng lực. Đây là một hệ phi tuyến và không ổn định cố hữu: bất kỳ sai lệch nhỏ nào so với vị trí thẳng đứng cũng sẽ nhanh chóng bị khuếch đại, dẫn đến việc con lắc bị đổ. Do đó, nó trở thành một môi trường thử nghiệm lý tưởng cho các thuật toán điều khiển từ đơn giản đến phức tạp, bao gồm cả các phương pháp học tăng cường sâu.
1.2. Mục tiêu và giới hạn của đồ án tốt nghiệp
Mục tiêu chính của một đồ án tốt nghiệp điều khiển con lắc ngược là thiết kế và kiểm chứng một hệ thống điều khiển thông minh có khả năng thực hiện hai nhiệm vụ: (1) Điều khiển swing-up, tức là đưa con lắc từ vị trí buông thõng ban đầu lên vị trí cân bằng thẳng đứng. (2) Điều khiển cân bằng, duy trì ổn định hệ thống quanh vị trí thẳng đứng này, ngay cả khi có nhiễu tác động. Giới hạn của đề tài thường tập trung vào việc thiết kế và mô phỏng con lắc ngược trên các phần mềm như Matlab Simulink và Simscape, sử dụng ngôn ngữ lập trình Python với các thư viện như PyTorch hoặc TensorFlow. Việc triển khai trên mô hình vật lý thực tế, như con lắc Furuta, thường được đề xuất như một hướng phát triển trong tương lai do các thách thức về phần cứng và độ trễ tín hiệu.
II. Giải mã thách thức bài toán con lắc ngược hệ phi tuyến
Bài toán con lắc ngược là một ví dụ điển hình của một hệ phi tuyến và không ổn định. Các phương pháp điều khiển tuyến tính kinh điển như bộ điều khiển PID hay bộ điều khiển LQR thường chỉ hiệu quả khi hệ thống hoạt động quanh một điểm làm việc ổn định. Tuy nhiên, quá trình swing-up của con lắc là một quá trình có tính phi tuyến cao, di chuyển qua nhiều trạng thái khác nhau, khiến việc tuyến tính hóa mô hình trở nên kém chính xác và không hiệu quả. Theo tài liệu gốc, "lý thuyết điều khiển kinh điển đã bộc lộ ra những yếu điểm về chất lượng cũng như độ tin cậy khi đối tượng điều khiển là hệ phi tuyến". Đây chính là thách thức lớn nhất mà các kỹ sư điều khiển phải đối mặt. Một vấn đề khác là việc xây dựng một mô hình toán học con lắc ngược hoàn hảo là rất khó khăn. Mô hình thực tế luôn bị ảnh hưởng bởi các yếu tố không chắc chắn như ma sát, nhiễu từ cảm biến, và sự thay đổi của các thông số vật lý. Các phương pháp điều khiển truyền thống phụ thuộc nhiều vào độ chính xác của mô hình này. Trong khi đó, học tăng cường nổi lên như một giải pháp mạnh mẽ vì nó không yêu cầu một mô hình chính xác của hệ thống. Tác tử (agent) học trực tiếp từ sự tương tác với môi trường, tự mình tìm ra một chính sách (policy) điều khiển tối ưu. Điều này giúp hệ thống có khả năng thích ứng tốt hơn với sự thay đổi của môi trường và các yếu tố không được mô hình hóa, giải quyết triệt để các hạn chế của lý thuyết điều khiển cổ điển.
2.1. Hạn chế của bộ điều khiển PID và LQR truyền thống
Mặc dù bộ điều khiển PID (Proportional-Integral-Derivative) và bộ điều khiển LQR (Linear-Quadratic Regulator) được sử dụng rộng rãi, chúng gặp phải những hạn chế đáng kể khi áp dụng cho hệ con lắc ngược. Bộ điều khiển PID yêu cầu quá trình tinh chỉnh các tham số (tuning) phức tạp và thường chỉ tối ưu cho một điểm làm việc cụ thể. Đối với quá trình swing-up có tính phi tuyến cao, một bộ PID duy nhất không thể đảm bảo hiệu suất tốt trên toàn bộ quỹ đạo. Tương tự, LQR là một phương pháp điều khiển tối ưu cho hệ tuyến tính. Để áp dụng cho con lắc ngược, người ta phải tuyến tính hóa mô hình toán học quanh điểm cân bằng thẳng đứng. Điều này có nghĩa là LQR chỉ hoạt động hiệu quả trong một vùng lân cận nhỏ quanh vị trí cân bằng và không thể tự thực hiện nhiệm vụ swing-up từ vị trí ban đầu.
2.2. Tại sao học tăng cường là giải pháp tối ưu cho hệ phi tuyến
Học tăng cường (Reinforcement Learning) cung cấp một cách tiếp cận đột phá cho việc điều khiển các hệ phi tuyến phức tạp như con lắc ngược. Thay vì dựa vào một mô hình toán học định sẵn, RL cho phép một tác tử học chiến lược điều khiển tối ưu thông qua quá trình thử và sai. Tác tử tương tác với môi trường mô phỏng, nhận phản hồi dưới dạng phần thưởng (reward) hoặc hình phạt (penalty) cho mỗi hành động. Mục tiêu của nó là tìm ra một chính sách (policy) – một bản đồ từ trạng thái đến hành động – để tối đa hóa tổng phần thưởng tích lũy. Phương pháp này đặc biệt mạnh mẽ vì nó có thể xử lý các không gian trạng thái và hành động lớn, liên tục, và tự động khám phá các quy luật điều khiển phức tạp mà con người khó có thể thiết kế thủ công.
III. Nền tảng phương pháp học tăng cường và các thuật toán chính
Học tăng cường là một lĩnh vực của học máy, tập trung vào việc huấn luyện các tác tử (agents) để đưa ra một chuỗi các quyết định tối ưu. Quá trình học diễn ra thông qua tương tác với một môi trường mô phỏng. Tại mỗi bước, tác tử quan sát trạng thái của môi trường, thực hiện một hành động, và nhận lại một phần thưởng cùng với trạng thái tiếp theo. Mục tiêu là học được một chính sách (policy) tối ưu. Có nhiều thuật toán RL cơ bản, mỗi loại có ưu và nhược điểm riêng. Thuật toán Q-learning là một phương pháp kinh điển, sử dụng một bảng (Q-table) để lưu trữ giá trị của cặp trạng thái-hành động. Tuy nhiên, nó không hiệu quả với không gian trạng thái liên tục hoặc quá lớn. Để giải quyết vấn đề này, học tăng cường sâu (deep reinforcement learning) ra đời, kết hợp RL với mạng nơ-ron sâu. Thuật toán DQN (Deep Q-Network) là một ví dụ tiêu biểu, sử dụng mạng nơ-ron để xấp xỉ hàm Q-value, cho phép xử lý không gian trạng thái phức tạp như hình ảnh. Một hướng tiếp cận khác là các thuật toán Policy Gradient, trực tiếp tối ưu hóa chính sách. Thuật toán Actor-Critic kết hợp cả hai phương pháp trên: "mạng Actor" quyết định hành động và "mạng Critic" đánh giá hành động đó. Các thuật toán tiên tiến như DDPG và SAC (Soft Actor-Critic) được xây dựng dựa trên kiến trúc này, đặc biệt hiệu quả cho các bài toán có không gian hành động liên tục, phù hợp với việc điều khiển động cơ trong bài toán con lắc ngược.
3.1. Tìm hiểu thuật toán Q learning và Deep Q Network DQN
Thuật toán Q-learning là một phương pháp model-free, off-policy, học giá trị của một hành động trong một trạng thái cụ thể. Nó xây dựng một Q-table để lưu trữ các giá trị Q(s, a), đại diện cho phần thưởng kỳ vọng khi thực hiện hành động 'a' tại trạng thái 's'. Tuy nhiên, Q-learning chỉ khả thi với không gian trạng thái và hành động rời rạc và nhỏ. Thuật toán DQN (Deep Q-Network) là một bước đột phá, thay thế Q-table bằng một mạng nơ-ron sâu. Mạng này nhận đầu vào là trạng thái và cho đầu ra là các giá trị Q cho tất cả các hành động có thể. Điều này cho phép DQN xử lý các không gian trạng thái có chiều dữ liệu lớn, như pixel từ màn hình game. DQN cũng giới thiệu hai kỹ thuật quan trọng: Experience Replay (lưu trữ và lấy mẫu lại các kinh nghiệm cũ) và Separate Target Network (sử dụng một mạng mục tiêu riêng biệt để ổn định quá trình huấn luyện).
3.2. Khám phá kiến trúc Actor Critic và thuật toán SAC
Kiến trúc Actor-Critic là một trong những nền tảng mạnh mẽ nhất trong học tăng cường sâu. Nó bao gồm hai thành phần: Actor và Critic. Actor (diễn viên) chịu trách nhiệm học chính sách (policy) và quyết định hành động cần thực hiện. Critic (nhà phê bình) chịu trách nhiệm đánh giá hành động của Actor bằng cách học hàm giá trị (value function). Critic cung cấp phản hồi cho Actor, giúp nó cập nhật chính sách theo hướng tốt hơn. Thuật toán Soft Actor-Critic (SAC) là một biến thể tiên tiến của kiến trúc này, được sử dụng trong tài liệu tham khảo. SAC là một thuật toán off-policy, được thiết kế để tối đa hóa cả phần thưởng và entropy của chính sách. Việc tối đa hóa entropy khuyến khích tác tử khám phá nhiều hơn, giúp tìm ra giải pháp tối ưu một cách ổn định và hiệu quả hơn, đặc biệt trong các tác vụ phức tạp với không gian hành động liên tục.
IV. Hướng dẫn thiết kế bộ điều khiển swing up dùng thuật toán SAC
Thiết kế bộ điều khiển cho hệ con lắc ngược sử dụng thuật toán SAC (Soft Actor-Critic) là một quy trình gồm nhiều bước, được mô tả chi tiết trong báo cáo đồ án tốt nghiệp. Đầu tiên, cần xây dựng một môi trường mô phỏng chính xác. Tài liệu gốc sử dụng Matlab Simulink và Simscape để mô hình hóa động học của con lắc Furuta, bao gồm các thông số vật lý của động cơ và các thành phần cơ khí. Tiếp theo là bước thiết kế trạng thái và không gian hành động. Trạng thái quan sát được bao gồm các thông số như sin, cos của các góc quay và vận tốc góc của cả cánh tay và con lắc. Hành động là giá trị điện áp cấp cho động cơ. Bước quan trọng nhất là thiết kế hàm thưởng (reward function). Hàm thưởng phải được định nghĩa một cách cẩn thận để hướng dẫn tác tử (agent) đạt được mục tiêu. Ví dụ, một phần thưởng lớn sẽ được trao khi con lắc tiến gần đến vị trí thẳng đứng và vận tốc thấp. Ngược lại, một hình phạt sẽ được áp dụng khi con lắc di chuyển ra xa mục tiêu hoặc các góc vượt quá giới hạn an toàn. Cuối cùng, tác tử SAC được cấu hình và huấn luyện. Quá trình này bao gồm việc thiết lập kiến trúc mạng nơ-ron cho Actor và Critic, lựa chọn các siêu tham số như tốc độ học, kích thước bộ đệm kinh nghiệm (Experience Buffer), và hệ số chiết khấu. Quá trình huấn luyện diễn ra qua hàng ngàn tập (episodes) cho đến khi tác tử hội tụ đến một chính sách ổn định và hiệu quả.
4.1. Xây dựng môi trường mô phỏng với Matlab Simulink và OpenAI Gym
Một môi trường mô phỏng đáng tin cậy là yếu tố tiên quyết cho sự thành công của thuật toán học tăng cường. Matlab Simulink và Simscape là những công cụ mạnh mẽ để xây dựng mô hình vật lý chi tiết của hệ con lắc ngược, cho phép mô phỏng chính xác các phương trình động lực học phi tuyến. Ngoài ra, OpenAI Gym là một bộ công cụ tiêu chuẩn trong cộng đồng RL, cung cấp các môi trường được xây dựng sẵn, bao gồm cả 'CartPole-v1'. Việc tích hợp mô hình Simulink với các thư viện học tăng cường của Python (sử dụng PyTorch hoặc TensorFlow) thông qua các giao diện phù hợp cho phép tận dụng sức mạnh của cả hai nền tảng: mô phỏng chính xác từ Matlab và các thuật toán RL tiên tiến từ Python.
4.2. Thiết kế hàm thưởng reward function và chính sách policy
Thiết kế hàm thưởng (reward function) là nghệ thuật và khoa học trong RL. Một hàm thưởng tốt sẽ dẫn dắt tác tử học nhanh hơn và đạt được hành vi mong muốn. Đối với bài toán con lắc ngược, hàm thưởng thường được cấu thành từ nhiều thành phần: thưởng cho việc giữ con lắc gần vị trí thẳng đứng (ví dụ, thưởng dựa trên cos(α)), phạt cho việc sử dụng năng lượng điều khiển lớn (điện áp động cơ cao), và phạt cho việc di chuyển quá xa vị trí trung tâm. Chính sách (policy) trong SAC là một hàm xác suất, ánh xạ từ trạng thái sang một phân phối xác suất trên không gian hành động. Điều này cho phép tác tử khám phá một cách tự nhiên. Quá trình huấn luyện sẽ điều chỉnh các tham số của mạng nơ-ron đại diện cho chính sách này để tối đa hóa tổng phần thưởng kỳ vọng.
4.3. Huấn luyện tác tử agent và tinh chỉnh siêu tham số
Quá trình huấn luyện một tác tử SAC bao gồm việc cho nó tương tác với môi trường qua nhiều tập. Trong mỗi tập, tác tử thu thập kinh nghiệm (trạng thái, hành động, phần thưởng, trạng thái tiếp theo) và lưu vào bộ đệm. Sau đó, các mẫu nhỏ (mini-batch) được lấy ngẫu nhiên từ bộ đệm để cập nhật trọng số của mạng Actor và Critic. Việc tinh chỉnh các siêu tham số như tốc độ học (learning rate), hệ số chiết khấu (discount factor - gamma), và kích thước batch là rất quan trọng để đảm bảo quá trình huấn luyện hội tụ và ổn định. Tài liệu gốc cho thấy quá trình huấn luyện SAC ổn định và hiệu quả hơn so với DDPG, đạt được tiêu chí dừng chỉ sau 178 episodes, trong khi DDPG chưa hội tụ.
V. Phân tích kết quả mô phỏng và so sánh hiệu quả với LQR
Kết quả mô phỏng con lắc ngược sau khi huấn luyện thành công tác tử SAC cho thấy hiệu suất vượt trội của phương pháp học tăng cường. Theo đồ thị kết quả trong tài liệu, bộ điều khiển SAC có khả năng đưa con lắc từ vị trí buông thõng lên vị trí cân bằng thẳng đứng và duy trì ổn định hệ thống một cách hiệu quả. Điện áp điều khiển cấp cho động cơ luôn nằm trong giới hạn an toàn (±12V), chứng tỏ tính thực tiễn của giải pháp. Một điểm nhấn quan trọng là việc so sánh học tăng cường và PID/LQR. Tài liệu đã tiến hành so sánh trực tiếp hiệu suất của bộ điều khiển SAC với một bộ điều khiển LQR kinh điển. Kết quả cho thấy bộ điều khiển SAC đạt được thời gian đáp ứng nhanh hơn đáng kể. Cụ thể, hệ thống sử dụng SAC chỉ mất khoảng 2 giây để ổn định, trong khi bộ điều khiển LQR cần từ 5 đến 8 giây. Sự khác biệt này khẳng định ưu thế của học tăng cường sâu trong việc xử lý các đặc tính phi tuyến phức tạp của hệ con lắc ngược. Hơn nữa, quá trình huấn luyện cũng cho thấy SAC ổn định và hiệu quả hơn so với các thuật toán RL khác như DDPG. Điều này chứng tỏ SAC là một lựa chọn mạnh mẽ và đáng tin cậy cho các bài toán điều khiển phức tạp, mở ra tiềm năng ứng dụng rộng rãi trong thực tế. Code con lắc ngược học tăng cường được phát triển trong đồ án này có thể trở thành nền tảng cho các nghiên cứu và ứng dụng trong tương lai.
5.1. Đánh giá hiệu suất ổn định hệ thống của bộ điều khiển SAC
Hiệu suất ổn định hệ thống của bộ điều khiển SAC được đánh giá thông qua các kết quả mô phỏng chi tiết. Đồ thị góc của con lắc (α) và góc của cánh tay (θ) cho thấy hệ thống nhanh chóng đạt được trạng thái cân bằng mong muốn. Sau giai đoạn swing-up ban đầu (khoảng 1 giây đầu tiên), con lắc được giữ ổn định tại vị trí thẳng đứng với sai số rất nhỏ trong suốt khoảng thời gian còn lại. Điều này chứng tỏ chính sách (policy) mà tác tử học được có khả năng phản ứng nhanh và chính xác với các sai lệch, một yêu cầu quan trọng đối với các hệ thống không ổn định.
5.2. So sánh thời gian đáp ứng giữa học tăng cường và LQR
Việc so sánh học tăng cường và LQR là một phần quan trọng để làm nổi bật ưu điểm của phương pháp mới. Tài liệu gốc đã chỉ ra một sự khác biệt rõ rệt về thời gian đáp ứng: bộ điều khiển SAC giúp hệ thống ổn định trong khoảng 2 giây, trong khi bộ điều khiển LQR mất từ 5 đến 8 giây. Sự chênh lệch này không chỉ cho thấy hiệu quả tính toán của thuật toán RL mà còn phản ánh khả năng xử lý tốt hơn đối với toàn bộ quá trình động học phi tuyến của hệ thống, thay vì chỉ tối ưu cục bộ quanh một điểm làm việc như LQR. Đây là một minh chứng thuyết phục về tiềm năng của deep reinforcement learning trong điều khiển hiện đại.
VI. Kết luận đồ án và định hướng phát triển cho tương lai
Tổng kết lại, đồ án tốt nghiệp điều khiển con lắc ngược sử dụng phương pháp học tăng cường đã đạt được những mục tiêu cốt lõi đề ra. Đồ án đã thành công trong việc xây dựng một mô hình mô phỏng hoàn chỉnh cho hệ con lắc ngược, đồng thời thiết kế và huấn luyện thành công một bộ điều khiển thông minh dựa trên thuật toán Soft Actor-Critic (SAC). Kết quả mô phỏng đã chứng minh rõ ràng rằng phương pháp học tăng cường không chỉ khả thi mà còn mang lại hiệu suất vượt trội so với các phương pháp điều khiển kinh điển như LQR, đặc biệt về tốc độ đáp ứng và khả năng xử lý hệ phi tuyến. Thành công của đồ án này không chỉ là một bài tập học thuật mà còn mở ra nhiều hướng phát triển tiềm năng trong tương lai. Hướng đi rõ ràng nhất là triển khai thuật toán đã được huấn luyện lên một mô hình vật lý thực tế, chẳng hạn như con lắc Furuta, sử dụng các vi điều khiển chuyên dụng. Điều này sẽ đặt ra những thách thức mới về xử lý thời gian thực, độ trễ cảm biến và nhiễu vật lý, nhưng cũng mang lại những kết quả kiểm chứng giá trị nhất. Một hướng khác là khám phá các thuật toán học tăng cường sâu phức tạp và hiệu quả hơn như PPO (Proximal Policy Optimization) hay TD3 (Twin-Delayed Deep Deterministic Policy Gradient). Việc áp dụng các kỹ thuật mới như Prioritized Experience Replay cũng có thể giúp cải thiện tốc độ và sự ổn định của quá trình huấn luyện. Những nghiên cứu này sẽ tiếp tục đóng góp vào sự phát triển của lý thuyết điều khiển tự động thông minh.
6.1. Tóm tắt các kết quả chính đã đạt được trong báo cáo
Báo cáo đồ án tốt nghiệp đã đạt được các kết quả chính sau: (1) Xây dựng thành công mô hình toán học và mô hình mô phỏng trên Matlab Simulink/Simscape cho hệ con lắc ngược quay. (2) Thiết kế và triển khai bộ điều khiển dựa trên thuật toán SAC, một trong những thuật toán deep reinforcement learning tiên tiến. (3) Huấn luyện thành công tác tử để thực hiện cả hai nhiệm vụ swing-up và cân bằng. (4) Chứng minh qua mô phỏng rằng bộ điều khiển SAC cho kết quả vượt trội so với bộ điều khiển LQR về thời gian đáp ứng và khả năng ổn định hệ thống.
6.2. Các hướng nghiên cứu và phát triển tiềm năng của đề tài
Đề tài này có thể được phát triển theo nhiều hướng hứa hẹn. Thứ nhất, triển khai trên phần cứng thực tế để kiểm chứng hiệu quả trong điều kiện vận hành thực. Thứ hai, nghiên cứu và áp dụng các thuật toán RL mới hơn để cải thiện hiệu suất, chẳng hạn như các thuật toán có khả năng xử lý đa tác tử hoặc học từ các môi trường phức tạp hơn. Một hướng đi khác là nghiên cứu về học chuyển giao (transfer learning), nơi kiến thức học được từ mô hình mô phỏng có thể được chuyển giao hiệu quả sang mô hình thực tế để giảm thời gian huấn luyện. Những hướng đi này không chỉ có giá trị trong các luận văn thạc sĩ điều khiển mà còn có tiềm năng ứng dụng trong robot, xe tự lái và các hệ thống tự động hóa khác.