PIC Vietnam

Go Back   PIC Vietnam > Robotics > Điều khiển

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Điều khiển Lý thuyết điều khiển và ứng dụng lý thuyết điều khiển trong những trường hợp thực tế

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 11-09-2009, 11:00 PM   #1
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:
Các vấn đề thiết kế hệ thống điều khiển trong thực tế

Mecha mở ra topic này để anh em thảo luận về xu hướng thiết kế và thực thi các hệ thống điều khiển (real-time) trong thực tế. Topic có thể liên quan đến nhiều khía cạnh, chẳng hạn như:
- Control software design mothods
- Control system structure mothods
- Advanced controller design
- …

Tuy nhiên, các vấn đề hoàn toàn có thể được mở rộng ra ngoài những vấn đề trên.


Ở phần đầu này, Mecha bàn đến một vấn đề nhỏ hơn, đó là:
Design control systems: automated code generation v.s. hand-coded

Khi thiết kế các hệ thống điều khiển, thông thường người thiết kế sẽ phải làm việc với các hệ thống lai (hybrid) giữa continuous-time systems và discrete-event systems. Nói một cách nôm na thì:
- Continuous-time systems được đặc trưng bởi các thuật toán điều khiển;
- Discrete-event systems thì là tập hợp của các điều kiện và tác động chuyển đổi trạng thái, cho phép switching giữa các continuous-time systems.

Hiện tại, có 2 cách để triển khai một hệ thống điều khiển lai nói trên, đó là:

1. Sử dụng các công cụ (tool chain) có chức năng: thiết kế, mô phỏng, sinh mã bộ điều khiển tự động (automated code generation) cho phần cứng. Một số ví dụ điển hình như:
- Matlab, Simulink, StateFlow, Real-Time Workshop Embedded Coder toolchain.
- 20-sim, gCSP, CTC++ and ForSee (4C) toolchain.
- Scilab/Scicos, Scicos-RTAI, Scicos-FLEX toolchain.

Ở gói phần mềm Matlab:
- Continuous-time systems sẽ được thiết kế trong Simulink. Vì vậy mã được phát ra từ Simulink thường là các thuật toán điều khiển. Hay nói một cách khác thì nó đảm trách phần data-flow của một hệ thống điều khiển.
- Discrete-event systems sẽ được thiết kế trong StateFlow. Vì vậy mã được phát ra thường là các sự kiện/tác động chuyển đổi trạng thái. Ví dụ như là switching từ một khối Simulink “Start-up Operation” sang một khối Simulink “Normal Operation”. Hay nói một cách khác thì nó đảm trách phần control-flow bên trong một hệ thống điều khiển.
- Real-Time Workshop Embedded Coder để hỗ trợ tự động sinh mã và phối hợp mã phát ra từ Simulink và StateFlow.

Ở gói phần mềm 20-sim cũng có cách tiếp cận gần giống với Matlab, cụ thể là:
- Dùng 20-sim cho continuous-time systems.
- Dùng gCSP cho discrete-event systems.
- CTC++ and ForSee (4C) có cùng chức năng với RealTime Workshop.

Trong cả hai trường hợp này thì StateFlow và gCSP có vai trò gần tương đương với supervisor component/object.


2. Phát triển bộ điều khiển trực tiếp (hand-coded controller), có hai xu hướng là:
- Lập trình trực tiếp bằng C/C++ hoặc một ngôn ngữ lập trình khác. Để có real-time behaviour, người thiết kế sẽ sử dụng các hàm API của một RTOS nào đó chẳng hạn như RTAI/Xenomai.
- Sử dụng các framework/software cấp cao như Orocos RTT, ROS để phát triển các ứng dụng điều khiển real-time.



Mecha tạm dừng ở đây đã, sẽ tiếp tục trao đổi sau.
__________________
Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.


Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-09-2009, 09:59 PM   #2
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:
Mecha tìm được tài liệu (thesis) có tiêu đề "Evaluation of Automatic Code Generation Tools". Tôi đưa lên đây để nhưng ai quan tâm có thể tham khảo.


