3.5.1. Thuật toán tổng quát cho robot ngoài khơi
Sơ đồ khối thuật toán tổng quát cho robot ngoài khơi :
Hình 3. 16 Sơ đồ thuật toán tổng quát cho robot
Giải thích sơ đồ khối thuật toán hình 3.16:
Xác định thông số ban đầu robot : xác định chiều dài từng khâu của robot, giới hạn góc quay từng khớp robot, xác định không gian làm việc của robot.
Thiết lập bảng DH : Cả 4 thông số xác định ở trên chính là bộ thông số DH : αn, an, dn, θn.Với 4 thông số trên , ta có thể xác định vị trí và hướng của mỗi khâu so với nhau và so với toạ độ gốc.
Phương pháp DLS, LMA để tìm động học nghịch (Inverse Kinematic) cho robot với khả năng hội tụ cao với số vòng lập ít hơn và đáp ứng nhanh hơn.
Sau khi xác định được phương trình toán điều khiển cho robot, chúng ta sẽ thu thập giá trị từ cảm biến leap motion (giá trị vị trí 3D X, Y, Z). Sau đó, công việc tiếp theo là đồng nhất hệ tọa tộ trong không gian của robot và cảm biến.
Đối với một số cảm biến có tích hợp thu thập giá trị vận tốc và gia tốc, chúng ta có thể sử dụng công thức [2.5], [2.7] để đoán được vị trí của vật trong tương lai gần.
Đầu tiên, thiết lập phương trình toán điều khiển cho robot : phương trình động học robot ngoài khơi [2.1], [2.2], [2.4]. Sau đó truyền tín hiệu (position 3D : X, Y, Z) thu được từ cảm biến leap motion cho hệ phương trình robot. Lập trình Robot sẽ “tracking” theo chuyển động của tay để bắt được vật trong dao động.
Dựa vào các phương pháp này, bù dao động và điều khiển chống dao động có thể được thực hiện. Kết hợp giữa phương pháp điều khiển robot cổ điển với cảm biến leap motion, robot có thể “tracking” theo chuyển động của vật trong không gian 3 chiều. Tóm lại, để bù chuyển động của con tàu, crane tip (khớp cuối của cần cẩu) sẽ luôn cố gắng làm theo các dao động tải để gắp vật trong môi trường có dao động sóng biển và chuyển động của tàu.
3.5.2. Thuật toán thu thập dữ liệu cho leap motion
Thuật toán thu thập dữ liệu cho leap motion kết hợp hai phương pháp : Phân lớp listener và phương pháp template matching. Để đảm bảo đáp ứng truyền dữ liệu real time cho robot
3.5.2.1. Phân lớp Listener (Classification)
Mục đích của thuật toán phân lớp Listener nhằm phân chia dữ liệu thu được thành nhiều lớp, để dễ kiểm soát và phân loại dữ liệu. Vì dữ liệu thu được từ cảm biến leap motion là một khối dữ liệu lớn. ( Tham khảo bài báo [1], [18] ).
Hình 3. 17 Sơ đồ khối thuật toán phân lớp listener
Nếu không kiểm soát, quản lý dữ liệu tốt thì việc điều chế dữ liệu sẽ khó khăn, tốn nhiều thời gian. Khi dùng thuật toán phân lớp Listener, sẽ giúp cho chúng ta giải quyết được vấn đề đáp ứng điều khiển real time cho robot.
Khi sự kiện xảy ra, bộ điều khiển sẽ hoạt động và gọi hàm đối tượng tương thích đã thiết lập từ trước. Tuy nhiên, nếu cánh tay robot thì cần phải đáp ứng nhiều hơn về real time, bằng cách tối ưu hóa đáp ứng bằng thuật toán sử dụng Listener phân lớp.
Nằm trong khu vực theo dõi các cảm biến Leap Motion, các mô hình bên trong phát hiện cánh tay của con người, thu về mẫu ảnh bàn tay, ngón tay, và các công cụ, ghi hình và báo cáo thông tin hướng, vị trí, thông tin cử chỉ của họ và chuyển động trong khung hình.
Tỉ lệ khung hình mặc định là 300 khung hình mỗi giây. Lớp Pointable cung cấp các đặc tính vật lý của một ngón tay hoặc phát hiện bàn tay. Đối tượng Pointable bao gồm các ngón tay và các công cụ khác. Pointable.isFinger () chức năng xác định liệu một
đối tượng Pointable đại diện cho một ngón tay. Pointable.isTool () chức năng xác định liệu một Pointable đối tượng đại diện cho một bàn tay.
3.5.2.2. Thuật toán template matching
Sau khi nhận dữ liệu từ thuật toán phân lớp, công việc tiếp theo là sử dụng thuật toán template matching để lọc khối dữ liệu thành những yếu tố đặ trưng nhất. Để giảm bớt thời gian xử lý, thỏa mãn điều khiển real time cho robot. (Tham khảo bài báo [1], [18]).
Phần thứ hai của thu thập dữ liệu là phân tích sâu hơn về việc xác định tỷ lệ lỗi bình đẳng EER (Equal Error Rate). EER là giá trị mà tại đó sai số FAR và FRR bằng nhau.
Trong đó : FAR : False Acceptance Rate (tỉ lệ sai số có thể chấp nhận được). FRR : False Reject Rate (tỉ lệ sai số do dữ liệu bị từ chối).
Lần đầu tiên, khi thu thập dữ liệu từ thuật toán phân lớp, thì tất cả những dữ liệu thu được sẽ được giảm kích thước xuống 4500 mẫu. Sau đó, 4500 mẫu này được chia thành hai phần :
2250 mẫu được dùng cho huấn luyện số liệu cho bàn tay ( hướng, vị trí, vận tốc, gia tốc…). Việc huấn luyện có thể được mô tả bằng phương trình sau :
Ti = Profile (useri) = average (𝒗𝒊𝟏... 𝒗𝒊𝒃...) [2.8]
Trong đó : i là số thứ tự đối tượng.
b là vector thuộc tính được sử dụng.
2250 mẫu còn lại dùng để kiểm tra độ chính xác của kết quả huấn luyện. Sau khi huấn luyện thì thuật toán template matching sẽ lọc ra những dữ liệu đặc trưng, quan trọng nhất của bàn tay.
Làm sao để biết được dữ liệu nào là đặc trưng, quan trọng nhất của bàn tay (thuyết đặc trưng). Đầu tiên, ta sẽ chọn lần lượt một ngưỡng giá trị từ 0% đến 100%, gọi là giá trị ngưỡng. Sau đó đem từng giá trị của dữ liệu trong bộ kiểm tra (2250 mẫu kiểm tra) so sánh với giá trị trong bộ huấn luyện (giá trị tham chiếu). Khoảng sai số chênh lệch của từng giá trị trong quá trình so sánh này gọi là di.
Nếu di < thì giá trị đó được chấp nhận (đảm bảo tính chính xác). Nếu di > thì giá trị đó bị từ chối (không đảm bảo tính chính xác). Quá trình này được mô tả bởi công thức toán :
Auth (Ti,vi) = 1 if |Ti − vi| > τ, 0 otherwise [2.9]
3.5.3. Thuật toán điều khiển cho robot ngoài khơi
Từ các nghiên cứu về các thuật toán thu thập dữ liệu real time cảm biến leap motion : thuật toán phân lớp listener và thuật toán template matching; thuật toán thiết lập phương trình động học (IK) cho robot hoạt động ngoài khơi. Có thể tóm tắt thuật toán điều khiển cho hệ thống như sau :
CHƯƠNG 4 : KẾT LUẬN 4.1. Kết luận
Tìm hiểu 4 chương về điều khiển robot, chúng ta có kiến thức nền tảng nhất để học tập, nghiên cứu về điều khiển robot ngoài khơi.
Từ chương 1 đến chương 2, đó là kiến thức về phương pháp bù dao động cho tàu thuyền hiện nay ( phương pháp bù dao động AHC & PHC ); kiến thức về điều khiển real time robot bằng leap motion. Cách thu thập dữ liệu từ cảm biến leap motion thỏa mãn đáp ứng điều khiển thời gian thực cho robot hoạt động ngoài khơi.
Chương 3: Thi công, thiết kế hệ thống, lựa chọn thông số thiết bị hệ thống. Thi công mô hình tàu tạo dao động sóng biển giống như thực tế. Thuật toán điều khiển ổn định robot gắp vật trong môi trương có dao động (bến cảng). Sử dụng real time leap motion để điều khiển robot ngoài khơi.
Chương 4 : Đánh giá, kết luận kết quả, hướng phát triển đề tài.
Trong quá trình nghiên cứu đã đạt được những yêu cầu đề ra : hiểu được phương pháp lập trình cho robot, phương pháp chống bù dao động và điều khiển chống dao động hiện đại, mô phỏng robot 6 bậc bằng matlab đã thực hiện ở chuyền đề và tiếp tục lập trình điều khiển robot trên mô hình thật.
Kết quả đạt được của đề tài rất khả quan, Robot có thể gắp được vật chính xác và rút ngắn thời gian điều khiển. Có thể áp dụng thuật toán cho nhiều mô hình robot khác. Kết quả đạt như sau: độ chính xác gần 100% khi thu thập dữ liệu cảm biến leap motion, điều khiển real time robot đạt gần 100%. Luận văn của tôi cải tiến và kết hợp từ các bài báo [1], [2], [14]. Độ chính xác thu được từ cảm biến tăng từ 90% lên 100%; đáp ứng real time đạt hiệu suất tối đa, cánh tay robot và cánh tay của người điều khiển gần như đồng bộ với nhau.
Trong quá trình nghiên cứu, bản thân gặt hái được nhiều kiến thức để làm nền tảng nghiên cứu cho robot ngoài khơi sau này. Như thiết kế robot, lập trình cho robot thực tế, thu thập dữ liệu các loại cảm biến, truyền nhận dữ liệu giữa máy tính và các chip vi điều khiển…
Vì năng lực và thời gian có hạn nên chắc chắn sẽ có những khiếm khuyết, sai sót. Mong quý thầy cô và các bạn đóng góp để đề tài hoàn chỉnh hơn.
Tôi xin chân thành cảm ơn quý thầy cô và các bạn đã hỗ trợ và giúp đỡ tận tình, giúp tôi hoàn thành chuyên đề đúng thời hạn.
Hình 4. 1 Mô hình thi công
4.2. Kết quả và đánh giá
Độ chính xác của cảm biến leap motion ( cảm biến hồi tiếp vị trí X, Y, Z trong không gian ba chiều ) là 0.01mm. Độ chính xác khi thu thập dữ liệu real time cho cảm biến leap motion bằng thuật toán phân lớp listener và template matching gần đạt đến hiệu suất 100%. Điều này được minh chứng trong bài báo “Leap Motion Controller for Authentication via Hand Geometry and Gestures” [2015], Hunter College High School, New York, NY, USA.
Đáp ứng truyền dữ liệu từ cảm biến (đọc cảm biến bằng phần mềm processing
java) cho kit Arbotix là 100 Khz.
Trong quá trình truyền dữ liệu, việc truyền và nhận dữ liệu là liên tục với tần số 100 Khz, như vậy tần số truyền nhận dữ liệu khá cao, nhưng cấu tạo cơ khí của động cơ (về tốc độ của động cơ) không đáp ứng kịp. Điều chỉnh tốc độ động cơ sử dụng thuật toán PID để động cơ hoạt động ổn định và đạt tốc độ mong muốn.
Chính vì vậy, tôi đã dùng phần mềm processing java và kết hợp với kit Arbotix cải thiện tốc độ động cơ, mục tiêu là hướng đến băm xung động cơ gần đến giá trị tốc độ không tải. Thỏa mãn điều khiển real time cho robot hoạt động ngoài khơi.
Hiện tại hướng nghiên cứu này mới nên chưa có nhiều thành tựu nghiên cứu khác để so sánh kết quả. Ở đây, tôi chỉ so sánh về phương diện xử lý độ chính xác của cảm
biến leap motion và đáp ứng real time cho robot. 2 yếu tố này quyết định chất lượng
và hiệu quả của đề tài.
Qua thực nghiệm, robot gắp sản phẩm thành công trong môi trường có dao động đạt hiệu suất chính xác hơn 90%. Thỏa mãn mục tiêu đặt ra của đề tài là : điều khiển ổn định robot gắp sản phẩm trong môi trường có dao động ( bến cảng).
4.3. Hướng phát triển đề tài.
Hướng đến phát triển điều khiển ổn định hệ thống mà môi trường làm việc của robot và tải đều bị tác động của dao động sóng biển.
Xây dựng hệ thống đoán vị trí của vật trong tương lai, để điều khiển robot hoạt động chính xác và hiệu quả trên môi trường có dao động (bến cảng). Thay thế cảm biến leap motion bằng cảm biến LiDAR, 4D Tracking Radar. Chúng ta có thể xây dựng hệ thống mô hình 3D thực tế, các cảm biến này giúp robot nhận dạng, dự đoán đối tượng để giải quyết các vấn đề ngoài khơi.
TÀI LIỆU THAM KHẢO
[1] Alexander Chan, Tzipora Halevi, and Nasir Memon [August 2015], Hunter College High School, New York, NY, USA, “Leap Motion Controller for Authentication via Hand Geometry and Gestures”
[2] Akhilesh Kumar Mishra Oscar Meruvia- Pastor [2015], Bài báo “Robot Arm Manipulation Using Depth-Sensing Cameras and Inverse Kinematics” University Newfoundland. Oceans14_IEEE_ID_7003029
[3] Department of Automatic Control Lund University Sweden [2014] “Robot workspace sensing and control with Leap Motion Sensor”.
[4] D. Putnam. [2014, May] Multi-Platform Active Heave Compensation System [Online].
[5] E. Pedersen and H. Engja [Aug. 2008] “Mathematical modeling and simulation of physical systems”, Lecture notes in course TMR4257 Modeling, Simulation and Analysis of Dynamic Systems, Department of Marine Technology, Norwegian University of Science and Technology.
[6] F. Sanfilippo, H. P. Hildre, V. Æsøy, H. Zhang, and E. Pedersen [May 2013]“Flexible modeling and simulation architecture for haptic control of maritime cranes and robotic arm,” 27th European Conference on Modelling and Simulation, pp. 235–242.
[7] GEMINI Centre for Advanced Robotics [2014] “3D vision and object recognition for off-shore robot guidance”
[8] G. Sarker, G. Myers, T. Williams, and D. Goldberg [May 2006] “Comparison of heave-motion compensation systems on scientific ocean drilling ship and their effects on wireline logging data,” Offshore Technology Conference
[9] Josiane Maria Macedo Fernandes, Marcelo Costa Tanaka, Raimundo Carlos Silv´erio Freire J´unior [2012] “A NEURAL NETWORK BASED CONTROLLER
FOR UNDER WATER ROBOTIC VEHICLES” University Natal, RN, Ấn Độ “ABCM Symposium Series in Mechatronics - Vol. 5”
[10] J. Neupert, T. Mahl, B. Haessig, O. Sawodny, and K. Schneider, [11-13 June 2008] “A heave compensation approach for offshore cranes,” American Control Conference, pp.538-543.
[11] K. T. Talberg [April 2012] “All-electrical active heave compensated winches with kinetic energy recovery system,” 17th North Sea Offshore Crane and Lifting Conference.
[12] Lonnie J. Love John F. Jansen Francois G. Pin U.S. DEPARTMENT OF ENERGY [2003] , “Compensation of Wave-Induced Motion and Force Phenomena for Ship-Based High Performance Robotic and Human Amplifying Systems”
[13] S. Takagawa [May 2010] “A new concept design of heave compensation system for longer life of cables,” Sydney of OCEANS, pp.1-5.
[14] Rolls-Royce Marine AS. (2014, May) Cable traction control unit – CTCU [Online].
[15] S. B. Van Albada, G. D. Van Albada, H. P. Hildre, and H. Zhang [May 2013] “A novel approach to anti-Sway control for marine shipboard cranes,”, 27th European Conference on Modelling and Simulation, pp.249-256.
[16] V.S. Kodogiannis P.J.G. Lisboa J. Lucas [2002] “ Neural network based predictive control systems for underwater robotic vehicles, University Liverpool. [17] Y. Chu, V. Æsøy, H. Zhang and Ø. Bunes [May 2014] “Modeling and simulation of an offshore hydraulic crane,” 28th European Conference on Modelling and Simulation, in press.
[18] Zhang Jinsong and Kevin Rong [2015] “Real-time Control of Robot Arm Based on Hand Tracking Using Leap Motion Sensor Technology” Shanghai University Advisors & WPI Project Advisor.