intTypePromotion=1

Điều khiển robot ba bánh sử dụng bộ điều PID

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:6

0
91
lượt xem
13
download

Điều khiển robot ba bánh sử dụng bộ điều PID

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài báo nghiên cứu Robot ba bánh (Omnidirectional Mobile Robot-OMR) sử dụng thuật toán PID để điều khiển. OMR sẽ chạy theo một quỹ đạo cho trước sao cho sai số về không. Thuật toán PID sử dụng PWM trong điều khiển tốc độ động cơ và điều khiển quỹ đạo của OMR để không những sai số nhỏ mà dao động của hệ thống cũng được giới hạn. Thuật toán đã được kiểm chứng qua một số thực nghiệm để đánh giá về tính hiệu quả, ổn định của thuật toán cũng như sự kết hợp trong điều khiển cả hai đối tượng cùng lúc.

Chủ đề:
Lưu

Nội dung Text: Điều khiển robot ba bánh sử dụng bộ điều PID

Tạp chí Khoa học - Công nghệ Thủy sản<br /> <br /> Số 3/2017<br /> <br /> THOÂNG BAÙO KHOA HOÏC<br /> <br /> ĐIỀU KHIỂN ROBOT BA BÁNH SỬ DỤNG BỘ ĐIỀU PID<br /> CONTROL OF OMNIDIRECTIONAL MOBILE ROBOT<br /> BASED ON PID CONTROLLER<br /> Trần Văn Hùng1, Nguyễn Văn Hân1<br /> Ngày nhận bài: 15/10/2016; Ngày phản biện thông qua: 28/3/2017; Ngày duyệt đăng: 25/9/2017<br /> <br /> TÓM TẮT<br /> Bài báo nghiên cứu Robot ba bánh (Omnidirectional Mobile Robot-OMR) sử dụng thuật toán PID để<br /> điều khiển. OMR sẽ chạy theo một quỹ đạo cho trước sao cho sai số về không. Thuật toán PID sử dụng PWM<br /> trong điều khiển tốc độ động cơ và điều khiển quỹ đạo của OMR để không những sai số nhỏ mà dao động của<br /> hệ thống cũng được giới hạn. Thuật toán đã được kiểm chứng qua một số thực nghiệm để đánh giá về tính hiệu<br /> quả, ổn định của thuật toán cũng như sự kết hợp trong điều khiển cả hai đối tượng cùng lúc.<br /> Từ khóa: Robot 3 bánh (OMR), PID<br /> ABSTRACT<br /> The paper demonstrates an Omnidirectional Mobile Robot (OMR), which is based on PID controller.<br /> The purpose is to control the OMR such that the tracking errors converge to zero. PID controller is applied to<br /> tune the PMW signal of the motor revolution, and correct path deviation issues encountered when the robot is<br /> moving. The effectiveness of the proposed approach was verified through several tracking experiments, which<br /> demonstrate the feasibility of a PID controller path tracker as well as the control of motor DC speed<br /> Keywords: Omnidirectional Mobile Robot (OMR), PID<br /> I. ĐẶT VẤN ĐỀ<br /> OMR có thể di chuyển theo bất kỳ phương<br /> nào mà không cần quay đầu. Các mô hình và<br /> điều khiển OMR đã được một số nhà nghiên<br /> cứu đưa ra trong thời gian gần đây. Mô hình<br /> động lực học và điều khiển theo quỹ đạo đã<br /> được đưa ra, coi OMR giống như tập hợp của<br /> ba động cơ [4]. Huang và Tsai sử dụng Field<br /> Programmable Gate Array (FPGA) làm bộ điều<br /> khiển. Họ đã sử dụng FPGA để thực nghiệm,<br /> bộ điều khiển thích nghi bền vững để giải<br /> quyết động lực học cho OMR [5]. Sai số khi di<br /> chuyển của OMR phụ thuộc vào nhiều yếu tố<br /> <br /> 1<br /> <br /> Khoa Cơ khí, Trường Đại học Nha Trang<br /> <br /> 36 • TRƯỜNG ĐẠI HỌC NHA TRANG<br /> <br /> như: rung động cơ, nguồn, trọng lượng OMR,<br /> bánh xe, và ngay cả mặt phẳng di chuyển; đó<br /> là điều không thể bỏ qua. Meng và Chiu sử<br /> dụng thuật toán mờ cho encoder để giải quyết<br /> vấn đề dao động khi đi theo quỹ đạo thẳng [3].<br /> Bộ điều khiển Proportional-Integral-Derivative<br /> (PID) cho động cơ thường được sử dụng<br /> trong công nghiệp bởi vì chúng đơn giản, dễ<br /> sử dụng và đủ chức năng [1]. Tốc độ điều<br /> chỉnh bằng cách thay đổi độ rộng xung (PWM)<br /> dựa vào xung được phản hồi về khi động cơ<br /> quay.Trong bài báo này, vị trí của OMR sẽ<br /> được điều khiển bởi thuật toán PID dựa vào<br /> <br /> Tạp chí Khoa học - Công nghệ Thủy sản<br /> phản hồi từ động cơ. Bên cạnh đó, tốc độ ba<br /> bánh của OMR cũng được điều khiển chính<br /> xác dựa vào thuật toán PID.<br /> II. ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU<br /> 1. Đối tượng nghiên cứu<br /> Robot ba bánh<br /> <br /> Số 3/2017<br /> - Xác định yêu cầu kỹ thuật OMR.<br /> - Tính toán các giá trị đầu vào ra, từ đó thiết<br /> kế sơ bộ OMR.<br /> - Xây dựng phương án chế tạo OMR.<br /> - Thử nghiệm, kiểm tra và hoàn chỉnh.<br /> III. KẾT QUẢ NGHIÊN CỨU VÀ THẢO LUẬN<br /> <br /> 2. Phương pháp nghiên cứu<br /> Phương pháp nghiên cứu được sử dụng<br /> dựa trên tính toán lý thuyết kết hợp với thực<br /> nghiệm, trong đó chủ yếu vào phép “Trial and<br /> error” có định hướng. Trong nghiên cứu này<br /> cần chạy thử và kiểm tra OMR để tìm ra được<br /> bộ tham số của thuật toán PID tối ưu. Bước<br /> một tìm bộ tham số PID cho điều khiển tốc độ,<br /> bước hai là tìm bộ tham số cho điều khiển vị trí<br /> và cuối cùng kết hợp để được bộ tham số tối<br /> ưu cho cả OMR.<br /> Qui trình nghiên cứu, chế tạo OMR theo<br /> các bước sau:<br /> <br /> 1. Thiết kế phần cứng<br /> Hệ thống được xây dựng dựa vào bộ vi<br /> điều khiển Atmega không những cung cấp hiệu<br /> năng cao và giá thành thấp mà còn có các tính<br /> năng tích hợp như ADC, PWM, UART, EI,… để<br /> giảm tối đa các thiết bị phụ trợ đi kèm. Thêm<br /> vào đó, thuật toán trên Atmega có thể dễ dàng<br /> cài đặt hơn nhờ vào các ngôn ngữ lập trình C<br /> hoặc C++ và có thể nhúng assembly.<br /> OMR được mô tả trên hình 1. Tổng khối<br /> lượng khoảng 5kg. Khung của OMR là được<br /> làm từ mica và thanh tấm nối, đặt ba động cơ<br /> tạo thành góc 1200.<br /> <br /> Hình 1. Mô hình thực nghiệm<br /> <br /> Sơ đồ hệ thống được chỉ ra trong Hình 1.<br /> Các thiết bị ngoại vi bao gồm: ba bộ điều khiển<br /> động cơ (LMD18200), động cơ DC (GA37 V1)<br /> và enconder (11PPR). Giao tiếp giữa bộ điều<br /> khiển với máy tính thông qua cổng UART<br /> wireless để việc điều khiển và lấy dữ liệu được<br /> dễ dàng. Thời gian cho một chu kỳ thuật toán<br /> <br /> đúng 10ms, sử dụng timer để định thời gian<br /> cho hệ thống. Thêm vào đó, bộ điều khiển<br /> PWM đạt hiệu quả cao mà đơn giản trong điều<br /> khiển tốc độ động cơ. Bằng việc sử dụng bộ<br /> cầu H, bộ điều khiển có thể điều khiển vị trí,<br /> tốc độ dựa vào phản hồi tốc độ từ encoder gắn<br /> trên ba động cơ.<br /> TRƯỜNG ĐẠI HỌC NHA TRANG • 37<br /> <br /> Tạp chí Khoa học - Công nghệ Thủy sản<br /> <br /> Số 3/2017<br /> <br /> Cầu LMD18200 kết nối vào bộ điều khiển<br /> qua hai chân Dir (chiều quay) và PWM (tốc<br /> độ). Bộ điều chế tín hiệu PWM được cài<br /> đặt trong vi điều khiển Atmega8. Bằng cách<br /> sử dụng bộ tích hợp sẵn PWM, bộ PWM<br /> <br /> tự động xuất ra PWM mà không tốn thời gian<br /> xử lý. Atmega8 có thể tạo ra 3 tín hiệu PWM.<br /> Trong OMR này, mỗi bộ điều khiển động<br /> cơ bao gồm: Atmega8, cầu H (LMD18200)<br /> và encoder.<br /> <br /> Hình 2. Kiến trúc hệ thống điều khiển<br /> <br /> Để tối ưu tốc độ đường truyền giữa OMR và<br /> OMR là 4 byte. 15 byte là khung truyền từ OMR<br /> máy tính, hai loại khung truyền được sử dụng:<br /> lên máy tính. Byte lệnh đóng vai trò như là câu<br /> khung truyền từ máy tính (Bảng 1) và khung<br /> lệnh, đôi khi là tên của loại dữ liệu và byte dữ<br /> truyền từ OMR (Bảng 2). Máy tính truyền xuống<br /> liệu là thông tin cho câu lệnh đó.<br /> Bảng 1. Khung dữ liệu từ máy tính xuống OMR<br /> Lệnh<br /> (CMD)<br /> <br /> Dữ liệu<br /> (Data (0÷1))<br /> <br /> Kiểm lỗi<br /> (Checksum)<br /> <br /> No.B<br /> <br /> 1<br /> <br /> 2<br /> <br /> 1 byte<br /> <br /> Giá trị<br /> <br /> 240÷255<br /> <br /> 0÷52899<br /> byte0 = value/230;<br /> byte1 = value%230;<br /> <br /> 0÷15<br /> cs = cmd ^ data0 ^ data1 ^ cs;<br /> cs = (cs & 0x0F) ^ (cs>>4);<br /> <br /> Bảng 2. Khung dữ liệu từ OMR lên máy tính<br /> Lệnh (CMD)<br /> <br /> Dữ liệu<br /> (Data (0÷1))<br /> <br /> Kiểm lỗi<br /> (Checksum)<br /> <br /> Kết thúc<br /> <br /> No.B<br /> <br /> 1<br /> <br /> 6x2<br /> <br /> 1<br /> <br /> 1<br /> <br /> Giá trị<br /> <br /> 240÷255<br /> <br /> 0÷52899<br /> byte0(Di)=value/230;<br /> byte1(Di)=value%230;<br /> <br /> 0÷15<br /> cs = cmd^data0^data1^cs;<br /> cs = (cs&0x0F)^(cs>>4);<br /> <br /> 255<br /> <br /> Giao thức kết nối theo kiến trúc chủ/tớ, chủ<br /> sẽ yêu cầu dữ liệu từ tớ thông qua câu lệnh.<br /> Máy tính là chủ, OMR là tớ. Máy tính đôi khi<br /> cũng đưa lệnh thực hiện trực tiếp cho OMR.<br /> Máy tính khởi tạo chu trình hoạt động thông qua<br /> loại câu lệnh gửi xuống OMR. Khi nhận được<br /> <br /> 38 • TRƯỜNG ĐẠI HỌC NHA TRANG<br /> <br /> câu lệnh, OMR sẽ phân tích xử lý để đưa ra<br /> hành động đúng với kịch bản.<br /> Có ba encoder tương đối được lắp trên<br /> OMR ở ba động cơ và ba động cơ lắp vào khung<br /> OMR tạo với nhau một góc 1200. Phương pháp<br /> đơn giản đo tốc độ động cơ là đo tần số của<br /> <br /> Tạp chí Khoa học - Công nghệ Thủy sản<br /> <br /> Số 3/2017<br /> <br /> encoder gắn trên đuôi động cơ. Tuy nhiên sai<br /> số lượng tử của phép đo rất cao khi tốc độ thấp<br /> bởi phụ thuộc vào số xung encoder trả về trong<br /> một vòng quay và thời gian lấy mẫu. Thời gian<br /> lấy mẫu tăng thì tốc độ đáp ứng hệ thống càng<br /> thấp. Một phương pháp khác là đo độ rộng<br /> xung trả về từ encoder, nhưng khi tốc độ động<br /> cơ càng cao, sai số lượng tử khi đo càng lớn.<br /> <br /> Bằng việc kết hợp hai phương pháp tần<br /> số và độ rộng xung, lỗi được giảm rất lớn [7],<br /> [9]. Ý tưởng của phương pháp này được trình<br /> bày trên hình 4. Tốc độ động cơ được tính dựa<br /> vào khoảng thời gian (CountT) và số xung trong<br /> một đơn vị thời gian (∆N).<br /> (1)<br /> <br /> Hình 3. Đo tốc độ động cơ<br /> <br /> Lỗi của phương pháp này được tính theo<br /> công thức sau:<br /> (2)<br /> Hệ số lỗi của phép đo rất nhỏ so với hai<br /> phương pháp đo tần số và độ rộng xung cho<br /> toàn giải vận tốc. Nói một cách khác lỗi của<br /> phương pháp kết hợp này không phụ thuộc<br /> vào vận tốc, mà chỉ phụ thuộc vào độ chính<br /> xác của encoder và bộ tính toán vận tốc<br /> từ encoder.<br /> 2. Điều khiển tốc độ động cơ<br /> Bộ điều khiển PID (Proportional-IntegralDerivative) được sử dụng nhiều trong các hệ<br /> <br /> và<br /> là các tham số tỉ lệ, tích<br /> Với ,<br /> phân và vi phân tương ứng.<br /> Trong nghiên cứu này, thuật toán PID đơn<br /> giản [2] mà dựa trên đáo ứng hệ thống được<br /> sử dụng để xác định hệ số của bộ điều khiển.<br /> Phương pháp này cung cấp cách thức điều<br /> chỉnh dựa trên tỉ lệ để giảm tối thiểu lỗi và vọt<br /> lố. Giá trị đầu ra của động cơ được định nghĩa<br /> như sau:<br /> (4)<br /> 3. Điều khiển vị trí OMR<br /> 3.1. Phương trình động học<br /> Phương trình động học có thể được viết<br /> như sau (Huang and Hung June 2013)<br /> <br /> thống công nghiệp bởi tính đơn giản, sử dụng<br /> <br /> (5)<br /> <br /> ít tham số cài đặt. Bộ điều khiển PID có khả<br /> năng loại bỏ các trạng thái ổn định lỗi dựa vào<br /> tích phân và dự đoán giá trị đầu ra dựa vào<br /> sự thay đổi của đầu vào khi hệ thống có sự<br /> thay đổi đột ngột. Hầu hết thuật bộ điều khiển<br /> PID hiện nay đều điều chỉnh các tham số theo<br /> phương pháp Ziegler-Nichols, mà dựa các<br /> thông số thu được từ đáp ứng của hệ thống.<br /> Phương trình tổng quát của thuật toán [8] là:<br /> (3)<br /> <br /> Với:<br /> θ<br /> <br /> θ<br /> <br /> θ<br /> θ<br /> <br /> θ<br /> π<br /> π<br /> <br /> θ<br /> θ<br /> <br /> π<br /> <br /> (6)<br /> <br /> π<br /> <br /> : Vận tốc góc bánh thứ i<br /> : Góc quay của OMR<br /> : Bán kính bánh xe<br /> : Vị trí hiện tại của OMR<br /> TRƯỜNG ĐẠI HỌC NHA TRANG • 39<br /> <br /> Tạp chí Khoa học - Công nghệ Thủy sản<br /> <br /> Số 3/2017<br /> trong hệ tọa độ của OMR ta sẽ tính toán được<br /> <br /> : Bán kính thân OMR<br /> <br /> :<br /> <br /> giá trị đầu ra tương ứng.<br /> <br /> Ma trận trên không suy biến với mọi θ ε R.<br /> Vì thế ma trận M (θ) có thể nghịch đảo<br /> θ<br /> θ<br /> <br /> θ<br /> θ<br /> <br /> π<br /> π<br /> <br /> θ<br /> θ<br /> <br /> (10)<br /> Để có thể điều khiển được OMR, giải thuật<br /> được viết lại như sau:<br /> <br /> π<br /> <br /> (7)<br /> <br /> π<br /> <br /> (11)<br /> Với u là vecter điện áp của các động cơ,<br /> là hăng số.<br /> được đưa ra<br /> <br /> Thuật toán cập nhật cho<br /> như sau<br /> <br /> (12)<br /> Với<br /> <br /> là hằng số.<br /> <br /> 3.3. Kết quả thực nghiệm<br /> Thực nghiệm được đưa ra trong phần này<br /> nhằm kiểm tra lại phần thiết kế. Một số thông<br /> số của hệ thống trong thực nghiệm này:<br /> Hình 4. Hệ tọa độ<br /> <br /> 3.2. Giải thuật điều khiển cho OMR<br /> Mục đích của bộ điều khiển là điều khiển<br /> điện áp động cơ thông qua PWM sao cho lỗi có<br /> thể về không. Để đạt được cái đích đó bài báo<br /> sẽ đưa ra giải thuật như sau.<br /> Vector lỗi được định nghĩa như sau:<br /> (8)<br /> Và tổng vetor lỗi là:<br /> <br /> Tham số của giải thuật điều khiển:<br /> Sử dụng phương pháp Ziegler-Nichols để<br /> xác định hệ số<br /> <br /> và<br /> <br /> ta được:<br /> <br /> Quỹ đạo mong muốn là hình tròn được<br /> biểu diễn trên Hình 6 theo công thức:<br /> <br /> (9)<br /> <br /> (13)<br /> <br /> là hằng số<br /> Với<br /> Bộ điều PID (Proportional Integral Derivative)<br /> được trình bày trên Hình 5.<br /> <br /> Với giá trị khởi tạo ban đầu:<br /> (14)<br /> Lỗi vị trí rất nhanh trở về không sau 1,5<br /> giây, có thể thấy rõ hơn trên Hình 6. Vector vị<br /> trí<br /> <br /> bám theo quỹ đạo tham chiếu<br /> <br /> với<br /> <br /> độ chính xác cao trong Hình 6. Nói cách khác,<br /> giá trị điều khiển PID lớn nhất đạt giá trị cực<br /> trị là ±12V. Kết quả thực nghiệm một lần nữa<br /> Hình 5. Hệ thống điều khiển PID<br /> <br /> chứng minh tính đúng đắn của thuật toán để<br /> <br /> Bộ điều khiển PID được tính toán cho mỗi<br /> giá trị của bộ điều khiển. Ứng với một giá trị<br /> <br /> điều khiển OMR đi theo một quỹ đạo và giá trị<br /> <br /> 40 • TRƯỜNG ĐẠI HỌC NHA TRANG<br /> <br /> điện áp điều khiển phù hợp.<br /> <br />
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2