Abstract:
There are different tools for automatic code generation today. A comparison between different tools is necessary in order to highlight the differences between the tools according to specific aspects. TargetLink from dSPACE and Real-Time Workshop Embedded Coder from The MathWorks are two tools that have been evaluated and tested in order to point out the differences between the performance of those tools regarding, among others, user friendliness, generated code interface, code readability and traceability, execution time and memory usage. Even though both tools differ slightly in their performance they both show good, sometimes even better performance when compared with hand written code.
File Kèm Theo
File Type: pdf Evaluation of Automatic Code Generation Tools.pdf (605.7 KB, 194 lần tải)
__________________
Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.


Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-09-2009, 06:41 AM   #3
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:
Mecha chưa bao giờ sử dụng chức năng sinh mã tự động cho bộ điều khiển được thiết kế dựa trên các công cụ (toolchain) như Matlab, 20-sim, Scilab/Scicos nên thực sự chưa hiểu lắm về khả năng sinh mã của chúng. Ai đã dùng qua có thể cho ý kiến được không nhỉ?

Liệu các thuật toán điều khiển cao cấp như Learning Feed-forward Control (LFFC), Model Reference based Adaptive Control (MRAC), Fuzzy and Neural Control,… có thể được tự động sinh ra chính xác và hiểu quả bằng các toolchain này?
__________________
Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.


Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2009, 09:20 PM   #4
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:
Chia sẻ với mọi người bài báo có tiêu đề "Coordination in evolving systems" rất thú vị. Tác giả của bài báo đưa ra ý tưởng về kiến trúc 4C (communication, computation, configuration and coordination) trong thiết kế các hệ thống phân tán lớn và phức tạp. Kiến trúc 4C này có thể áp dụng được trong thiết kế các hệ thống điều khiển và truyền thông (phân tán).

Communication & computation là hai thành phần quen thuộc trong bất kỳ hệ thống điều khiển nào. Tuy nhiên configuration & coordination là hai thành phần còn khá "mới mẻ". Trong 10 năm trở lại đây, có rất nhiều nhóm về hệ thống và điều khiển trên thế giới đã và đang bắt tay vào nghiên cứu giải pháp để tích hợp hai lớp "C" này với communication & computation. Nghiên cứu có tính đặc trưng nhất về configuration & coordination đó là Multi-Agent System (MAS) http://en.wikipedia.org/wiki/Multi-agent_system. Có thể nói nghiên cứu về MAS đang rất HOT và vì thế "trăm hoa đua nở" là thực trạng trong nghiên cứu về MAS hiện nay. Thậm chí một định nghĩa thống nhất về Agent & MAS hiện nay cũng chưa có được vì "chẳng ai chịu ai" cả Mọi người quan tâm về MAS có thể tìm hiểu thêm.
File Kèm Theo
File Type: pdf Coordination in evolving systems.pdf (179.4 KB, 98 lần tải)
__________________
Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.


Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263

thay đổi nội dung bởi: Mecha, 09-10-2009 lúc 10:18 PM.
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-10-2009, 10:09 AM   #5
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi Mecha View Post
Mecha chưa bao giờ sử dụng chức năng sinh mã tự động cho bộ điều khiển được thiết kế dựa trên các công cụ (toolchain) như Matlab, 20-sim, Scilab/Scicos nên thực sự chưa hiểu lắm về khả năng sinh mã của chúng. Ai đã dùng qua có thể cho ý kiến được không nhỉ?

Liệu các thuật toán điều khiển cao cấp như Learning Feed-forward Control (LFFC), Model Reference based Adaptive Control (MRAC), Fuzzy and Neural Control,… có thể được tự động sinh ra chính xác và hiểu quả bằng các toolchain này?
Fuzzy thì có thằng Fuzzytech của Đức, bọn nó làm cái này từ rất lâu rồi. Việc sinh mã Fuzzy là cái cực kỳ đơn giản.

Việc sinh mã ANN thực chất mà nói là tương tự, vấn đề chọn trọng số là phức tạp, nhưng thuật toán sinh mã của nó lại không có gì. Bản chất nếu làm theo kiểu mô hình đối tượng, thì việc sinh mã ANN cũng giống chính xác như việc anh vẽ hình mạng ANN vậy thôi.

Chúc vui.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2009, 11:15 PM   #6
Ruby
Nhập môn đệ tử
 
Tham gia ngày: May 2007
Bài gửi: 6
:
Thực sự là 1 vấn đề hay và rất thú vị, hy vọng trưởng lão tiếp tục bổ sung các chiêu thức mới cho lớp đệ tử kế cận học tập.
Ruby vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:52 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam