,
(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)
移動機(jī)器人是一類能夠借助一些運(yùn)動部件,如輪子、履帶或機(jī)械足等裝置,在較大范圍和空間內(nèi)自由移動的機(jī)器人。由于自身結(jié)構(gòu)靈巧,環(huán)境適應(yīng)能力強(qiáng)等特點(diǎn),移動機(jī)器人的應(yīng)用已經(jīng)滲透到了社會生活的各個領(lǐng)域。如軍事領(lǐng)域排雷排爆、敵軍情報(bào)偵察、有害危險(xiǎn)物品處理以及復(fù)雜作戰(zhàn)條件下的軍械物資搬運(yùn)的機(jī)器人;工業(yè)領(lǐng)域作為運(yùn)輸工具的AGV,通??梢赃\(yùn)送數(shù)十噸到幾千克不等的鋼材、生產(chǎn)模塊和電子元器件等物料,尤其是在物流快件的分揀運(yùn)送方面,AGV正得到廣泛的投入使用,極大提高了物流行業(yè)的運(yùn)輸效率;在民用領(lǐng)域,如家庭機(jī)器人中的掃地機(jī)器人,餐廳里專門負(fù)責(zé)點(diǎn)餐以及膳食的配送工作的移動機(jī)器人,還有一些高級公寓使用移動機(jī)器人來執(zhí)行安保以及自動調(diào)度泊車等任務(wù)[1]。此外,高智能的移動機(jī)器人,無人駕駛汽車,近幾年來作為一個熱門項(xiàng)目也正得到越來越多的高科技公司和一些汽車生產(chǎn)廠商的青睞。移動機(jī)器人之所以能夠得到如此迅速的發(fā)展應(yīng)用,離不開計(jì)算機(jī)技術(shù)以及控制技術(shù)的發(fā)展。尤其是移動機(jī)器人運(yùn)動控制技術(shù)的發(fā)展在其中起到了關(guān)鍵的作用,有效的運(yùn)動控制技術(shù)為移動機(jī)器人能夠進(jìn)一步實(shí)現(xiàn)更為復(fù)雜的任務(wù)打下了堅(jiān)實(shí)的基礎(chǔ)。
為了實(shí)現(xiàn)移動機(jī)器人良好的運(yùn)動控制效果,需要對相應(yīng)控制算法的有效性做出評估。在實(shí)驗(yàn)過程中,通過肉眼觀察移動機(jī)器人的運(yùn)行效果往往不夠精確,很難從客觀上分析該算法的實(shí)際性能表現(xiàn)[2]。另一方面,由于環(huán)境限制使得研究人員不能直接感知移動機(jī)器人的運(yùn)動控制情況。因此,如何實(shí)現(xiàn)有效的數(shù)據(jù)可視化則成為一種必要的需求[3]。本文提出了基于跨平臺的Qt圖形庫框架,以面向?qū)ο蟮腃++編程語言,設(shè)計(jì)一款人機(jī)交互軟件來實(shí)現(xiàn)移動機(jī)器人運(yùn)行狀態(tài)數(shù)據(jù)的可視化。
本文所提上位機(jī)軟件的實(shí)驗(yàn)對象是一輛自主設(shè)計(jì)的以視覺導(dǎo)航為主的智能小車,其底板結(jié)構(gòu)由兩個驅(qū)動輪以及一個萬向輪組成,實(shí)物對象如圖1所示。該結(jié)構(gòu)的設(shè)計(jì)既簡潔有效又穩(wěn)定可靠,保證了智能車平穩(wěn)運(yùn)行的前提。
圖1 智能車系統(tǒng)硬件實(shí)物圖
外圍硬件電路模塊的主要功能及其工作原理如下:
1)采用撥碼開關(guān)作為用戶輸入媒介。
由于撥動開關(guān)所引起的電路通斷會產(chǎn)生高低電平的轉(zhuǎn)換,處理器通過檢測其I/O口電平狀態(tài)而得知用戶意圖,以次實(shí)現(xiàn)了智能車相關(guān)初始化參數(shù)的設(shè)置,避免了程序的多次編譯及燒錄。
2)采用霍爾傳感器設(shè)計(jì)智能車的里程計(jì)。
霍爾傳感器是一種基于霍爾效應(yīng)而制作的磁傳感器,由于其反應(yīng)靈敏等特點(diǎn),能夠及時響應(yīng)電機(jī)快速運(yùn)轉(zhuǎn)情況下的檢測任務(wù)。其工作過程主要由HoutA及HoutB引腳輸出兩路測速方波,再通過處理器的定時器輸入捕獲引腳在單位時間內(nèi)所捕獲的方波數(shù),以確定智能車的實(shí)際運(yùn)行速度。進(jìn)一步,在一定時間段內(nèi),利用處理器所檢測到的方波數(shù)以及其與驅(qū)動輪運(yùn)行轉(zhuǎn)數(shù)的關(guān)系,便可設(shè)計(jì)出智能車的虛擬里程計(jì)模塊。
3)采用OV7620數(shù)字?jǐn)z像頭作為視覺檢測模塊。
OV7620是一款P制標(biāo)準(zhǔn)的COMS攝像頭,每秒可輸出30幀圖像數(shù)據(jù)。處理器通過檢測其引腳VSYN及HREF的電平變化而獲取圖像數(shù)據(jù)的采集情況,從而及時存儲該攝像頭所采集到的圖像數(shù)據(jù)。
4)采用MPU9250作為智能車的姿態(tài)解算模塊。
MPU9250是一種集成了三軸加速度計(jì)和三軸陀螺儀的IMU慣性傳感器[4],處理器通過對各項(xiàng)慣性數(shù)據(jù)的解算,便可得到智能車的航向角信息。
5)采用STM32F407單片機(jī)為系統(tǒng)主控單元。
STM32F407是一款基ARM CortexTM-M4處理器內(nèi)核的高性能控制器,常用于工業(yè)控制領(lǐng)域。其擁有最高工作頻率為168Mhz,以及高達(dá)1 M的可編程存儲容量,有效滿足了智能車系統(tǒng)實(shí)時處理大量傳感器數(shù)據(jù)以及進(jìn)行高負(fù)荷運(yùn)算的需求。
6)采用HC-5藍(lán)牙模塊與上位機(jī)通信。
藍(lán)牙模塊的特點(diǎn)是簡單易用,只需將其與處理器的UART串口連接,通過對處理器的UART接口編程即可實(shí)現(xiàn)對藍(lán)牙收發(fā)數(shù)據(jù)的控制。本文所設(shè)計(jì)的上位機(jī)軟件與智能車間的數(shù)據(jù)通信,便是以配對的兩個藍(lán)牙模塊為媒介進(jìn)行的。
此外,通過對處理器SPI接口外接無線通信模塊nRF24L01,實(shí)現(xiàn)了多機(jī)通信基礎(chǔ),提高了系統(tǒng)的可擴(kuò)展性。通過IIC接口外接顯示器模塊,可實(shí)時顯示相關(guān)實(shí)驗(yàn)數(shù)據(jù),便于開發(fā)調(diào)試。所設(shè)計(jì)的智能車系統(tǒng)硬件架構(gòu)如圖2所示。
圖2 智能車系統(tǒng)硬件架構(gòu)圖
路徑跟蹤[5]是移動機(jī)器人運(yùn)動控制研究的3個基礎(chǔ)領(lǐng)域之一。本文以移動機(jī)器人路徑跟蹤這一典型運(yùn)動控制技術(shù)作為上位機(jī)軟件的測試用例,其中路徑跟蹤算法控制器采用預(yù)測控制方法設(shè)計(jì)[6-8]。智能車路徑跟蹤軟件系統(tǒng)實(shí)現(xiàn)的簡化流程如圖3所示。
圖3 智能車系統(tǒng)軟件流程圖
啟動過程,將智能車放置在參考軌跡附近處,主控系統(tǒng)完成對附屬控制單元以及各外部傳感器模塊的初始化工作。視覺傳感器開始以每秒30幀的采集速率實(shí)時檢測運(yùn)行路徑,并將采集到的圖像信息通過DMA通道運(yùn)送至控制器內(nèi)存,軟件系統(tǒng)的運(yùn)行周期便是以一幀圖像的存儲完成時間為基準(zhǔn)。這樣,系統(tǒng)周期性的運(yùn)行過程總是以一幀圖像數(shù)據(jù)的保存完畢為始。一方面,處理器通過對圖像信息進(jìn)行二值化處理,從而得到智能車與參考軌跡偏差距離的像素級表示,并根據(jù)測試整理的像素偏差與實(shí)際物理位移偏差的對應(yīng)關(guān)系便可得到智能車偏離參考軌跡的實(shí)際距離。另一方面,在每個系統(tǒng)周期內(nèi),處理器在中斷處理程序中采樣一幀IMU慣性模塊的測量數(shù)據(jù),并解算出航向角信息。同時,由測速編碼器所設(shè)計(jì)的動態(tài)里程計(jì)可實(shí)時反饋智能車的運(yùn)行里程。通過結(jié)合智能車的位置偏差、航向角以及運(yùn)行里程等信息,可以確定智能車在參考軌跡下的唯一位置和姿態(tài)。從中提取智能車與參考軌跡的距離偏差Δx(距離偏差的x軸坐標(biāo)分量)、Δy(距離偏差的y軸坐標(biāo)分量)和航向角偏差Δα作為預(yù)測控制算法的3個狀態(tài)分量,代入所設(shè)計(jì)的控制器便可計(jì)算出當(dāng)前狀態(tài)的控制律。
本文設(shè)計(jì)的預(yù)測控制算法的控制律參數(shù)由智能車的線速度v和角速度w組成,處理器將上述計(jì)算所得的數(shù)字量控制律轉(zhuǎn)化為對應(yīng)的模擬量PWM脈沖以驅(qū)動智能車的運(yùn)行。不同的PWM脈沖寬度對應(yīng)不同大小的驅(qū)動電流,從而驅(qū)動電機(jī)的轉(zhuǎn)速大小亦不相同。針對智能車的兩個驅(qū)動輪,控制器分別給出了對應(yīng)大小的PWM脈沖寬度,實(shí)現(xiàn)了智能車線速度和角速度的改變,使其路徑跟蹤效果逐漸趨于穩(wěn)定。
實(shí)驗(yàn)測試過程,該智能車以恒定的參考速率沿一條半徑為75cm長的圓形參考軌跡做路徑跟蹤運(yùn)動。同時,在每一個運(yùn)行周期內(nèi),將智能車的實(shí)時線速度v、角速度w以及其與參考軌跡的距離偏差Δx、Δy和航向角偏差Δα三個姿態(tài)偏差量編碼為一數(shù)據(jù)幀,發(fā)送至上位機(jī)做數(shù)據(jù)可視化處理。
Qt是由Trolltech公司基于面向?qū)ο驝++語言而開發(fā)的一種跨平臺圖形用戶界面框架,使用Qt開發(fā)的軟件,同樣的源代碼不需要修改便可以在多數(shù)主流的平臺上編譯運(yùn)行,且會自動依平臺的不同而表現(xiàn)出該平臺特有的圖形界面風(fēng)格。另一方面,使用傳統(tǒng)callback進(jìn)行對象間的信息傳遞無法確定傳遞參數(shù)的正確性,而Qt利用其特有的信號與槽(signals/slots)機(jī)制有效地解決了這一問題。經(jīng)過多年的發(fā)展,Qt已經(jīng)具備了完善的C++圖形庫,并且逐步集成了數(shù)據(jù)庫、OpenGL庫、腳本庫、XML庫等,其核心庫也加入了進(jìn)程間通信、多線程等模塊,極大的豐富了Qt開發(fā)大規(guī)模復(fù)雜應(yīng)用程序的能力[9]。而Qt Creator則是一款基于Qt的跨平臺集成開發(fā)環(huán)境,它可以運(yùn)行于Windows、Linux/X11以及Mac OS X等桌面操作系統(tǒng),其開發(fā)界面如圖4所示。
圖4 Qt Creator開發(fā)環(huán)境界面
Qt Creator的開發(fā)界面簡潔友好,主要包括代碼編輯器、編譯器以及一個可視化調(diào)試工具和外形設(shè)計(jì)師Qt Designer。本文所設(shè)計(jì)的移動機(jī)器人上位機(jī)軟件是在Qt Creator 4.0.2版本下開發(fā),它基于近期發(fā)布的Qt 5.7.0框架,可穩(wěn)定有效運(yùn)行,能夠滿足項(xiàng)目開發(fā)需要。
QWidget的是Qt圖形用戶界面的基礎(chǔ)控件,在不指定父類控件的條件下,QWidget可作為一個獨(dú)立的窗口或一個頂層窗口顯示。本文所設(shè)計(jì)上位機(jī)軟件的各主界面便是以QWidget作為獨(dú)立的容器窗口,并將具體的功能部件放入該容器內(nèi)得以實(shí)現(xiàn)。同時,使用了QTabWidget標(biāo)簽來切換各主界面,以實(shí)現(xiàn)不同子任務(wù)的切換,軟件的運(yùn)行初始界面如圖5所示。
圖5 上位機(jī)軟件運(yùn)行界面
該軟件主要有3個主界面組成:串口設(shè)置和參數(shù)命令下發(fā)的基本功能界面BaseWidget、移動機(jī)器人實(shí)時運(yùn)行軌跡的顯示界面StatusWidget以及移動機(jī)器人實(shí)時運(yùn)行狀態(tài)數(shù)據(jù)的波形顯示界面WaveWidget。其工作方式可分為在線和離線兩種,兩者的工作流程分別由圖6~7簡述。
圖6 上位機(jī)在線方式工作流程圖
圖7 上位機(jī)離線方式工作流程圖
在線和離線兩種工作方式的唯一區(qū)別是兩者所處理的數(shù)據(jù)來源不同。在線方式通過串口讀取智能車無線傳輸?shù)臓顟B(tài)數(shù)據(jù)[10],而離線方式則是直接讀取保存在用戶數(shù)據(jù)文件中的狀態(tài)數(shù)據(jù)。該上位機(jī)軟件所實(shí)現(xiàn)的主要功能如下:
1)解碼并分離狀態(tài)數(shù)據(jù)幀。
本文所設(shè)計(jì)的上位機(jī)軟件主要處理的數(shù)據(jù)對象是移動機(jī)器人運(yùn)行過程中的5個狀態(tài)量,它們分別是移動機(jī)器人的線速度v、角速度w以及其與參考軌跡的距離偏差Δx、Δy和航向角偏差Δα等。無論在線還是離線的工作方式,這5個原始狀態(tài)量總是需要在智能車運(yùn)行過程,通過無線傳輸?shù)姆绞桨l(fā)送至上位機(jī)。因此,需要把這些狀態(tài)量封裝為一數(shù)據(jù)幀,以便于傳輸以及上位機(jī)軟件的解碼識別。該軟件所設(shè)計(jì)的數(shù)據(jù)幀格式如表1所示。
表1 移動機(jī)器人狀態(tài)數(shù)據(jù)幀結(jié)構(gòu)
從該數(shù)據(jù)幀結(jié)構(gòu)可知,一幀狀態(tài)數(shù)據(jù)由10個字節(jié)組成。其中,幀頭由兩個字節(jié)的相同數(shù)值0xff標(biāo)識,3個姿態(tài)偏差量的數(shù)值符號各由一個字節(jié)表示,0xfe表示該數(shù)值為正,而0xfd表示為負(fù),Δx、Δy、Δα三個字節(jié)則分別表示3個姿態(tài)偏差量的數(shù)值部分。字節(jié)v表示智能車行駛的線速度值,字節(jié)w則表示其行駛的角速度值。軟件運(yùn)行過程,通過識別數(shù)據(jù)幀頭標(biāo)志,即可判定上一幀數(shù)據(jù)的結(jié)束以及下一幀數(shù)據(jù)的到來,從而解碼每一幀有效數(shù)據(jù)。然后,通過5個有效狀態(tài)數(shù)據(jù)在幀結(jié)構(gòu)中的固定位置標(biāo)號以及數(shù)值符號標(biāo)志對其進(jìn)行分割操作,為之后的數(shù)據(jù)可視化處理做好前期工作。
2)基于參考軌跡繪制移動機(jī)器人實(shí)際運(yùn)行軌跡。
qcustomplot是基于Qt的一個功能強(qiáng)大的數(shù)據(jù)可視化圖表控件類庫,其主要由一個.cpp源文件以及一個與其對應(yīng)的.h頭文件組成。所述的上
位機(jī)軟件采用了qcustomplot的基本坐標(biāo)控件類QCustomPlot作為智能車路徑跟蹤的參考坐標(biāo)系,并以此坐標(biāo)系使用圖形曲線繪制控件QCPCurve繪制參考軌跡。同時使用標(biāo)簽選框控件QRadioButton實(shí)現(xiàn)了不同參考軌跡的切換。以圓形參考軌跡和“8”字形參考軌跡為例,其效果分別如圖8和圖9所示。
圖8 圓形參考軌跡
圖9 “8”字形形參考軌跡
其中,不同參考軌跡切換的設(shè)計(jì)方法使用了Qt信號與槽(signals/slots)的機(jī)制,信號端添加在選框控件QRadioButton的觸發(fā)按鈕,槽函數(shù)則實(shí)現(xiàn)了參考軌跡的繪制功能。這樣,點(diǎn)擊不同的選框控件便會生成不同的請求信號,以此觸發(fā)不同參考軌跡的繪制。然后,使用新的QCPCurve控件,將功能模塊(1)中分離出的距離偏差Δx、Δy坐標(biāo)分量繪制在對應(yīng)的參考軌跡中,便實(shí)現(xiàn)了移動機(jī)器人實(shí)際運(yùn)行軌跡的圖形化描述。
3)繪制移動機(jī)器人運(yùn)行狀態(tài)波形圖。
該功能模塊同樣使用了控件QCustomPlot 作為參考坐標(biāo)系,另外,為了能夠更為清晰的查看智能車運(yùn)行過程的局部狀況以及對其運(yùn)行狀態(tài)的全局把控,該模塊的設(shè)計(jì)使用了QCustomPlot控件的圖形縮放功能。同樣的,使用QCPCurve控件將功能模塊(1)中分離出的5個有效狀態(tài)數(shù)據(jù)集分別繪制在對應(yīng)的參考坐標(biāo)系下,便實(shí)現(xiàn)了移動機(jī)器人各運(yùn)行狀態(tài)數(shù)據(jù)的圖形化描述。圖10展示了由移動機(jī)器人各狀態(tài)波形曲線組成的主界面視圖。
圖10 移動機(jī)器人狀態(tài)波形圖主界面
上位機(jī)軟件的實(shí)驗(yàn)方案如前文所述,使用自行設(shè)計(jì)的智能車作為下位機(jī)平臺,以其在圓形參考軌跡下的路徑跟蹤為例來展開實(shí)驗(yàn)。具體的圓形參考軌跡半徑為75 cm,智能車以0.3 m/s的線速度和0.4 rad/s的角速度作為參考速度,基于預(yù)測控制的方法實(shí)現(xiàn)路徑跟蹤的效果。同時,在每一個運(yùn)行周期,智能車將一幀封裝完好的狀態(tài)數(shù)據(jù)通過藍(lán)牙模塊無線傳輸至上位機(jī)端。上位機(jī)軟件分別以在線和離線兩種方式實(shí)現(xiàn)了所述的功能模塊,通過從數(shù)據(jù)幀中分離出智能車與參考軌跡的距離偏差Δx、Δy,軟件繪制了如圖11所示的相對于圓形參考路徑智能車的真實(shí)運(yùn)行軌跡。
圖11 基于圓形參考路徑的智能車真實(shí)運(yùn)行軌跡
圖11中,智能車以三角標(biāo)志作為起點(diǎn),沿圓形參考軌跡的逆時針方向勻速運(yùn)行兩周,其結(jié)果可以看出智能車的兩次圓周運(yùn)行軌跡與參考軌跡的擬合程度較高,偏離誤差較小。另一方面,軟件以波形曲線的方式繪制了智能車與參考軌跡的距離偏差Δx、Δy以及航向角偏差Δα的動態(tài)變化情況。其效果如圖12所示。
圖12 智能車姿態(tài)偏差波形圖
該姿態(tài)偏差波形圖則更為客觀的反映了智能車路徑跟蹤的有效性。通過分析圖12中的數(shù)據(jù)變化可知,智能車運(yùn)行過程與參考路徑的距離偏差Δx基本保持在±0.02 m以內(nèi),距離偏差Δy保持在-0.01 m~+0.014 m之間,航向角偏差則大致保持在-0.18 rad~+0.1 rad之間。
綜合圖11和圖12,上位機(jī)軟件從智能車的實(shí)際運(yùn)行軌跡以及其運(yùn)行過程的姿態(tài)偏差波形圖兩個方面,有效反映了實(shí)驗(yàn)對象路徑跟蹤控制算法的良好表現(xiàn)。與此同時,圖13中智能車運(yùn)行過程平穩(wěn)的線速度與角速度曲線則表明了受控實(shí)驗(yàn)對象良好的動態(tài)特性。
圖13 智能車運(yùn)行過程的線速度與角速度
本文基于跨平臺的Qt圖形庫框架,以面向?qū)ο蟮腃++編程語言,設(shè)計(jì)和實(shí)現(xiàn)了一款界面簡潔且功能豐富的人機(jī)交互上位機(jī)軟件。該軟件主要實(shí)現(xiàn)了以無線傳輸?shù)姆绞浇邮找苿訖C(jī)器人發(fā)送的狀態(tài)數(shù)據(jù)并對其解碼、分離移動機(jī)器人各狀態(tài)數(shù)據(jù)信息并繪制其實(shí)時運(yùn)行軌跡以及狀態(tài)波形曲線等功能。文中詳細(xì)闡述了所述上位機(jī)軟件各功能模塊的設(shè)計(jì)和實(shí)現(xiàn)原理,并以智能車路徑跟蹤這一典型移動機(jī)器人運(yùn)動控制為實(shí)驗(yàn)用例,實(shí)現(xiàn)了其運(yùn)行時狀態(tài)數(shù)據(jù)的可視化,實(shí)驗(yàn)?zāi)軌蚯逦胤从吵鲋悄苘嚨倪\(yùn)動控制效果,驗(yàn)證了該上位機(jī)軟件所述功能的有效性。同時,對于運(yùn)算性能較弱的下位機(jī)控制器,該上位機(jī)軟件亦可作為主控單元,并以無線傳輸?shù)姆绞较蛳挛粰C(jī)發(fā)送控制指令。此外,該上位機(jī)軟件所述功能僅以智能車路徑跟蹤實(shí)驗(yàn)為例驗(yàn)證了其有效性,對于涉及移動機(jī)器人的其他運(yùn)動控制研究同樣有一定的適用性。
參考文獻(xiàn):
[1]Zhang J, Xuan D, Kim J W, et al. A study of autonomous parking for a 4-wheel driven mobile robot[A]. Proceedings of the 26thChinese Control Conference[C]. 2007: 179-183.
[2]陳端平. 輪式移動機(jī)器人監(jiān)控系統(tǒng)研究與開發(fā)[D]. 廣州:華南理工大學(xué), 2016.
[3]吳免利. 鋰離子動力電池檢測系統(tǒng)上位機(jī)軟件開發(fā)及電池成組算法研究[D]. 長沙:中南大學(xué), 2009.
[4]Zheng F, Liu Y H. A geometric model for fusing IMU into monocular visual localization of 3-D mobile robots[A]. IEEE International Conference on Real-Time Computing and Robotics[C]. 2016: 301-305.
[5]Shiao Y S, Yang J L, Su D T. Path tracking laws and implementation of a vision-based wheeled mobile robot Proceedings of the Institution of Mechanical Engineers. Part I[J]. Journal of Systems and Control Engineering, 2013, 223(6): 847-862.
[6]Ramos C, Martinez M, Sanchis J, et al. Robust constrained receding-horizon predictive control via bounded data uncertainties[J]. Mathematics and Computers in Simulation. 2009, 79(5): 1452-1471.
[7]Krid M, Benamar F, Lenain R. A new explicit dynamic path tracking controller using generalized predictive control[J]. International Journal of Control Automation and Systems. 2017, 15(1): 303-314.
[8]Liu A D, Zhang W A, Chen M Z Q, et al. Moving Horizon Estimation for Mobile Robots With Multirate Sampling[J]. IEEE Transaction on Industrial Electronics, 2017, 64(2): 1457-1467.
[9]文生平, 陳端平, 劉其信. 基于Qt的激光導(dǎo)引移動機(jī)器人監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 自動化與儀表, 2016, 31 (8): 6-9.
[10]李鵬軍, 蘭殿星, 寧文斌, 等. 基于Windows下Qt與脈沖發(fā)生器的串口通訊實(shí)現(xiàn)[J]. 計(jì)算機(jī)測量與控制, 2016, 24 (4): 206-209.