Hệ thống điều khiển vận động cho robot hỗ trợ người thiểu năng vận động

7 84 1
Hệ thống điều khiển vận động cho robot hỗ trợ người thiểu năng vận động

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết Hệ thống điều khiển vận động cho robot hỗ trợ người thiểu năng vận động trình bày cấu trúc hệ điều khiển vận động, giải thuật điều khiển bám góc khớp, các thuật toán điều khiển và các kết quả thực nghiệm các chức năng hỗ trợ vận động cho người thiểu năng vận động đi lại trên đường bằng, đứng lên ngồi xuống và lên xuống cầu thang.

Hội nghị toàn quốc lần thứ Cơ Điện tử - VCM-2014 Hệ thống điều khiển vận động cho robot hỗ trợ người thiểu vận động The motion control system of the assistive robot for people with movement disability Nguyễn Bá Đại Học viện Kỹ thuật Quân e-Mail: badainguyen@mta.edu.vn Tăng Quốc Nam Học viện Kỹ thuật Quân e-Mail: tangquocnam@mta.edu.vn liệu nhỏ Tóm tắt: Robot hỗ trợ người thiểu vận động robot mang người, hoạt động đồng với thể phận mở rộng thể, có chức giúp người thiểu vận động lại chân luyện tập phục hồi chức lại Để thực q trình lại, tồn khớp chân robot điều khiển phối hợp nhờ điều khiển trung tâm, theo liệu góc khớp cho trước Bài báo trình bày cấu trúc hệ điều khiển vận động, giải thuật điều khiển bám góc khớp, thuật tốn điều khiển kết thực nghiệm chức hỗ trợ vận động cho người thiểu vận động lại đường bằng, đứng lên ngồi xuống lên/xuống cầu thang Từ khóa: robot hỗ trợ, xương ngồi, người thiểu vận động, điều khiển bám quĩ đạo Thời gian chu kỳ biến thiên liệu nhỏ theo định lý Nyquist Hệ số an toàn tối thiểu Tmin nyquist s kmin Tqdo s Tbuoc Vdibo _max s s m/s Thời gian chu kỳ bước Thời gian chu kỳ bước nhỏ Vận tốc lớn d buoc  (t)  '(t ) m rad rad/s Độ dài bước chân f max nyquist Hz Tần số biến thiên liệu lớn theo định lý Nyquist Tbuoc _min Thời gian độ động Dữ liệu góc theo thời gian Đạo hàm liệu góc Abstract: The assistive robot for people with movement disability is a wearable robot or exoskeleton It works as an extender, which supports people with movement disability in movement activities by legs as well as is used to rehabilitate In order to perform this actions, all joints of robots including knee and hip are rhythmically controlled by tracking controller with the sample data received from experiments with healthy people In this paper, the structure of motion control systems, the strategy of angle control, the algorithm and some results of experiments in different mode such as walking, sitting down, standing up, going up/down stair are introduced Keywords: assistive robot, exoskeleton, people with movement disability, tracking controller Ký hiệu: Ký hiệu   ref N step Đơn vị rad Nm rad - Ý nghĩa Góc khớp Mơ men khớp Góc khớp mẫu Số lần lấy mẫu liệu Nstepmin - Số lần lấy mẫu liệu nhỏ N stepmax - T Tmin s s Số lần lấy mẫu liệu lớn Thời gian chu kỳ lấy mẫu Thời gian chu kỳ lấy mẫu nhỏ Tmax Tmin s s Thời gian chu kỳ lấy mẫu lớn Thời gian chu kỳ biến thiên VCM-2014 Chữ viết tắt: RBHT TNVĐ BTD NCKH PID MTTT BXLTT Robot hỗ trợ Thiểu vận động Bậc tự Nghiên cứu khoa học Bộ điều khiển Tỷ lệ-Tích phân-Vi phân Máy tính trung tâm Bộ xử lý trung tâm Đặt vấn đề Robot hỗ trợ người thiểu vận động (sau gọi robot hỗ trợ - RBHT) robot mang người, hoạt động đồng với thể phận mở rộng (extender), có chức giúp người thiểu vận động (TNVĐ) lại chân luyện tập phục hồi chức lại Theo chức năng, kết cấu phương thức hoạt động mình, RBHT điểm giao nhiều loại robot có tên: robot sinh học (bio-robot), robot Tracking Controller người (humanoid robot), robot - xương (exoskeleton), robot mặc (wearable robot),…[5] Đi dạng vận động thể, có tính tự động, theo chu kỳ, hệ vận động thực Hệ vận động gồm có hệ: hệ xương hệ thần kinh vận động Hệ xương vận động (gọi tắt hệ xương H 1a) gồm xương, khớp Hệ xương khớp chi làm thành khung kết cấu không gian, truyền lực truyền chuyển động Ý tưởng thiết kế hệ xương RBHT lấy từ hệ xương người, dựa mơ hình đơn giản H 1b Mỗi chân RBHT Hội nghị toàn quốc lần thứ Cơ Điện tử - VCM-2014 cấu phẳng khâu, khớp (3 BTD) theo nguyên tắc đồng khớp, song song với hệ vận động người mang [8] Khớp hông khớp gối dẫn động nhờ động động độc lập, góc quay đo trực tiếp sensor vị trí gắn trực tiếp lên trục quay khớp Khớp cổ chân khớp bị động, giới hạn góc quay cấu đàn hồi giảm chấn mang: đứng lên, ngồi xuống, hay dừng,…Bộ tạo quỹ đạo mẫu có nhiệm vụ chọn chương trình tương ứng theo ý định, tạo liệu quỹ đạo cho điều khiển bám Bộ điều khiển bám điều khiển hệ chấp hành bám theo quỹ đạo mẫu Hệ chấp hành giữ vai trò cơ, làm chuyển động khớp f Hoạch định vận động Người mang Y(,,f) Tạo quỹ đạo mẫu ref ĐK bám quỹ đạo u Chấp hành , Khung robot ,  Cấu trúc hệ vận động RBHT H Hệ chấp hành động cơ, tạo dịch chuyển góc  hay mơ-men  khớp Vì khớp chân robot chân người đồng trục với nên chuyển động robot truyền trực tiếp sang người Muốn bàn chân bám quỹ đạo mẫu khớp chân phải bám theo góc khớp mẫu ref (H 3) d  ref + e - (b) H Hệ thống - xương chi người (a) robot hỗ trợ (b) Để thực trình bộ, toàn khớp chân điều khiển phối hợp nhờ điều khiển trung tâm, theo liệu góc khớp, thường đo, ghi thực nghiệm người khỏe, hiệu chỉnh cho phù hợp với tình trạng người TNVĐ cụ thể Một số liệu chuẩn bị công phu sử dụng rộng rãi, Antonie Bogert, Harman, Winter [1] Các nghiên cứu động học, động lực học, mơ hình hóa, mơ thiết kế hệ thống vận động cho RBHT thuộc đề tài NCKH cấp Nhà nước mã số KC03.12/11-15 thực công bố cơng trình [2][3][4][8] [9] Trên sở đó, tiến hành xây dựng hệ thống điều khiển vận động cho RBHT theo liệu góc khớp cho trước tiến hành thực nghiệm chức hỗ trợ vận động cho người TNVĐ lại đường bằng, đứng lên ngồi xuống lên/xuống cầu thang Bài báo tập trung vào cấu trúc hệ điều khiển vận động, giải thuật điều khiển bám góc khớp, thuật toán điều khiển kết thực nghiệm RBHT người TNVĐ với chức vận động Bộ điều khiển bám H u Thiết bị chấp hành  ,  (t) Khớp robot Cấu trúc hệ điều khiển khớp Dữ liây thông số tốc độ phần cứng đáp ứng động có sẵn coi số cho trước Tmin , đó: T  Tmin hay N step  Nstepmax (1) Mặt khác, số lượng lấy mẫu N step nhỏ hay thời gian lấy mẫu T lớn lên, điều dễ nhận thấy đặc tính động học đồ thị đầu vào khơng đủ để mơ tả q trình thực góc khớp chuyển động góc khớp xảy tượng giật, đó: T  Tmax hay N step  Nstepmin (2) Để tính tốn giá trị Tmin , Nstepmin cần dựa vào giá trị thời gian độ Tqdo đáp ứng phần cứng điều khiển PID động với thời gian chu kỳ bước Tbuoc Về giá trị, để phần cứng đáp ứng giá trị góc đặt trước, thời gian điều khiển sau chu kỳ lấy mẫu phải đảm bảo lớn giá trị thời gian VCM-2014 độ động điều khiển PID Do lựa chọn: Tmin  kmin Tqdo (3) với kmin hệ số an toàn cho ngưỡng hay T  k Tqdo (4) Xét trạng thái RBHT hoạt động vận tốc lớn ( Vdibo _max = 3km/h, độ dài bước chân dbuoc  0.5m ) chu kỳ bước ngắn là: d 3600 0,5.3600 Tbuocmin  buoc   0, 6s (5) Vdibo _ max 1000 3000 Khi đó, giá trị lớn chu kỳ lấy mẫu là: T T 0,6 Nstepmax  buocmin  buocmin   250 (6) Tmin kmin Tqdo 1, 2.0,002 Với số lần lấy mẫu N step  N stepmax thời gian lấy mẫu chế độ vận tốc khác thỏa mãn điều kiện: T  k Tqdo Mặt khác, coi liệu mẫu liên tục  (t) theo định lý lấy mẫu Nyquist-Shannon-Kotelnikov, tín hiệu giá trị góc khớp khơng chứa thành phần tần số lớn giá trị f max nyquist biểu diễn xác tập giá trị với chu kỳ lấy mẫu T  Đây giá f max nyquist trị lớn mà thời gian lấy mẫu liệu góc khớp đạt để giữ cho đặc tính biến thiên liệu khơng bị thay đổi Vì thân liệu góc khớp mô tả dạng hàm số, nên việc xác định giá trị f max nyquist khó khăn xác định cách gần thông qua tập giá trị đầy đủ liệu góc khớp chế độ  t ' t i-3 t i-2 t i-1 ti t i+2 t i+1 H Đồ thị mô tả trạng thái f max nyquist Giả sử đồ thị góc khớp H 5, cho thấy thành phần tần số cao f max nyquist hay chu kỳ Tmin nyquist tín hiệu vị trí mà thời gian biến thiên góc khớp từ giá trị cực đại tới cực tiểu hay ngược lại bé Trên đồ thị vận tốc góc  '(t ) theo thời gian, chu kỳ Tmin nyquist tương ứng với thời điểm mà giá trị  '(t )  gần nhất: Tmin nyquist  ti (7) Do đó, từ đồ thị góc khớp vận tốc góc khớp cho trước H 4, xác định thời gian Hội nghị toàn quốc lần thứ Cơ Điện tử - VCM-2014 Tmin nyquist chế độ bước Để số lần lấy mẫu thỏa mãn chung cho tất chế độ hoạt động khác nhau, lựa chọn thời gian Tmin nyquist nhỏ chế độ Từ thực nghiệm tính tốn phân tích đồ thị góc khớp chế độ thể H (chế độ xuống cầu thang có biến thiên tốc độ góc khớp mãnh liệt nhất), rút kết luận: Tmin nyquist 1.5%Tbuoc  0.015Tbuoc (8) Do đó: 1 f max nyquist   (9) Tmin nyquist 0.015.Tbuoc Chu kỳ lấy mẫu theo định lý Nyquist-ShannonKotelnikov: 0, 015.Tbuoc Tmin    0, 0075.Tbuoc (10) f max nyquist Số lần lấy mẫu liệu để đảm bảo chế độ hoạt động với vận tốc khác mơ tả đặc tính động học góc khớp là: T Tbuoc N stepmin  buoc   133 (11) Tmin 0, 0075.Tbuoc tín hiệu điều khiển tương ứng cho điều khiển cấu chấp hành Ngồi ra, MTTT đóng vai trò hiển thị trực quan phản hồi vị trí góc khớp robot phục vụ trình giám sát robot ghi liệu góc khớp chế độ đo liệu thực nghiệm Bộ xử lý trung tâm đóng vai trò điều khiển cấu chấp hành, sử dụng vi xử lý, vi điều khiển hay module FPGA, (ở sử dụng vi điều khiển AVR Atmega128) BXLTT nhận liệu góc khớp từ MTTT theo chu kỳ rời rạc hóa, tính tốn giá trị góc cần điều khiển đồng thời đọc giá trị cảm biến vị trí gửi lên MTTT 2.4 Thuật toán điều khiển robot 2.3 Sơ đồ cấu trúc hệ thống Sau lựa chọn số lần lấy mẫu phù hợp, liệu rời rạc hóa sử dụng q trình điều khiển robot chế độ tương ứng Dễ thấy liệu góc khớp giá trị thập phân giá trị biến đổi không theo quy luật xác định nên việc lưu trữ trực tiếp liệu thiết bị xử lý điều khiển cấu chấp hành mạch vi điều khiển, vi xử lý… khó khăn Do tích hợp hoạch định vận động lên BXLTT khó khả thi Từ lý trên, sơ đồ cấu trúc hệ thống bố trí phần cứng RBHT đề xuất H H H Sơ đồ cấu trúc hệ thống bố trí phần cứng điều khiển RBHT Cấu trúc hệ thống bao gồm hoạch định vận động máy tính trung tâm (MTTT) đóng vai trò giao tiếp với người sử dụng, lưu trữ liệu góc khớp tương ứng với chế độ đồng thời giao tiếp với vi xử lý MTTT nhận biết yêu cầu người sử dụng thông qua tay điều khiển bàn phím máy tính, hoạch định chế độ vận động phù hợp, sau đưa VCM-2014 Thuật toán chung hệ thống điều khiển RBHT Từ việc bố trí phần cứng thiết đặt liệu trên, thuật toán điều khiển BXLTT cho RBHT thể H Trong trình hoạt động robot, BXLTT liên tục nhận tín hiệu điều khiển, tín hiệu trạng thái từ hoạch định vận động Tùy theo giá trị cờ thiết lập mà BXLTT đưa tín hiệu điều khiển tương ứng cho điều khiển PID Khi nhận trạng thái yêu cầu thay đổi chế độ từ hoạch định vận động, BXLTT tạm dừng hoạt động đồng thời chuyển sang chế độ nạp liệu (LoadData) Việc truyền nhận xác liệu cho chế độ hoạt động từ hoạch định vận động quan trọng, việc truyền nhận liệu phải đảm bảo nhận đúng, đủ giá trị thứ tự bước chu kỳ rời rạc hóa tương ứng với khớp robot Ở đây, việc truyền nhận liệu thực giá trị góc khớp từ đầu tới cuối chu kỳ cho khớp, khởi đầu từ giá trị iStep = Hội nghị toàn quốc lần thứ Cơ Điện tử - VCM-2014 liệu góc khớp gối trái kết thúc giá trị tương ứng với iStep = Nstep khớp hơng (H 8) Để tránh việc bỏ sót liệu trình truyền nhận, BXLTT sử dụng cờ trạng thái báo đọc giá trị góc tương ứng với bước iStep yêu cầu gửi lần gửi trước đó, sau gửi trạng thái cờ cho MTTT đồng thời gửi giá trị góc yêu cầu nhận H H Thuật toán truyền nhận liệu Sau kết thúc thành cơng q trình truyền nhận liệu góc khớp, người sử dụng phải thực bước chuẩn bị cách điều khiển trực tiếp từ hoạch định vận động Bộ hoạch định vận động vào chế độ lựa chọn (đi bộ, lên/xuống cầu thang, ) mà gửi tín hiệu điều khiển xuống BXLTT điều khiển khớp vị trị khởi tạo tương ứng Sau kết thúc q trình chuẩn bị, hệ thống chờ tín thực từ người sử dụng, tín hiệu hoạch định vận động gửi xuống BXLTT cờ thực Chế độ thực BXLTT tính tốn điều khiển góc khớp tương ứng với giá trị liệu góc khớp nhận sau chế độ LoadData Nhờ hỗ trợ điều khiển PID vào dạng liệu với chế độ vận tốc thiết đặt, nhiệm vụ BXLTT tạo khoảng thời gian lấy mẫu để điều khiển góc khớp bám giá trị góc liệu cách phù hợp Trong chu kỳ, BXLTT thực việc gửi giá trị góc cần bám cho điều khiển PID để điều khiển động đồng thời đo đạc giá trị đáp ứng để hiệu chỉnh Quá trình hiệu chỉnh thực cuối chu kỳ (H 9) Thuật toán điều khiển bám theo liệu 2.5 Sản phẩm kết thực nghiệm RBHT người TNVĐ thiết kế, chế tạo với đầy đủ kết cấu từ khung xương, động dẫn động khớp, hệ thống cảm biến góc khớp hệ thống điều khiển bám góc khớp với chức vận động khác (H 10) Robot hỗ trợ người TNVĐ lại đường với vận tốc lớn lên đến km/h; thực chức đứng lên, ngồi xuống lên/xuống cầu thang thông dụng tòa nhà Robot có chức cảnh báo an tồn có nguy an toàn (ngã, kẹt động cơ, hết nguồn, ) cho người sử dụng H 10 Sản phẩm RBHT người TNVĐ VCM-2014 Hội nghị toàn quốc lần thứ Cơ Điện tử - VCM-2014 Chương trình điều khiển giám sát có giao diện H 11 có chức điều khiển giám sát trạng thái RBHT đồng thời hiển thị giá trị góc khớp đo theo thời gian Ngoài ra, chức điều chỉnh bán tự động cho phép hiệu chỉnh trạng thái đứng thẳng robot thời điểm ban đầu Giao diện sử dụng chủ yếu trình thử nghiệm robot Bảng điều khiển giao diện thiết kế hoàn toàn giống với giao diện tay điều khiển cho người sử dụng Ở chức giám sát chuyên sâu hiệu chỉnh RBHT tối giản để tạo điều kiện cho đối tượng sử dụng người TNVĐ (c) Đồ thị khớp gối lên cầu thang H 11 Giao diện chương trình điều khiển máy tính Các thử nghiệm RBHT người với chức vận động tiến hành để đánh giá khả đáp ứng tính bền vững điều khiển bám theo liệu khớp Các kết thực nghiệm thể H 12 (d) Đồ thị khớp hông lên cầu thang (e) Đồ thị khớp gối xuống cầu thang (a) Đồ thị khớp gối đường (f) Đồ thị khớp hông xuống cầu thang H 12 Các kết thực nghiệm (b) Đồ thị khớp hông đường VCM-2014 Các kết thực nghiệm cho thấy hệ thống điều khiển chuyển động robot hỗ trợ người TNVĐ dáng người bình thường, thể qua Hội nghị toàn quốc lần thứ Cơ Điện tử - VCM-2014 ghi nhận trực quan trình thử nghiệm đồ thị so sánh liệu góc khớp thực nghiệm liệu mẫu (H 12) Các kết đồ thị cho thấy tồn trễ sai khác giá trị liệu thực nghiệm liệu mẫu Nguyên nhân sai lệch đặc tính đáp ứng hệ thống sai số kết cấu phần khí Tuy nhiên sai khác nhỏ qua thực tế thử nghiệm cho thấy khơng ảnh hưởng đến dáng q trình vận động thực tế Kết luận Bài báo trình bày cách hệ thống trình xây dựng hệ thống điều khiển cho RBHT người TNVĐ Quá trình thiết kế, lựa chọn giải thuật tiến hành dựa các yêu cầu đặt kết nghiên cứu thuộc đề tài KC.03.12/11-15 Một hệ thống điều khiển cho RBHT người TNVĐ xây dựng để điều khiển robot vận động bám theo liệu góc khớp cho trước Robot hỗ trợ người TNVĐ lại đường với vận tốc lớn lên đến km/h; thực chức đứng lên, ngồi xuống lên/xuống cầu thang thông dụng tòa nhà Robot có chức cảnh báo an tồn có nguy an toàn (ngã, kẹt động cơ, hết nguồn, ) cho người sử dụng Các kết thử nghiệm cho thấy hệ thống điều khiển đáp ứng đặc tính động học yêu cầu đề ra, xảy trễ sai khác nhỏ liệu mẫu liệu đo Các sai lệch chấp nhận phạm vi phiên thử nghiệm với linh kiện, thiết bị phần cứng chưa thực đồng có chất lượng cao Lời cảm ơn Các kết trình bày báo nằm khuôn khổ đề tài NCKH trọng điểm cấp nhà nước mã số KC.03.12/11-15 “Nghiên cứu thiết kế, chế tạo robot sinh học hỗ trợ lại, luyện tập phục hồi chức cho người già yếu người khuyết tật.” Nhóm tác giả xin chân thành cảm ơn quan quản lý cấp, chủ nhiệm đề tài thành viên đề tài giúp đỡ q trình thực cơng trình Tài liệu tham khảo [1] [2] [3] D A Winter: Biomechanics and Motor Control of Human Movement, 5th Edition John Wiley & Sons, New York, 2009 Dao Trung Kien, Dao Van Hiep: A Human Gait Model using Graph-Theoretic Method, 3rd IFToMM International Symposium on Robotics and Mechatronics - ISRM 2013, page 535-544, 2013 Đào Trung Kiên, Đào Văn Hiệp: Mơ hình hoá hệ vận động người MapleSim, Hội nghị toàn quốc lần thứ Cơ điện tử - VCM 2012, p.115-123, 2012 VCM-2014 [4] Đào Trung Kiên, Tăng Quốc Nam, Trần Xn Thảnh: Mơ hình hóa mơ robot hỗ trợ nhờ CAD/CAE, Hội nghị toàn quốc lần thứ Điều khiển Tự động hóa – VCCA 2013, p.297-304, 2013 [5] José L Pons: Wearable Robots: Biomechatronic Exoskeletons; John Wiley & Sons, 2008 [6] Kazerooni, H and R Steger: The Berkeley Lower Extremity Exoskeleton Journal of Dynamic Systems Measurement and Control-Transactions of the Asme, 2006 [7] T.-J.Yeh et al: Control of McKibben Pneumatic Muscles for a Power - Assist, Lower - Limb Orthosis; Mechtronics 20 (2010) 686-697 [8] Tăng Quốc Nam, Trần Anh Vàng: Thiết kế khí cho robot hỗ trợ người thiểu vận động, Hội nghị toàn quốc lần thứ Điều khiển Tự động hóa – VCCA 2013, p.290-296, 2013 [9] Trần Xn Thảnh, Đào Trung Kiên: Mơ hình động lực học người bộ, Hội nghị toàn quốc lần thứ Cơ điện tử - VCM 2012, p 404-410, 2012 [10] Vukobratović M.: Legged locomotion robots and anthropomorphic mechanisms Mihailo Putin Institute of Beograd, 1975 TS Tăng Quốc Nam, tốt nghiệp đại học ngành Cơ khí động lực năm 1995 Học viện Kỹ thuật Quân sự, nhận thạc sĩ Cơ điện tử Viện Công nghệ châu Á (AIT) - Thái Lan năm 2002 tiến sĩ Cơ học kỹ thuật Học viện Kỹ thuật Quân năm 2011 Từ năm 1995 đến nay, anh giảng viên môn Robot đặc biệt Cơ điện tử, khoa Hàng không vũ trụ, Học viện Kỹ thuật Quân Các hướng nghiên cứu bao gồm Cơ điện tử khí tài quân sự, Động lực học điều khiển robot di động, Định vị xây dựng đồ môi trường nhà, Robot đặc biệt qn thám hiểm, Mơ hình hóa mơ hệ động lực Ths Nguyễn Bá Đại, tốt nghiệp đại học ngành Robot hệ thống robot kỹ thuật năm 2011 Đại học Kỹ thuật Tổng hợp Moskva mang tên Bauman – Liêng bang Nga Từ năm 2012 đến giảng viên môn Robot đặc biệt Cơ điện tử, khoa Hàng không vũ trụ, Học viện Kỹ thuật Quân Các hướng nghiên cứu bao gồm Cơ điện tử, Robot di động, Robot đặc biệt quân và thị giác máy ...ề tài KC.03.12/11-15 Một hệ thống điều khiển cho RBHT người TNVĐ xây dựng để điều khiển robot vận động bám theo liệu góc khớp cho trước Robot hỗ trợ người TNVĐ lại đường với vận tốc lớn lên đế...m RBHT người TNVĐ thiết kế, chế tạo với đầy đủ kết cấu từ khung xương, động dẫn động khớp, hệ thống cảm biến góc khớp hệ thống điều khiển bám góc khớp với chức vận động khác (H 10) Robot hỗ trợ ngườ... định, tạo liệu quỹ đạo cho điều khiển bám Bộ điều khiển bám điều khiển hệ chấp hành bám theo quỹ đạo mẫu Hệ chấp hành giữ vai trò cơ, làm chuyển động khớp f Hoạch định vận động Người mang Y(,,f)

Ngày đăng: 12/02/2020, 16:07

Tài liệu cùng người dùng

Tài liệu liên quan