TWI596599B - Method for controlling playing force of robot fingers - Google Patents

Method for controlling playing force of robot fingers Download PDF

Info

Publication number
TWI596599B
TWI596599B TW105119508A TW105119508A TWI596599B TW I596599 B TWI596599 B TW I596599B TW 105119508 A TW105119508 A TW 105119508A TW 105119508 A TW105119508 A TW 105119508A TW I596599 B TWI596599 B TW I596599B
Authority
TW
Taiwan
Prior art keywords
motor
speed
controller
control
command
Prior art date
Application number
TW105119508A
Other languages
Chinese (zh)
Other versions
TW201801065A (en
Inventor
黎燕芳
黃俊維
Original Assignee
明新科技大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 明新科技大學 filed Critical 明新科技大學
Priority to TW105119508A priority Critical patent/TWI596599B/en
Application granted granted Critical
Publication of TWI596599B publication Critical patent/TWI596599B/en
Publication of TW201801065A publication Critical patent/TW201801065A/en

Links

Landscapes

  • Manipulator (AREA)
  • Control Of Electric Motors In General (AREA)

Description

機器手指彈奏力道之控制方法Control method of machine finger playing force

本發明係關於一種高自由度的機器手指的力道控制方法,特別是關於一種可應用在演奏鍵盤樂器功能的機器手指彈奏力道之控制方法。The present invention relates to a force control method for a high degree of freedom machine finger, and more particularly to a control method for a machine finger playing force that can be applied to the function of playing a keyboard instrument.

現今產業發展朝向工業化及生產導向,一般非工業應用或軍事應用的機器人較無法受到大眾的青睞,即便不時會出現些娛樂型機器人產品,但礙於普及率及應用性皆低的情況下,較不易有明顯的發展。於2005年,日本愛知博覽會中推出許多讓人為之驚艷的機器人產品,博覽會中機器可以發展成替人類服務。而日本的本田(Honda)公司所推出的Asimo機器人更是搶盡鋒頭,Asimo機器人可以端茶或拿拖鞋等。日本的索尼(Sony)公司所推出的AIBO寵物狗更是打破傳統大眾對機器認知,機器人不一定要是“人”,也可以是與人互動之寵物機器狗,儘管價格不菲但銷售狀況卻出乎市場的預料。這些服務型與娛樂型的機器人之發展,讓大眾發覺機器人不一定是生硬及無情,也可以是伴隨人類生活之好夥伴。Nowadays, the development of the industry is oriented towards industrialization and production. Generally, robots for non-industrial applications or military applications are less popular with the public. Even if there are some entertainment robot products from time to time, the penetration rate and applicability are low. It is less likely to have obvious development. In 2005, the Aichi Expo in Japan launched many amazing robot products, and the machines in the Expo can be developed to serve humans. The Asimo robot launched by Japan's Honda company is even more eager to do it. Asimo robots can hold tea or take slippers. The AIBO pet dog launched by Sony in Japan is breaking the traditional public perception of the machine. The robot does not have to be a "person" or a pet robot dog that interacts with people. Although the price is high, the sales situation is out. The market expects. The development of these service-oriented and entertainment-oriented robots has made the public realize that robots are not necessarily blunt and ruthless, and they can also be good partners with human life.

一般對於機器人的使用與應用,常見的例子有音樂演奏型機器人,其係可代替演奏者進行樂器的即時演奏,例如我國專利編號 I405650提出一種機器人系統及利用該機器人系統彈奏和弦的方法,揭露了一種機器人系統可以進行雙手彈奏鋼琴,而控制雙手彈奏的方式主要係利用雙手的各手指裝置中交錯設置的電磁閥,以於通電時產生電磁效應,以伸縮一磁桿,推動機構彈奏琴鍵,藉由此驅動方式於演奏時,可演奏出不同音階,但是彈琴的力量無法調變控制,致使機器人於演奏時無法表現不同輕、重之樂音。另外,許多有關演奏樂器之機器人,其手指驅動的方式亦有以氣壓缸的方式驅動者,藉由此驅動方式於演奏時,手指彈琴的力量亦無法調變控制致使機器人於演奏時,僅達成彈奏與否的動作表現,無法表現不同輕、重之樂音需求。雖前案可以避免移動時發生碰撞的情況,但一般的演奏型機器人除了要能接受指令演奏樂器以外,更加關鍵的是需要彈奏出悅耳動人的音樂,且能夠為彈奏帶來感情,並非生硬的僅是針對所需按下的琴鍵位置進行敲擊,而無法分別表現出樂曲輕重音之分別。Generally, for the use and application of robots, a common example is a music playing robot, which can replace the player to perform an instant performance of the instrument. For example, Chinese Patent No. I405650 proposes a robot system and a method for playing chords using the robot system, exposing A robot system can play the piano in both hands, and the way to control the hands to play is mainly to use a solenoid valve staggered in each finger device of the two hands to generate an electromagnetic effect when energized to telescope a magnetic pole. The pushing mechanism plays the keys, and by this driving mode, different scales can be played, but the power of the playing piano cannot be modulated, so that the robot can not express different light and heavy music when playing. In addition, many robots that play musical instruments have a finger-driven method that is driven by a pneumatic cylinder. By playing this way, the strength of the finger-playing piano cannot be adjusted and controlled, causing the robot to perform only when it is played. The performance of playing or not can not express the needs of different light and heavy music. Although the previous case can avoid the collision when moving, in addition to being able to accept the instruction to play the instrument, the general performance robot is more important to play a pleasant music and bring emotion to the playing, not The blunt is only to strike the key position that needs to be pressed, and it is not possible to separately express the difference between the music and the accent.

本發明之專利發明人亦於日前申請可進行演奏的機器人之相關專利,參考我國專利編號I500022,藉由模擬人體雙手掌的五根手指進行鍵盤樂器的演奏;另外本發明之專利發明人更藉由我國專利編號M424184揭露使用線性馬達作為控制演奏機器人之手指的驅動,以提高演奏機器人於演奏時的演奏技巧。上述藉由機器人之手指彈奏的方式,可以對欲演奏的鍵盤樂器進行敲擊動作,在演奏時做出單一音的控制,雖可以正確及有效的敲擊出所需要的音符,但仍然尚未能有效的控制彈奏時的輕、重力道。The patent inventor of the present invention also applied for a related patent for a robot that can be played a few days ago. Referring to the Chinese Patent No. I500022, the performance of the keyboard instrument is performed by five fingers simulating the palms of the human body; in addition, the patent inventor of the present invention borrows The use of a linear motor as a drive for controlling the fingers of the playing robot is disclosed by Chinese Patent No. M424184 to improve the playing skill of the playing robot during performance. The above-mentioned method of playing with the fingers of the robot can perform a tapping action on the keyboard instrument to be played, and a single sound control during the performance, although the required notes can be correctly and effectively struck, but still not yet It can effectively control the light and gravity track when playing.

有鑑於上述之困擾,本發明針對機器人在演奏時,如何利用控制模組驅動馬達以控制機器手指的彈奏力道,提供一種機器手指彈奏力道之控制方法,為了在演奏音樂時,可以帶來擬真人演奏時所帶來的動人美妙樂章。In view of the above problems, the present invention provides a method for controlling the playing power of a machine finger by using a control module to drive a motor to control the playing force of a machine finger during performance, in order to bring a musical finger control method. A beautiful movement brought by the simulation of real people.

本發明之主要目的係在提供一種機器手指彈奏力道之控制方法,可以使機器手指對於演奏音樂時,對應鍵盤樂器等需要敲擊的力量進行控制,不單單僅是利用馬達驅動機器手指,簡單的讓機器手指落下敲擊、敲擊完再升起,對於機器手指彈鍵的力量也要控制的恰到好處,要能夠有效的控制彈奏時的敲擊速度,以控制輕、重音,更可以演奏出輕、重、緩、急的琴音,以使機器手指兼具動作敏捷與力量可控制的特性,這樣機器手指才能如真人的音樂演奏者般,詮釋出美妙動人的樂章。The main object of the present invention is to provide a method for controlling the finger-playing force of a machine, which can make the finger of the machine control the power of the keyboard instrument, such as a keyboard instrument, when playing music, not only by using a motor to drive the finger of the machine, but simply Let the fingers of the machine fall and knock, and then rise and rise. The power of the finger of the machine should also be controlled just right. It is necessary to effectively control the tapping speed when playing, to control the light and accent, and to play. Light, heavy, slow, and anxious sounds, so that the fingers of the machine have the characteristics of agility and power control, so that the fingers of the machine can interpret the beautiful movements like a real music player.

本發明的另一目的係在提供一種機器手指彈奏力道之控制方法,藉由本發明的控制方法控制機器手指的演奏,不僅僅只是輕、重音的區分,利用機器人可以在特定時間中,連續且穩定作動的特性,對於很多需要提供長時間演奏的環境,用演奏機器人進行演奏,藉由機器人可以比真人更長時間的連續演奏,以取代真人的音樂演奏者,並對該環境的氣氛營造可以無縫接軌、不間斷。Another object of the present invention is to provide a method for controlling the finger-playing force of a machine. The control method of the present invention controls the performance of the finger of the machine, not only the distinction between light and heavy, but also the robot can be continuous and in a specific time. The characteristics of stable operation, for many environments that need to provide long-term performance, playing with a performance robot, the robot can replace the live music player for a longer period of time than the real person, and create a mood for the environment. Seamlessly connected and uninterrupted.

為了達到上述目的,本發明提供一種機器手指彈奏力道之控制方法,包含有下列步驟:先接收一指令訊號,再同步控制擷取指令訊號,以解碼成一位置控制命令與與力量控制命令;將位置控制命令與目前位置狀態傳輸到一位置控制器中進行計算,以得到一速度控制訊號,再將速度控制訊號與目前位置狀態傳輸到一速度控制器中作計算,以得到一驅動訊號;將驅動訊號傳輸到一驅動器以驅動馬達運轉,馬達運轉後可以取得一回授訊號,經計算回授訊號得到一馬達位置資訊,以提供位置控制器之運算所需;在取得馬達位置資訊之後,即可根據位置控制命令與馬達位置資訊回到位置控制器中重新進行運算,當然亦同時利用馬達位置資訊計算出一馬達速度資訊後,回到速度控制器中,根據速度控制訊號與馬達速度資訊而重新進行運算。所有前述計算後產生的驅動訊號係可給驅動器以控制馬達運轉,進而控制機器手指之動作力道。In order to achieve the above object, the present invention provides a method for controlling a finger-playing force of a machine, comprising the steps of: first receiving an instruction signal, and then synchronously controlling the captured command signal to decode into a position control command and a power control command; The position control command and the current position state are transmitted to a position controller for calculation to obtain a speed control signal, and then the speed control signal and the current position state are transmitted to a speed controller for calculation to obtain a driving signal; The driving signal is transmitted to a driver to drive the motor to run. After the motor is running, a feedback signal can be obtained, and a motor position information is obtained by calculating the feedback signal to provide operation of the position controller; after obtaining the motor position information, The position control command and the motor position information can be returned to the position controller for recalculation. Of course, the motor position information is used to calculate a motor speed information, and then returned to the speed controller according to the speed control signal and the motor speed information. Recalculate. All of the aforementioned drive signals generated by the calculation can be used to control the operation of the motor to control the movement of the finger of the machine.

在本發明中位置控制器計算位置控制命令時,更與位置控制器中由力量控制命令調整的第一增益參數一起計算,以計算出速度控制訊號;以及速度控制器計算速度控制訊號時,更與速度控制器中由力量控制命令調整的第二增益參數一起計算,以計算出驅動訊號。其中,上述的位置控制器可為比例控制器,速度控制器可為比例加積分控制器,其中的比例加積分控制器係為具有適應性動態積分反飽和之控制功能;第一增益參數係為位置控制增益參數,該第二增益參數為積分反飽和控制增益參數。In the present invention, when the position controller calculates the position control command, it is further calculated together with the first gain parameter adjusted by the force control command in the position controller to calculate the speed control signal; and when the speed controller calculates the speed control signal, Calculated with the second gain parameter adjusted by the force control command in the speed controller to calculate the drive signal. Wherein, the position controller may be a proportional controller, and the speed controller may be a proportional plus integral controller, wherein the proportional plus integral controller is a control function with adaptive dynamic integral anti-saturation; the first gain parameter is The position control gain parameter is an integral reverse saturation control gain parameter.

在本發明中的位置控制器及速度控制器皆設置在控制模組中且互相電性連接,位置控制器連接自控制模組中的同步及命令解碼器,以接收經由同步及命令解碼器解碼後的位置控制命令與力量控制命令,且位置控制命令與力量控制命令會傳輸到位置控制器中,進而分別調整控制第一增益參數及第二增益參數。In the present invention, the position controller and the speed controller are all disposed in the control module and electrically connected to each other, and the position controller is connected to the synchronization and command decoder in the control module to receive the decoding via the synchronization and command decoder. The position control command and the power control command are transmitted, and the position control command and the power control command are transmitted to the position controller, thereby respectively adjusting and controlling the first gain parameter and the second gain parameter.

在本發明之計算回授訊號以得到馬達位置資訊的步驟中,主要是經由控制模組中的回授與位置運算器計算取得馬達位置資訊,且馬達位置資訊係對應於馬達的位置或角度資料。In the step of calculating the feedback signal of the present invention to obtain the motor position information, the motor position information is mainly calculated through the feedback and position operator in the control module, and the motor position information corresponds to the position or angle data of the motor. .

在本發明中,在取得馬達位置資訊之後,位置控制命令更先傳輸至一第一比較器與自回授與位置運算器取得之馬達位置資訊進行運算比較,再經由第一比較器傳輸至位置控制器中進行動態增益調整之計算;且速度控制訊號亦先傳輸至一第二比較器與自速度運算器取得之馬達速度資訊進行運算比較,再經由第二比較器傳輸至速度控制器中進行具動態積分反飽和增益調整之計算。In the present invention, after obtaining the motor position information, the position control command is first transmitted to a first comparator and compared with the motor position information obtained by the self-receiving and position operator, and then transmitted to the position via the first comparator. The controller performs dynamic gain adjustment calculation; and the speed control signal is first transmitted to a second comparator for comparison with the motor speed information obtained from the speed calculator, and then transmitted to the speed controller via the second comparator. Calculation with dynamic integral anti-saturation gain adjustment.

在本發明中,在第一比較器中之運算比較係藉由第一比較器計算位置控制命令與馬達位置資訊的差值;第二比較器之運算比較係藉由第二比較器計算速度控制命令與馬達速度資訊的差值。In the present invention, the operation comparison in the first comparator calculates the difference between the position control command and the motor position information by the first comparator; the operation comparison of the second comparator calculates the speed control by the second comparator The difference between the command and motor speed information.

在本發明中計算出馬達速度訊號係藉由速度運算器進行計算,此速度運算器具有高、低速不同運算法則並可自動切換,此運算方式包括下列步驟:先接收馬達位置資訊,利用馬達位置資訊取得馬達的正、反轉方向,並計算馬達速度值,根據馬達速度值判斷馬達處於加速或減速狀態,進而判斷馬達速度值是否大於等於上臨界值或是小於等於下臨界值,以決定維持原運算程式或是改為使用高速運算程式或是低速運算程式來計算出馬達速度資訊,計算完即可輸出更精確之馬達速度資訊。In the present invention, the motor speed signal is calculated by the speed operator, which has different high and low speed algorithms and can be automatically switched. The operation method includes the following steps: first receiving the motor position information, using the motor position. The information obtains the positive and negative directions of the motor, calculates the motor speed value, determines whether the motor is in the acceleration or deceleration state according to the motor speed value, and further determines whether the motor speed value is greater than or equal to the upper threshold or less than or equal to the lower threshold to determine the maintenance. The original calculation program can be used to calculate the motor speed information by using a high-speed calculation program or a low-speed calculation program, and output more accurate motor speed information after calculation.

底下藉由具體實施例配合所附的圖式詳加說明,當更容易瞭解本發明之目的、技術內容、特點及其所達成之功效。The purpose, technical contents, features and effects achieved by the present invention will be more readily understood by the detailed description of the embodiments and the accompanying drawings.

利用機器人的自動化作動,可以替人們作出很多不同性質的服務,例如打掃型機器人、娛樂型機器人等,在本發明中係將機器人應用在演奏樂器方面,利用如線性馬達或是其它旋轉馬達,再結合控制模組控制機器人的手指彈奏,以完美的控制手指敲擊琴鍵的位置及速度,賦予機器人在演奏時擁有如真人演奏般的演奏情感,並可以不間斷的持續帶給人們美妙的音樂演奏。With the automation of robots, many different services can be made for people, such as cleaning robots, entertainment robots, etc. In the present invention, robots are used in playing musical instruments, such as linear motors or other rotating motors. Combined with the control module to control the fingering of the robot, the position and speed of the finger can be perfectly controlled by the finger, giving the robot a playing emotion like a real person during performance, and can continue to bring people wonderful music without interruption. Playing.

首先,請先參照本發明第一圖所示,本發明之機器人的機器手指彈奏力道之控制方法所使用的控制系統10包含一控制模組12連接一馬達14,本實施例中的控制模組12係選擇可程式邏輯閘陣列(Field Programmable Gate Array,FPGA)晶片,而馬達14係為線性馬達,但本發明不以此為限制。為了訊號間的傳遞與驅動控制,本實施例更可在控制模組12及馬達14間電性連接一訊號轉換器16及一驅動器17;控制模組12中更包含一同步及命令解碼器121、一位置控制器122、一速度控制器123、一回授與位置運算器124及一速度運算器125,在本實施例中位置控制器122係為比例控制器(P控制器),速度控制器123係為比例加積分控制器(PI控制器),其中的積分控制器係為具適應性的動態積分反飽和控制器;同步及命令解碼器121係利用一第一比較器126連接至位置控制器122,更利用第一比較器126連接回授與位置運算器124,位置控制器122再利用一第二比較器127連接至速度控制器123,且位置控制器122及速度控制器123可以再分別連接同步及命令解碼器121,第二比較器127連接至速度運算器125,且速度運算器125再連接回授與位置運算器124,控制模組12再利用回授與位置運算器124連接至馬達14中的編碼器142;控制模組12係經由速度控制器123連接至訊號轉換器16,訊號轉換器16再連接驅動器17,驅動器17則再連接至馬達14,且控制模組12中的同步及命令解碼器121可再外接控制系統10外部的一命令控制器18,在本實施例中使用之命令控制器18係可為電腦,但本發明不以此為限制。First, referring to the first figure of the present invention, the control system 10 used in the control method of the machine finger-playing force of the robot of the present invention comprises a control module 12 connected to a motor 14, the control mode in this embodiment. The group 12 selects a Field Programmable Gate Array (FPGA) chip, and the motor 14 is a linear motor, but the invention is not limited thereto. For the transmission and driving control between the signals, the embodiment further electrically connects a signal converter 16 and a driver 17 between the control module 12 and the motor 14. The control module 12 further includes a synchronization and command decoder 121. a position controller 122, a speed controller 123, a feedback and position operator 124, and a speed operator 125. In the present embodiment, the position controller 122 is a proportional controller (P controller), and the speed control is performed. The device 123 is a proportional plus integral controller (PI controller), wherein the integral controller is an adaptive dynamic integral inverse saturation controller; the synchronization and command decoder 121 is connected to the position by using a first comparator 126. The controller 122 is further connected to the position controller 124 by using the first comparator 126. The position controller 122 is further connected to the speed controller 123 by using a second comparator 127, and the position controller 122 and the speed controller 123 can The synchronization and command decoder 121 is connected separately, the second comparator 127 is connected to the speed operator 125, and the speed operator 125 is connected to the feedback and position operator 124. The control module 12 reuses the feedback and position operator 124. The encoder 142 is connected to the motor 14; the control module 12 is connected to the signal converter 16 via the speed controller 123, the signal converter 16 is connected to the driver 17, and the driver 17 is connected to the motor 14, and the control module 12 is connected. The synchronization and command decoder 121 can be externally connected to a command controller 18 outside the control system 10. The command controller 18 used in this embodiment can be a computer, but the invention is not limited thereto.

說明完本發明所使用的系統架構後,接著詳細說明本發明機器手指彈奏力道之控制方法的各步驟流程,請參照本發明第二圖所示,並請同時參照第一圖。首先,如步驟S10所示,命令控制器18會根據外部指示產生一指令訊號C,利用控制模組12中的同步及命令解碼器121接收命令控制器18所傳輸的指令訊號C,通常命令控制器18會傳輸命令給裝置中的許多動作執行單位,而指令訊號C中會包含很多控制命令,同步及命令解碼器121接收到指令訊號C後即有效率地解碼出一位置控制命令C1與力量控制命令C2,其中同步及命令解碼器121會將力量控制命令C2同時傳送給位置控制器122與速度控制器123,以利用力量控制命令C2分別控制位置控制器122調整第一增益參數(Kp)及速度控制器123調整第二增益參數(Kc),此第一增益參數(Kp)係為位置控制增益參數,以及第二增益參數(Kc)係為積分反飽和控制增益參數。如步驟S12所示,同步及命令解碼器121先將位置控制命令C1傳輸至第一比較器126,再藉由第一比較器126將位置控制命令C1傳輸至位置控制器122計算,此時位置控制器122會將位置控制命令C1與目前位置狀態一併計算,並動態調整第一增益參數(Kp)以進行運算,進而計算出速度控制訊號S。接著如步驟S14所示,位置控制器122會將速度控制訊號S傳輸至第二比較器127中,再藉由第二比較器127傳輸至速度控制器123中進行計算,此時速度控制器123會將速度控制訊號S與目前速度狀態一併進行計算,並動態調整第二增益參數(Kc)以進行運算,進而得到一驅動訊號D,此驅動訊號D係可為一電流控制訊號。如步驟S16所示驅動訊號D會先傳輸至訊號轉換器16中進行訊號轉換,例如將數位訊號轉成類比訊號,若此訊號無須轉換,則此訊號轉換器16可以省略之,以便使驅動器17可以順利接收,但本發明不限制該由何種訊號轉成何種訊號,仍須仰賴使用者所使用的控制模組12與驅動器17之種類決定,驅動訊號D經訊號轉換器16轉換後,將驅動訊號D轉換成馬達14之驅動器17可接收的訊號,以傳輸至驅動器17中,驅動器17再據此驅動馬達14對應產生作動,控制模組12中的回授與位置運算器124再從馬達14的編碼器142中取得一回授訊號F並輸出此回授訊號F,於本實施例中的回授訊號F係為馬達14編碼器142所產生的脈波訊號,但本發明不限制回授訊號F的訊號種類。再如步驟S18所示,當回授與位置運算器124自編碼器142中取得回授訊號F後即可進行計算,以運算取得對應馬達14的位置或角度資料的馬達位置資訊MP並輸出之。After explaining the system architecture used in the present invention, the flow of each step of the method for controlling the finger-playing force of the machine of the present invention will be described in detail. Please refer to the second figure of the present invention, and refer to the first figure at the same time. First, as shown in step S10, the command controller 18 generates an instruction signal C according to the external indication, and receives the command signal C transmitted by the command controller 18 by using the synchronization and command decoder 121 in the control module 12, usually command control. The device 18 transmits commands to a plurality of action execution units in the device, and the command signal C contains a plurality of control commands. The synchronization and command decoder 121 efficiently decodes a position control command C1 and power after receiving the command signal C. Control command C2, wherein the synchronization and command decoder 121 simultaneously transmits the power control command C2 to the position controller 122 and the speed controller 123 to respectively control the position controller 122 to adjust the first gain parameter (Kp) by using the force control command C2. And the speed controller 123 adjusts the second gain parameter (Kc), the first gain parameter (Kp) is a position control gain parameter, and the second gain parameter (Kc) is an integral reverse saturation control gain parameter. As shown in step S12, the sync and command decoder 121 first transmits the position control command C1 to the first comparator 126, and then transmits the position control command C1 to the position controller 122 by the first comparator 126. The controller 122 calculates the position control command C1 together with the current position state, and dynamically adjusts the first gain parameter (Kp) to perform an operation, thereby calculating the speed control signal S. Then, as shown in step S14, the position controller 122 transmits the speed control signal S to the second comparator 127, and then transmits it to the speed controller 123 for calculation by the second comparator 127. At this time, the speed controller 123 The speed control signal S is calculated together with the current speed state, and the second gain parameter (Kc) is dynamically adjusted to perform an operation, thereby obtaining a driving signal D, which can be a current control signal. As shown in step S16, the driving signal D is first transmitted to the signal converter 16 for signal conversion, for example, converting the digital signal into an analog signal. If the signal does not need to be converted, the signal converter 16 can be omitted to make the driver 17 The signal can be successfully received. However, the present invention does not limit the signal to which the signal is converted. It still depends on the type of the control module 12 and the driver 17 used by the user. After the drive signal D is converted by the signal converter 16, The drive signal D is converted into a signal receivable by the driver 17 of the motor 14 for transmission to the driver 17, and the driver 17 is accordingly actuated according to the drive motor 14, and the feedback and position operator 124 in the control module 12 is again The feedback signal F is obtained from the encoder 142 of the motor 14 and the feedback signal F is output. The feedback signal F in the embodiment is the pulse signal generated by the encoder 14 of the motor 14, but the invention is not limited thereto. The type of signal for the feedback signal F. Further, as shown in step S18, when the feedback and position calculator 124 obtains the feedback signal F from the encoder 142, the calculation can be performed to obtain the motor position information MP corresponding to the position or angle data of the motor 14 and output it. .

接著仍繼續如第二圖所示,在步驟S18中取得的馬達速度資訊MS後,回授與位置運算器124會將馬達位置資訊MP傳輸至第一比較器126中,以使馬達位置資訊MP與位置控制命令C1進行運算比較,亦即第一比較器126可將馬達位置資訊MP與位置控制命令C1相減,以得知經過馬達14之位置動作反應是否達命令需求,再將運算比較結果傳輸到位置控制器122中,若馬達位置訊號MP與位置控制命令C1相減後的運算比較結果不等於零,表示馬達14位置動作反應之結果未達預期,此時位置控制器122會根據位置控制命令C1與馬達位置資訊MP運算比較結果重新回到步驟S12中,位置控制器122再根據目前之力量控制命令動態調整第一增益參數(Kp),以重新計算調整產生新的速度控制訊號S給速度控制器123。其中,若位置控制命令C1與馬達位置資訊MP相減後的結果等於零(或極接近零),則表示馬達14之位置動作反應已達控制命令要求。運算比較結果仍會傳送至位置控制器122,但此時其輸出的速度控制訊號S則等於零(或極接近零)。馬達位置資訊MP除了傳輸至第一比較器126之外,亦會傳輸至速度運算器125中計算,如步驟S20所示,經速度運算器125計算以取得馬達速度資訊MS,並將此傳送到第二比較器127進行運算比較;詳言之,位置控制器122更新後的速度控制訊號S傳輸至第二比較器127後,會與第二比較器127中的馬達速度資訊MS進行運算比較,亦即第二比較器127將速度控制訊號S與馬達速度資訊MS相減,以得知馬達14速度動作反應是否達速度命令需求,並將此運算比較結果傳輸到速度控制器123,重新進行步驟S14,以確認是否需要調整輸出的驅動訊號D;若相減後的運算比較結果不等於零,則速度控制器123根據速度控制訊號S與馬達速度資訊MS運算產生的運算比較結果重新進行步驟S14,速度控制器123再根據目前之力量控制命令動態調整第二增益參數(Kc),以產生調整後的新驅動訊號D。調整後的新驅動訊號D會如同前述流程般,經訊號轉換器16和驅動器17之作動,再傳輸至馬達14,以控制馬達14。當然,經過速度控制器123運算後之驅動訊號係作為馬達14的驅動控制命令,進而控制機器手指之動作力道。Then, as shown in the second figure, after the motor speed information MS obtained in step S18, the feedback and position operator 124 transmits the motor position information MP to the first comparator 126 to make the motor position information MP. The operation is compared with the position control command C1, that is, the first comparator 126 can subtract the motor position information MP from the position control command C1 to know whether the positional reaction through the motor 14 reaches the command demand, and then the operation comparison result is obtained. Transfer to the position controller 122, if the operation comparison result of the motor position signal MP and the position control command C1 is not equal to zero, indicating that the result of the motor 14 position action reaction is not up to expectations, the position controller 122 is controlled according to the position. The result of the comparison between the command C1 and the motor position information MP operation is returned to the step S12, and the position controller 122 dynamically adjusts the first gain parameter (Kp) according to the current force control command to recalculate the adjustment to generate a new speed control signal S. Speed controller 123. Wherein, if the result of subtracting the position control command C1 from the motor position information MP is equal to zero (or very close to zero), it indicates that the positional action response of the motor 14 has reached the control command request. The result of the operation comparison is still transmitted to the position controller 122, but at this time its output speed control signal S is equal to zero (or very close to zero). In addition to being transmitted to the first comparator 126, the motor position information MP is also transmitted to the speed operator 125 for calculation. As shown in step S20, the speed operator 125 calculates the motor speed information MS and transmits the result to the motor. The second comparator 127 performs an operation comparison; in detail, after the updated speed control signal S of the position controller 122 is transmitted to the second comparator 127, the operation is compared with the motor speed information MS in the second comparator 127. That is, the second comparator 127 subtracts the speed control signal S from the motor speed information MS to know whether the motor 14 speed action response reaches the speed command demand, and transmits the operation comparison result to the speed controller 123, and repeats the steps. S14, to confirm whether it is necessary to adjust the output driving signal D; if the subtracted operation comparison result is not equal to zero, the speed controller 123 repeats the step S14 according to the operation comparison result generated by the speed control signal S and the motor speed information MS operation, The speed controller 123 then dynamically adjusts the second gain parameter (Kc) according to the current force control command to generate the adjusted new drive signal D. The adjusted new drive signal D is actuated by the signal converter 16 and the driver 17 and then transmitted to the motor 14 to control the motor 14 as in the foregoing process. Of course, the drive signal calculated by the speed controller 123 serves as a drive control command for the motor 14, thereby controlling the operating force of the finger of the machine.

承接上段,速度運算器125係藉由接收到的馬達位置資訊MP中取得之馬達14的轉速或是位移速度,並據此自動切換採用高速、低速的運算功能以求得較佳之馬達速度資訊。在此,本發明詳細說明速度運算器125如何計算取得馬達速度資訊MS的方式,請同時參照本發明第一圖及第三圖所示。回授與位置運算器124由馬達之位置編碼器142取得馬達位置之回授訊號F再計算產生馬達位置資訊MP之後,首先如步驟S201所示,速度運算器125自回授與位置運算器124取得馬達位置資訊MP。如步驟S202所示,速度運算器125取得馬達位置資訊MP後先根據馬達位置資訊MP之變化得知馬達14的正、反轉方向並計算馬達速度值,藉此得知馬達14帶動之機器手指係為伸出或收回,以決定馬達14速度是正或負。如步驟S203所示,在獲知馬達14速度係為正或負之後,接著判斷馬達速度狀態為加速狀態或是減速狀態?若是加速狀態則進入步驟S204,若是減速狀態則進行步驟S207。當速度狀態為加速時如步驟S204所示,依目前所設定之速度運算程式判斷馬達速度值是否大於等於速度運算器125所設定之速度上臨界值,若是則進入步驟S205使用高速運算程式來計算馬達速度資訊;若速度值未大於等於此上臨界值則進入步驟S206,則維持使用原本所設定之運算程式(可能為高速運算程式,亦可能為低速運算程式)來計算馬達速度資訊。當步驟S203中判斷出的速度狀態為減速狀態時,如步驟S207所示,判斷馬達速度值是否小於等於速度運算器125所設定之速度下臨界值,若是則進入步驟S208使用的低速運算程式來計算馬達速度資訊;若速度值未小於等於此下臨界值,則進入步驟S209,維持使用原本所設定之運算程式(可能為高速運算程式,亦可能為低速運算程式)來計算馬達速度資訊。其中,馬達14啟動之初始設定係以低速運算程式來計算馬達速度資訊。最後,如步驟S210所示,無論使用高速運算程式或是低速運算程式,皆可計算出馬達速度資訊MS,並輸出此馬達速度資訊MS。當然,本發明更可重複進行上述的計算,以得到最正確的速度資訊,使速度運算器125得以計算出最準確的馬達速度資訊MS。因為馬達14在高、低速移動時,若使用單一之數位脈波週期計算方式或脈波個數計算方式會造成運算結果在高速或低速時產生極大的誤差,因此本發明利用速度運算器125具有自動高、低速切換的計算功能,依馬達14轉速或位移速度自動切換為適合低速運算的脈波週期計算方式或是適合高速運算的脈波個數計算方式,以減少所計算出的計算誤差值並達到最佳速度的運算精準度。其中,上述的上、下臨界值係為一個預設之範圍值,本發明中不限制範圍值的設定,使用者可以依需求自行調整此臨界值。而作為計算的高速運算程式係以公式(1)表示,而低速運算程式則係以公式(2)表示: (1) (2) 其中參數 係為高速運算程式所得之速度,參數 係為低速運算程式所得之速度,參數 係為馬達位置脈波訊號一個週期所代表的距離,且與馬達14中的編碼器142之解析度有關,參數 係為位置脈波訊號之週期數的計算值, 係為高速運算法則時計算位置脈波數之固定週期時間, 係為低速運算法則時計算位置脈波寬度之變動時間。 In the upper stage, the speed computing unit 125 automatically switches between the speed and the displacement speed of the motor 14 obtained by the received motor position information MP, and automatically switches between the high speed and low speed calculation functions to obtain better motor speed information. Here, the present invention details how the speed calculator 125 calculates the motor speed information MS. Please refer to the first and third figures of the present invention. After the feedback and position operator 124 obtains the feedback position F of the motor position from the position encoder 142 of the motor and recalculates the motor position information MP, first, as shown in step S201, the speed operator 125 self-feedback and position operator 124 Get the motor position information MP. As shown in step S202, after obtaining the motor position information MP, the speed computing unit 125 first knows the forward and reverse directions of the motor 14 based on the change of the motor position information MP and calculates the motor speed value, thereby knowing the machine finger driven by the motor 14. It is extended or retracted to determine whether the motor 14 speed is positive or negative. As shown in step S203, after learning that the speed of the motor 14 is positive or negative, it is then determined whether the motor speed state is an acceleration state or a deceleration state. If it is the acceleration state, the process proceeds to step S204, and if it is the deceleration state, the process proceeds to step S207. When the speed state is acceleration, as shown in step S204, it is determined whether the motor speed value is greater than or equal to the speed upper threshold value set by the speed computing unit 125 according to the currently set speed calculation program, and if yes, the process proceeds to step S205 to calculate using the high speed calculation program. The motor speed information; if the speed value is not greater than or equal to the upper threshold value, the process proceeds to step S206, and the motor speed information is maintained by using the originally set operation program (which may be a high speed operation program or a low speed operation program). When the speed state determined in step S203 is the deceleration state, as shown in step S207, it is determined whether the motor speed value is less than or equal to the speed lower limit value set by the speed computing unit 125, and if so, the low speed calculation program used in step S208 is entered. The motor speed information is calculated; if the speed value is not less than or equal to the lower threshold value, the process proceeds to step S209, and the motor speed information is calculated by using the originally set operation program (which may be a high speed operation program or a low speed operation program). The initial setting of the start of the motor 14 is to calculate the motor speed information using a low speed calculation program. Finally, as shown in step S210, the motor speed information MS can be calculated regardless of whether the high speed operation program or the low speed operation program is used, and the motor speed information MS is output. Of course, the present invention can more repeatedly perform the above calculations to obtain the most accurate speed information, so that the speed calculator 125 can calculate the most accurate motor speed information MS. Since the motor 14 is moving at a high speed and a low speed, if a single digital pulse period calculation method or a pulse number calculation method is used, the operation result may cause a large error at a high speed or a low speed. Therefore, the present invention utilizes the speed operator 125. The calculation function of automatic high and low speed switching is automatically switched to the pulse wave period calculation method suitable for low speed operation or the pulse wave number calculation method suitable for high speed operation according to the motor 14 rotation speed or displacement speed to reduce the calculated calculation error value. And achieve the best speed of operation accuracy. Wherein, the above upper and lower threshold values are a preset range value, and the setting of the range value is not limited in the present invention, and the user can adjust the threshold value according to requirements. The high-speed computing program as a calculation is represented by the formula (1), and the low-speed arithmetic program is represented by the formula (2): (1) (2) where parameters The speed obtained by the high-speed computing program, the parameters The speed obtained by the low speed calculation program, the parameters It is the distance represented by one cycle of the motor position pulse signal, and is related to the resolution of the encoder 142 in the motor 14, the parameter Is the calculated value of the number of cycles of the position pulse signal. Calculate the fixed cycle time of the position pulse number when it is a high-speed algorithm. The change time of the position pulse width is calculated when the low speed algorithm is used.

本發明中的實施例所使用的控制模組係為可程式邏輯閘陣列晶片,但本發明不限制控制模組的使用規格,更可以利用系統單晶片(SOC,System on Chip)或微處理機(Microprocessor)作為控制模組使用,而控制模組所連接的馬達也不限制為線性馬達,也可以使用其它馬達完成線性馬達的驅動效果。也因此,本發明中所揭露的訊號轉換器是根據現有的線性馬達與FPGA的控制模組所增設,目的為了可以將訊號轉換成線性馬達可接收的訊號,若訊號可以直接傳遞,則可不需經過訊號轉換的過程。本發明的主要精神係為利用控制模組中的位置控制器及速度控制器,並利用位置控制器及速度控制中皆具有可調整的參數,以使位置控制器更可被視為參數可調的位置控制器,以及速度控制更可被視為參數可調的速度控制器,藉此驅動馬達控制機器手指的彈奏力道。The control module used in the embodiment of the present invention is a programmable logic gate array chip, but the invention does not limit the use specifications of the control module, and can also utilize a system on chip (SOC) or a microprocessor. (Microprocessor) is used as a control module, and the motor to which the control module is connected is not limited to a linear motor, and other motors can be used to complete the driving effect of the linear motor. Therefore, the signal converter disclosed in the present invention is added according to the existing control module of the linear motor and the FPGA, so as to convert the signal into a signal that can be received by the linear motor, and if the signal can be directly transmitted, the signal can be omitted. After the process of signal conversion. The main spirit of the present invention is to utilize the position controller and the speed controller in the control module, and use the position controller and the speed control to have adjustable parameters, so that the position controller can be regarded as a parameter adjustable. The position controller, as well as the speed control, can be viewed as a parameter-adjustable speed controller, whereby the drive motor controls the playing force of the machine's fingers.

本發明中的速度控制器係為比例加積分控制器,其中積分控制器具適應性的動態積分反飽和控制器,可以解決積分控制器存在有飽和的問題,並能因應指令訊號的控制命令與馬達作動狀態,自動調變反飽和控制器的第二增益參數(Kc),使得機器手指或馬達動作可以達到位置響應的最佳化,而位置控制器中的第一增益參數(Kp)可以依照輕、重音之力量控制命令調整。例如,請參照本發明第四a~四d圖之動作響應模擬圖所示,每一張圖的虛線部分表示沒有動態積分反飽和控制器(即Kc=0)時的系統響應之一般裝置,而實線部分則表示本發明具有動態積分反飽和控制器時的系統響應模擬圖。四張圖分別代表Kc=Kc1~Kc4時的系統響應,第四a圖係為Kp=Kp1時阻尼比為0.6的條件下,具有動態積分反飽和控制器的曲線明顯比沒有動態積分反飽和控制器的曲線來得更快、更精準到達數值5之位置命令,意即在彈奏時,沒有動態積分反飽和控制器的機器手指的作動要達到理想的動作需要耗費的時間較長且較不精準,可以明顯看出當時間耗費約0.05秒時才接近理想位移量5釐米(mm),而本發明具有動態積分反飽和控制器的速度控制器可以在接近0.02秒前幾達到位移量5釐米;接著第四b圖係為Kp=Kp2時阻尼比為0.7的條件下,可發現本發明具有動態積分反飽和控制器的速度控制器,可以更快的達到理想位移量5釐米;第四c圖係為Kp=Kp3時阻尼比為0.8的條件下,可發現本發明具有動態積分反飽和控制器的速度控制器在比阻尼比0.7時花費更短的時間,達到位移量5釐米;最後在第四d圖係為Kp=Kp4時阻尼比為0.9的條件下,可發現本發明具有動態積分反飽和控制器的速度控制器會比沒有動態積分反飽和控制器的裝置更快達到位移量5釐米。在阻尼比越小的條件下,更可以明顯看出本發明比沒有動態積分反飽和控制器的一般裝置的馬達響應時間也隨著越短,最大的超越量也跟著減小,而響應時間在固定距離下,達到定點所花的時間越短,也就是馬達的定位速度越快。利用牛頓第二運動定律可知,加速度與質量相乘和力量成正比,當質量不變的情況下,力量與加速度成正比,本發明中馬達移動或轉動的動子上之負載係為固定不變的,因此馬達出力越大,相同時間下可達之運動速度也會相對提高。本發明係藉由調整增益參數來達到力量控制的功能,接著請參照本發明第五a圖及第五b圖所示,可以明顯比較出有或無動態積分反飽和控制器以及在不同阻尼比條件下的曲線,藉此曲線的比較以得知上述不同條件之結果變化,第五b圖中可清楚看出沒有動態積分反飽和控制器時,當時間到0.05秒時,位移量仍然無法達到5釐米,而第五a圖中具有動態積分反飽和控制器則可以有效達到位移量5釐米。上述的Kp及Kc係以4個為例,但本發明不限制Kp及Kc的數量,使用者可以依照連接線的數量對Kp及Kc進行調整。The speed controller in the invention is a proportional plus integral controller, wherein the integral controller has an adaptive dynamic integral anti-saturation controller, which can solve the problem that the integral controller has saturation, and can respond to the control command and the motor of the command signal. Actuation state, automatically modulating the second gain parameter (Kc) of the anti-saturation controller, so that the machine finger or motor action can achieve the position response optimization, and the first gain parameter (Kp) in the position controller can be light The power of accent control commands adjustment. For example, please refer to the action response simulation diagrams of the fourth to fourth graphs of the present invention, and the dotted line portion of each graph indicates the general device of the system response when there is no dynamic integral anti-saturation controller (ie, Kc=0). The solid line part shows the system response simulation diagram when the present invention has a dynamic integral anti-saturation controller. The four graphs represent the system response when Kc=Kc1~Kc4, and the fourth a graph is Kp=Kp1 with a damping ratio of 0.6. The curve with dynamic integral anti-saturation controller is significantly better than the dynamic integral anti-saturation control. The curve of the device is faster and more accurate to reach the position command of the value 5, which means that when playing, the action of the machine finger without the dynamic integral anti-saturation controller takes a long time and is less accurate to achieve the desired action. It can be clearly seen that the ideal displacement amount is 5 centimeters (mm) when the time is about 0.05 seconds, and the speed controller with the dynamic integral anti-saturation controller of the present invention can reach the displacement amount of 5 centimeters before approaching 0.02 seconds; Then, under the condition that the fourth b diagram is Kp=Kp2 and the damping ratio is 0.7, the speed controller with dynamic integral anti-saturation controller of the invention can be found to achieve the ideal displacement of 5 cm faster; the fourth c-graph Under the condition that the damping ratio is 0.8 when Kp=Kp3, it can be found that the speed controller with dynamic integral anti-saturation controller of the present invention takes a shorter time than the damping ratio of 0.7, and reaches a displacement of 5 cm; When the fourth d-picture is Kp=Kp4 and the damping ratio is 0.9, it can be found that the speed controller with dynamic integral anti-saturation controller of the present invention can reach the displacement amount faster than the device without dynamic integral anti-saturation controller. cm. Under the condition that the damping ratio is smaller, it is more obvious that the motor response time of the present invention is shorter than that of the general device without the dynamic integral anti-saturation controller, and the maximum overshoot is also reduced, and the response time is At a fixed distance, the shorter the time it takes to reach the fixed point, the faster the positioning speed of the motor. Using Newton's second law of motion, the acceleration is proportional to the mass and the force. When the mass is constant, the force is proportional to the acceleration. In the present invention, the load on the moving or rotating mover of the motor is fixed. Therefore, the greater the motor output, the higher the speed of movement at the same time. The present invention achieves the power control function by adjusting the gain parameter. Referring to the fifth and fifth b diagrams of the present invention, it is possible to clearly compare the presence or absence of the dynamic integral anti-saturation controller and the different damping ratios. The curve under the condition, by which the curve is compared to know the result of the above different conditions, it can be clearly seen in the fifth b-picture that when there is no dynamic integral anti-saturation controller, when the time reaches 0.05 seconds, the displacement cannot be reached. 5 cm, and the dynamic integral anti-saturation controller in the fifth a diagram can effectively achieve a displacement of 5 cm. The above Kp and Kc are exemplified by four, but the present invention does not limit the number of Kp and Kc, and the user can adjust Kp and Kc according to the number of connecting lines.

本發明所提供的一種機器手指彈奏力道之控制方法,用以改善一般機器人彈奏的缺點,利用增益參數的調整以控制位置與速度,並驅動機器手指的移動,藉此馬達的驅動方式可以得到更佳的控制機器手指的彈奏力道方式,並且於演奏時可以隨時回饋機器手指的位置,以即時調整機器手指的位置及速度。本發明可以避免一般機器人生冷的敲擊琴鍵的方式,更可以讓彈奏出來的音樂更加美妙動人,賦予演奏時的彈奏節奏及彈奏力道更加精準,加強了輕、重音的彈奏控制。在許多餐廳或是需要放奏音樂的環境中,可以將本發明的控制方法應用在可演奏的機器人上,除了取代人力彈奏以外,也可以取代播放音樂給人的一種距離感,透過機器人演奏,可以帶給聆聽者更多的臨場感感受,以及長時間不休息的演奏,僅需藉由電腦更換演奏曲目,即可隨時進行不同類型的音樂演奏。The invention provides a method for controlling the finger-playing force of a machine, which is used for improving the shortcomings of general robot playing, using the adjustment of the gain parameter to control the position and speed, and driving the movement of the finger of the machine, whereby the driving mode of the motor can be Get a better way to control the playing force of the machine's fingers, and you can always give back the position of the machine's fingers during the performance to instantly adjust the position and speed of the machine's fingers. The invention can avoid the manner in which the general robot cools and knocks the keys, and can make the played music more beautiful and moving, and gives the playing rhythm and the playing force more accurately during the performance, and strengthens the light and accent playing control. In many restaurants or environments where music needs to be played, the control method of the present invention can be applied to a playable robot. In addition to replacing the human play, it can also replace the sense of distance that the music is played to, and play through the robot. It can give the listener more sense of presence and performance, and play for a long time without rest. You can play different types of music at any time by changing the music track by computer.

以上所述之實施例僅係為說明本發明之技術思想及特點,其目的在使熟習此項技藝之人士能夠瞭解本發明之內容並據以實施,當不能以之限定本發明之專利範圍,即大凡依本發明所揭示之精神所作之均等變化或修飾,仍應涵蓋在本發明之專利範圍內。The embodiments described above are merely illustrative of the technical spirit and the features of the present invention, and the objects of the present invention can be understood by those skilled in the art, and the scope of the present invention cannot be limited thereto. That is, the equivalent variations or modifications made by the spirit of the present invention should still be included in the scope of the present invention.

10‧‧‧控制系統10‧‧‧Control system

12‧‧‧控制模組12‧‧‧Control Module

121‧‧‧同步及命令解碼器121‧‧‧Synchronization and Command Decoder

122‧‧‧位置控制器122‧‧‧ position controller

123‧‧‧速度控制器123‧‧‧Speed controller

124‧‧‧回授與位置運算器124‧‧‧Return and position calculator

125‧‧‧速度運算器125‧‧‧Speed Operator

126‧‧‧第一比較器126‧‧‧First comparator

127‧‧‧第二比較器127‧‧‧Second comparator

14‧‧‧馬達14‧‧‧Motor

142‧‧‧編碼器142‧‧‧Encoder

16‧‧‧訊號轉換器16‧‧‧Signal Converter

17‧‧‧驅動器17‧‧‧ drive

18‧‧‧命令控制器18‧‧‧Command Controller

C‧‧‧指令訊號C‧‧‧ Command Signal

C1‧‧‧位置控制命令C1‧‧‧Location Control Command

C2‧‧‧力量控制命令C2‧‧‧Power Control Order

D‧‧‧驅動訊號D‧‧‧Drive Signal

F‧‧‧回授訊號F‧‧‧Reward signal

MS‧‧‧馬達速度資訊MS‧‧‧Motor Speed Information

MP‧‧‧馬達位置資訊MP‧‧·Motor position information

S‧‧‧速度控制訊號S‧‧‧ speed control signal

第一圖為本發明使用之控制系統的架構示意圖。 第二圖為本發明之機器手指彈奏力道之控制方法的流程圖。 第三圖為本發明之第二圖中步驟S20中計算出馬達速度訊號方式的流程圖。 第四a~第四d圖為本發明與無動態積分反飽和控制器的位置響應比較圖。 第五a圖為本發明的位置響應圖。 第五b圖為無動態積分反飽和控制器之裝置的位置響應圖。The first figure is a schematic diagram of the architecture of the control system used in the present invention. The second figure is a flow chart of the control method of the finger-playing force of the machine of the present invention. The third figure is a flow chart of the manner in which the motor speed signal is calculated in step S20 in the second diagram of the present invention. The fourth to fourth d-d is a comparison of the position response of the present invention and the non-dynamic integral anti-saturation controller. The fifth a diagram is a position response diagram of the present invention. Figure 5b is a position response diagram of the device without the dynamic integral inverse saturation controller.

Claims (11)

一種機器手指彈奏力道之控制方法,包含下列步驟:(a)接收一指令訊號,同步控制該指令訊號並將其解碼出至少一位置控制命令及一力量控制命令;(b)將該位置控制命令與目前位置狀態傳輸至一位置控制器計算,並與該位置控制器中由該力量控制命令調整的位置控制增益參數一起計算,以得到一速度控制訊號;(c)將該速度控制訊號與目前速度狀態傳輸至一速度控制器計算,並與該速度控制器中由該力量控制命令調整的積分反飽和控制增益參數一起計算,以得到一驅動訊號;(d)將該驅動訊號傳輸至一驅動器,以驅動一馬達運轉,以控制機器手指彈奏的力道,該馬達運轉後產生一回授訊號;以及(e)計算該回授訊號以得到一馬達位置資訊,取得該馬達位置資訊後即進行下列步驟:(f1)回到步驟(b),根據該位置控制命令與該馬達位置資訊重複進行該步驟(b);及(f2)利用該馬達位置資訊計算出一馬達速度資訊後,回到步驟(c),根據該速度控制訊號與該馬達速度資訊重複進行該步驟(c)。 A method for controlling the finger-playing force of a machine includes the following steps: (a) receiving a command signal, synchronously controlling the command signal and decoding the at least one position control command and a power control command; (b) controlling the position The command and the current position state are transmitted to a position controller for calculation, and are calculated together with the position control gain parameter adjusted by the force control command in the position controller to obtain a speed control signal; (c) the speed control signal is The current speed state is transmitted to a speed controller for calculation and is calculated together with the integral anti-saturation control gain parameter adjusted by the force control command in the speed controller to obtain a driving signal; (d) transmitting the driving signal to the first a driver for driving a motor to control the force of the fingering of the machine, the motor generating a feedback signal after operation; and (e) calculating the feedback signal to obtain a motor position information, and obtaining the motor position information Performing the following steps: (f1) returning to step (b), repeating step (b) according to the position control command and the motor position information; And (f2) calculating the motor speed information by using the motor position information, returning to step (c), and repeating the step (c) according to the speed control signal and the motor speed information. 如請求項1所述之機器手指彈奏力道之控制方法,其中該位置控制器係為比例控制器,以及該速度控制器係為比例加積分控制器。 The control method of the machine finger playing force according to claim 1, wherein the position controller is a proportional controller, and the speed controller is a proportional plus integral controller. 如請求項2所述之機器手指彈奏力道之控制方法,其中該比例加積分控制器係為具有適應性動態積分反飽和之控制功能。 The control method of the machine finger playing force according to claim 2, wherein the proportional plus integral controller is a control function with adaptive dynamic integral anti-saturation. 如請求項1所述之機器手指彈奏力道之控制方法,其中該位置控制器及該速度控制器係設置在一控制模組中,且該位置控制器連接該速 度控制器,及該位置控制器與該速度控制器分別再連接該控制模組中的一同步及命令解碼器,該同步及命令解碼器係接收上源之命令控制器之該指令訊號,並解碼出該位置控制命令與該力量控制命令,該同步及命令解碼器並將該位置控制命令傳輸至該位置控制器中,同時該同步及命令解碼器利用該力量控制命令控制該位置控制器調整該第一增益參數及該速度控制器調整該第二增益參數。 The control method of the machine finger playing force according to claim 1, wherein the position controller and the speed controller are disposed in a control module, and the position controller is connected to the speed And the position controller and the speed controller are respectively connected to a synchronization and command decoder in the control module, and the synchronization and command decoder receives the command signal of the command controller of the source, and Decoding the position control command and the force control command, the synchronization and command decoder transmitting the position control command to the position controller, and the synchronization and command decoder uses the force control command to control the position controller to adjust The first gain parameter and the speed controller adjust the second gain parameter. 如請求項4所述之機器手指彈奏力道之控制方法,其中在步驟(e)中計算該回授訊號以得到該馬達位置資訊,係經由該控制模組中的回授與位置運算器,該回授與位置運算器取得該回授訊號後並計算取得該馬達位置資訊,該馬達位置資訊係相對應自該馬達的位置或角度資料。 The control method of the machine finger playing force according to claim 4, wherein the feedback signal is calculated in step (e) to obtain the motor position information, and the feedback and position operator in the control module is used. The feedback and position calculator obtains the feedback signal and calculates the motor position information, and the motor position information corresponds to the position or angle data of the motor. 如請求項5所述之機器手指彈奏力道之控制方法,其中在步驟(f1)中,在回到該步驟(b)時,該位置控制命令更先傳輸至一第一比較器與自該回授與位置運算器取得之該馬達位置資訊進行運算比較,再經由該第一比較器傳輸至該位置控制器中進行動態增益調整之計算;且在步驟(f2)中,在回到該步驟(c)時,該速度控制訊號更先傳輸至一第二比較器與自該速度運算器取得之該馬達速度資訊進行運算比較,再經由該第二比較器傳輸至該速度控制器進行動態積分反飽和增益調整之計算。 The control method of the machine finger playing force according to claim 5, wherein in the step (f1), when returning to the step (b), the position control command is transmitted to the first comparator and the The operation is compared with the motor position information obtained by the position operator, and then transmitted to the position controller via the first comparator for calculation of dynamic gain adjustment; and in step (f2), returning to the step (c), the speed control signal is first transmitted to a second comparator for comparison with the motor speed information obtained from the speed operator, and then transmitted to the speed controller for dynamic integration via the second comparator. Calculation of the inverse saturation gain adjustment. 如請求項6所述之機器手指彈奏力道之控制方法,其中該第一比較器之運算比較步驟中,係利用該第一比較器運算該位置控制命令與該馬達位置資訊的差值;以及該第二比較器之運算比較步驟中,係利用該第二比較器運算該速度控制訊號與該馬達速度資訊與的差值。 The control method of the machine finger playing force according to claim 6, wherein in the operation comparing step of the first comparator, the first comparator is used to calculate a difference between the position control command and the motor position information; In the operation comparing step of the second comparator, the second comparator is used to calculate a difference between the speed control signal and the motor speed information. 如請求項1或5所述之機器手指彈奏力道之控制方法,其中在步驟(f2) 中計算出該馬達速度資訊之過程更包含下列步驟:接收該馬達位置資訊;利用該馬達位置資訊取得該馬達的正、反轉方向,並計算馬達速度值;根據該馬達速度值判斷該馬達處於加速狀態或減速狀態:若是加速狀態,則判斷該馬達速度值是否大於等於上臨界值:若是,則切換使用一高速運算程式計算該馬達速度資訊;及若否,則繼續使用原運算程式計算該馬達速度資訊;若是減速狀態,則判斷該馬達速度值是否小於等於下臨界值:若是,則切換使用該低速運算程式計算該馬達速度資訊;及若否,則繼續使用該原運算程式計算該馬達速度資訊;以及輸出該馬達速度資訊。 The method for controlling the finger-playing force of the machine according to claim 1 or 5, wherein in step (f2) The process of calculating the motor speed information further comprises the steps of: receiving the motor position information; obtaining the forward and reverse directions of the motor by using the motor position information, and calculating a motor speed value; determining, according to the motor speed value, the motor is in the Acceleration state or deceleration state: if it is an acceleration state, it is determined whether the motor speed value is greater than or equal to an upper threshold value: if yes, switching uses a high speed calculation program to calculate the motor speed information; and if not, continuing to use the original calculation program to calculate the Motor speed information; if it is in a deceleration state, it is determined whether the motor speed value is less than or equal to a lower threshold value; if yes, switching to use the low speed calculation program to calculate the motor speed information; and if not, continuing to use the original calculation program to calculate the motor Speed information; and outputting the motor speed information. 如請求項8所述之機器手指彈奏力道之控制方法,其中該馬達啟動之初始設定係以低速運算程式計算該馬達速度資訊。 The control method of the machine finger playing force according to claim 8, wherein the initial setting of the motor starting is calculating the motor speed information by a low speed calculation program. 如請求項4所述之機器手指彈奏力道之控制方法,其中該控制模組係為可程式邏輯閘陣列(Field Programmable Gate Array,FPGA)晶片、系統單晶片(System on Chip,SoC)或微處理機(Microprocessor)。 The control method of the machine finger playing force according to claim 4, wherein the control module is a Field Programmable Gate Array (FPGA) chip, a system on chip (SoC) or a micro Processor (Microprocessor). 如請求項1所述之機器手指彈奏力道之控制方法,其中該馬達係為線性馬達。 The control method of the machine finger playing force according to claim 1, wherein the motor is a linear motor.
TW105119508A 2016-06-22 2016-06-22 Method for controlling playing force of robot fingers TWI596599B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW105119508A TWI596599B (en) 2016-06-22 2016-06-22 Method for controlling playing force of robot fingers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105119508A TWI596599B (en) 2016-06-22 2016-06-22 Method for controlling playing force of robot fingers

Publications (2)

Publication Number Publication Date
TWI596599B true TWI596599B (en) 2017-08-21
TW201801065A TW201801065A (en) 2018-01-01

Family

ID=60189268

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105119508A TWI596599B (en) 2016-06-22 2016-06-22 Method for controlling playing force of robot fingers

Country Status (1)

Country Link
TW (1) TWI596599B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131100A1 (en) * 2007-02-16 2010-05-27 Kiichiro Takano Robot Hand for Industrial Robot
US20110118871A1 (en) * 2009-10-08 2011-05-19 Honda Motor Co., Ltd. Theremin-player robot
TWM424184U (en) * 2011-08-23 2012-03-11 Univ Minghsin Sci & Tech Palm-mimic mechanical music instrument play device
TW201226133A (en) * 2010-12-24 2012-07-01 Univ Nat Taiwan Science Tech Robot system and method for playing a chord by using the same
TW201308313A (en) * 2011-08-02 2013-02-16 Univ Minghsin Sci & Tech Multi-degree freedom mechanical finger with play function

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131100A1 (en) * 2007-02-16 2010-05-27 Kiichiro Takano Robot Hand for Industrial Robot
US20110118871A1 (en) * 2009-10-08 2011-05-19 Honda Motor Co., Ltd. Theremin-player robot
TW201226133A (en) * 2010-12-24 2012-07-01 Univ Nat Taiwan Science Tech Robot system and method for playing a chord by using the same
TW201308313A (en) * 2011-08-02 2013-02-16 Univ Minghsin Sci & Tech Multi-degree freedom mechanical finger with play function
TWM424184U (en) * 2011-08-23 2012-03-11 Univ Minghsin Sci & Tech Palm-mimic mechanical music instrument play device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Y.F. Li, "FPGA-based module design for PM linear motor control-applied to music playing robot," 2013 IEEE International Symposium on Industrial Electronics, Taipei, Taiwan, pp.1-6. May 28-31, 2013. *

Also Published As

Publication number Publication date
TW201801065A (en) 2018-01-01

Similar Documents

Publication Publication Date Title
US10613628B2 (en) Media driven haptics
US10322336B2 (en) Haptic braille output for a game controller
Martínez et al. Vitaki: a vibrotactile prototyping toolkit for virtual reality and video games
WO2002045916A1 (en) Robot device, method for controlling motion of robot device, and system for controlling motion of robot device
JP2006235216A (en) Reproduction driver of musical instrument performance, keyboard instrument, and automatic playing piano
JP6730415B2 (en) System and method for virtual reality long range interaction
JP2006267447A (en) Musical keyboard instrument
WO2019181735A1 (en) Musical performance analysis method and musical performance analysis device
ATE422071T1 (en) CONTROLLER STRUCTURE WITH A TORSION MODEL
US10216277B2 (en) Modifying haptic effects for slow motion
CN113826160A (en) Noise reduction in robot-to-person communication
JP2005321576A (en) Automatic playing piano
JP4375200B2 (en) Basic information output device for haptic control
US9418639B2 (en) Smart drumsticks
TWI596599B (en) Method for controlling playing force of robot fingers
EP2509068A3 (en) Keyboard musical instrument, program, performance data conversion program and device
TWI607431B (en) Music playing control device
Grunberg et al. Development of an autonomous dancing robot
JP6382880B2 (en) Vibration control system, vibration control method, vibration output device, game controller, vibration output program, and vibration output method
JP2006003444A (en) Piano for automatic performance
WO2016199032A1 (en) Vibration feedback system and vibration feedback method
JP6744522B2 (en) Performance system and control method
JP2005292803A (en) Player piano and program for automatically operating key
JP2018171514A (en) Vibration control system, vibration control method, vibration output device, game controller, vibration output program and vibration output method
TWI416295B (en) Machine action editing system and method thereof

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees