一種控制系統的開發方法和裝置的制造方法
【專利摘要】本申請公開了一種控制系統的開發方法和裝置。首先獲取開發控制系統所需的圖像信息。進而,將獲取到的圖像信息封裝成可在Matlab工具下直接使用的S?Function模塊,并利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,初步驗證控制策略模型的正確性。當確認建立的控制策略模型無誤后,將上述S?Function模塊和上述控制策略模型進行集成,并基于Matlab工具提供的RTW模塊將集成后的控制策略模型轉換為C代碼。進一步,對生成的C代碼進行編譯、鏈接生成可執行文件,以將上述可執行文件寫入相關的控制器中完成控制系統的開發。
【專利說明】
一種控制系統的開發方法和裝置
技術領域
[0001]本申請涉及軟件開關領域,更具體地說,涉及一種控制系統開發的方法和裝置。
【背景技術】
[0002]現階段,開發控制系統軟件一般采用手寫代碼的方式來完成,如C語言、C++。如,在開發汽車的無人駕駛控制系統時,首先通過手寫代碼控制單片機相應模塊進行圖像信息的采集,其次通過算法解析采集到的圖像信息,提取開發的無人駕駛控制系統所需的圖像信息,然后把提取的圖像信息和控制策略進行集成,完成整個無人駕駛系統軟件的開發。
[0003]對軟件開發人員來說,使用手寫代碼開發控制系統軟件的方法需要軟件開發人員具有較強的專業知識,這樣無疑增大了控制系統軟件開發的難度。
【發明內容】
[0004]有鑒于此,本申請提供一種開控制系統的開發的方法和裝置,基于Matlab工具的圖形化編程的方式開發控制系統,降低了控制系統的開發難度。
[0005]為了實現上述目的,現提出的方案如下:
[0006]—種控制系統的開發方法,包括:
[0007]獲取開發所述控制系統所需的圖像信息;
[0008]對所述圖像信息進行封裝,生成包含有所述圖像信息,且適用于Matlab工具的S-Funct1n模塊;
[0009]利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,以驗證所述控制策略模型是否正確;
[00?0]當驗證所述控制策略模型無誤后,集成所述S-Funct1n模塊和所述控制策略模型;
[0011]利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件;
[0012]將所述可執行文件寫入所述控制系統的控制器,完成所述控制系統的開發。
[0013]優選的,所述利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件之后,還包括:
[0014]獲取所述C代碼編譯過程中生成的變量地址文件以及Matlab工具自動生成的A2L格式文件;
[0015]基于所述變量地址文件和所述A2L格式文件,生成標定軟件所需的數據庫文件;
[0016]其中所述標定軟件用于實現對所述控制系統的程序下載和測量標定。
[0017]優選的,所述獲取開發所述控制系統所需的圖像信息,包括:
[0018]采集車輛的視頻信息;
[0019]對所述視頻信息進行解碼操作;
[0020]從解碼后的所述視頻信息中,提取開發所述控制系統所需的所述圖像信息。
[0021]優選的,所述調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件包括:
[0022]通過調用基于Perl語言編寫的代碼文件,完成對所述編譯器的調用;
[0023]利用所述編譯器對所述C代碼進行編譯、鏈接,生成可執行文件。
[0024]一種控制系統的開發裝置,包括:
[0025]第一信息采集單元,用于獲取開發所述控制系統所需的圖像信息;
[0026]封裝單元,用于對所述圖像信息進行封裝,生成包含有所述圖像信息,且適用于Matlab 工具的 S-Funct1n 模塊;
[0027]仿真單元,用于利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,以驗證所述控制策略模型是否正確;
[0028]集成單元,用于當驗證所述控制策略模型無誤后,集成所述S-Funct1n模塊和所述控制策略模型;
[0029]代碼轉換編譯單元,用于利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件;
[0030]寫入單元,用于將所述可執行文件寫入所述控制系統的控制器,完成所述控制系統的開發。
[0031]優選的,還包括:
[0032]第二信息采集單元,用于獲取所述C代碼編譯過程中生成的變量地址文件以及Matlab工具自動生成的A2L格式文件;
[0033]數據庫文件生成單元,用于基于所述變量地址文件和所述A2L格式文件,生成標定軟件所需的數據庫文件;
[0034]其中所述標定軟件用于實現對所述控制系統的程序下載和測量標定。
[0035]優選的,所述第一信息采集單元包括:
[0036]攝像頭,用于采集車輛的視頻信息;
[0037]解碼子單元,用于對所述視頻信息進行解碼操作;
[0038]圖像信息提取子單元,用于從解碼后的所述視頻信息中,提取開發所述控制系統所需的所述圖像信息。
[0039]優選的,所述代碼轉換編譯單元包括:
[0040]代碼轉換子單元,用于利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼;
[0041]編譯器調用子單元,用于通過調用基于Perl語言編寫的代碼文件,完成對所述編譯器的調用;
[0042]代碼編譯子單元,用于利用所述編譯器對所述C代碼進行編譯、鏈接,生成可執行文件。
[0043]經由上述技術方案可知,本申請公開了一種控制系統的開發方法和裝置。首先獲取開發控制系統所需的圖像信息。進而,將獲取到的圖像信息封裝成可在Matlab工具下直接使用的S-Funct1n模塊,并利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,初步驗證控制策略模型的正確性。當確認建立的控制策略模型無誤后,將上述S-Funct1n模塊和上述控制策略模型進行集成,并基于Matlab工具提供的RTW模塊將集成后的控制策略模型轉換為C代碼。進一步,對生成的C代碼進行編譯、鏈接生成可執行文件,以將上述可執行文件寫入相關的控制器中完成控制系統的開發。與現有技術相比,本發明基于Matlab工具下的各個圖形化模塊完成對控制系統的開發,不再需要系統開發人員編寫軟件代碼,降低了控制系統軟件開發的難度。
【附圖說明】
[0044]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0045]圖1示出了本發明一個實施例公開的一種控制系統的開發方法的流程示意圖;
[0046]圖2示出了本發明另一個實施例公開的一種控制系統的開發裝置的結構示意圖;
[0047]圖3示出了本發明另一個實施例公開的一種控制系統的開發裝置的結構示意圖。
【具體實施方式】
[0048]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0049]參見圖1示出了本發明一個實施例公開的一種控制系統的開發方法的流程示意圖。
[0050]由圖1可知,該方法包括:
[0051 ] S11:獲取開發控制系統所需的圖像信息。
[0052]通過汽車內部的數據總線獲取開發控制系統所需的圖像信息。
[0053]可選的,可通過獲取攝像頭采集的視頻信息,并對攝像頭采集到的視頻信息進行解碼操作,進而,從解碼后的所述視頻信息中,提取開發所述控制系統所需的所述圖像信息。
[0054]S102:對所述圖像信息進行封裝,生成包含有所述圖像信息,且適用于Matlab工具的 S-Func t i on 模塊。
[0055]基于圖像處理芯片的通訊矩陣對獲取到的圖像信息進行封裝,以封裝成用戶可以直接在Mat Iab工具下使用的S-Funct 1n模塊。
[0056]S103:利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,以驗證所述控制策略模型是否正確。
[0057]可選的,本發明公開的控制系統開發方法可應用于汽車無人駕駛控制系統的開發。在開發汽車無人駕駛控制系統時,汽車無人駕駛控制系統的控制策略可包括以下控制策略,如當行人與車輛的距離在預設的第一范圍時,車輛輸出報警信號的控制策略,當行人與車輛的距離在預設的第二范圍時,車輛實現自動制動的控制策略。
[0058]當然,在實際應用中車輛駕駛員可根據自身的駕駛習慣設置不同的控制策略。
[0059]控制策略模型建模完成之后,可以和Matlab/Simulink下提供的Sinks(信號模塊組)和Sources(數學運算模塊組)庫中的模塊進行聯合仿真測試,初步驗證控制策略模型的正確性。
[ΟΟ?Ο] S104:當驗證所述控制策略模型無誤后,集成所述S-Funct1n模塊和所述控制策略模型。
[0061 ] 上述S-Funct1n模塊和控制策略模型的集成過程可看作將S-Funct1n模塊中存儲的圖像信息關聯到控制策略模型的信息輸入端口的過程。
[0062]S105:利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件。
[0063]具體包括:
[0064]Real-Time Workshop(實時工作間)是Matlab提供的自動代碼生成工具,在本申請中可基于MatIab提供Real-Time Workshop將集成后的控制策略模型轉換為C代碼。然后,通過調用Perl語言編寫的代碼文件,完成了對編譯器軟件的調用,并且控制編譯器軟件進行軟件工程的建立、編譯和鏈接工作,最終生成控制器可以使用的可執行文件。
[0065]S106:將所述可執行文件寫入所述控制系統的控制器,完成所述控制系統的開發。
[0066]由以上實施例可知:本申請公開了一種控制系統的開發方法。首先獲取開發控制系統所需的圖像信息。進而,將獲取到的圖像信息封裝成可在Matlab工具下直接使用的S-Funct1n模塊,并利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,初步驗證控制策略模型的正確性。當確認建立的控制策略模型無誤后,將上述S-Funct1n模塊和上述控制策略模型進行集成,并基于Matlab工具提供的RTW模塊將集成后的控制策略模型轉換為C代碼。進一步,對生成的C代碼進行編譯、鏈接生成可執行文件,以將上述可執行文件寫入相關的控制器中完成控制系統的開發。與現有技術相比,本發明基于Matlab工具下的各個圖形化模塊完成對控制系統的開發,不再需要系統開發人員編寫軟件代碼,降低了控制系統軟件開發的難度。
[0067]參見圖2示出了本發明另一個實施例公開的一種控制系統的開發裝置結構示意圖。
[0068]在本實施例中,該裝置包括:第一信息采集單元1、封裝單元2、仿真單元3、集成單元4、代碼轉換編譯單元5以及寫入單元6。
[0069]其中,第一信息采集單元I,用于獲取開發所述控制系統所需的圖像信息,并將獲取到的圖像信息發送至封裝單元2中。
[°07°]封裝單元2用于基于Matlab工具下的S-Funct1n模塊形式對第一信息采集單元輸出的圖像信息進行封裝,以生成包含有所述圖像信息的S-Funct1n模塊。
[0071]仿真單元3用于利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,以驗證所述控制策略模型是否正確。
[0072]集成單元4用于當確定所述控制策略模塊正確無誤后,集成所述S-Funct1n模塊和所述控制策略模型。
[0073]代碼轉換編譯單元5用于利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件。
[0074]具體的,Real-Time Workshop(實時工作間)是Matlab提供的自動代碼生成工具,在本申請中可基于Matlab提供Real-Time Workshop將集成后的控制策略模型轉換為(:代碼。然后,通過調用Perl語言編寫的代碼文件,完成了對編譯器軟件的調用,并且控制編譯器軟件進行軟件工程的建立、編譯和鏈接工作,最終生成控制器可以使用的可執行文件。
[0075]寫入單元6用于將所述可執行文件寫入所述控制系統的控制器,完成所述控制系統的開發。
[0076]參見圖3示出了本發明另一個實施例公開的一種控制系統的開發裝置結構示意圖。
[0077]與上一個實施例不同的是,在本實施例中,為了實現對該控制系統的監控,該裝置還包括第二信息采集單元7以及數據庫文件生成單元8。
[0078]其中,第二信息采集單元7用于獲取所述C代碼編譯過程中生成的變量地址文件以及Mat Iab工具自動生成的A2L格式文件。
[0079]數據庫文件生成單元,用于基于所述變量地址文件和所述A2L格式文件,生成標定軟件所需的數據庫文件。其中,所述標定軟件用于實現對所述控制系統的監控。
[0080]另外,在本實施例中所述第一信息采集單元具備包括:攝像頭、解碼子單元以及圖像信息提取子單元。
[0081 ]其中,攝像頭,用于采集視頻信息;
[0082]解碼子單元,用于對所述視頻信息進行解碼操作;
[0083]圖像信息提取子單元,用于從解碼后的所述視頻信息中,提取開發所述控制系統所需的所述圖像信息。
[0084]所述代碼轉換編譯單元包括:
[0085]代碼轉換子單元,用于利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼;
[0086]編譯器調用子單元,用于通過調用基于Perl語言編寫的代碼文件,完成對所述編譯器的調用;
[0087]代碼編譯子單元,用于利用所述編譯器對所述C代碼進行編譯、鏈接,生成可執行文件。
[0088]需要說明的是該裝置實施例與方法實施例相對應,其執行過程和執行原理相同,在此不作贅述。
[0089]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0090]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
[0091]對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【主權項】
1.一種控制系統的開發方法,其特征在于,包括: 獲取開發所述控制系統所需的圖像信息; 對所述圖像信息進行封裝,生成包含有所述圖像信息,且適用于Matlab工具的S-Funct1n模塊; 利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,以驗證所述控制策略模型是否正確; 當驗證所述控制策略模型無誤后,集成所述S-Funct1n模塊和所述控制策略模型; 利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件; 將所述可執行文件寫入所述控制系統的控制器,完成所述控制系統的開發。2.根據權利要求1所述的方法,其特征在于,所述利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件之后,還包括: 獲取所述C代碼編譯過程中生成的變量地址文件以及Matlab工具自動生成的A2L格式文件; 基于所述變量地址文件和所述A2L格式文件,生成標定軟件所需的數據庫文件; 其中所述標定軟件用于實現對所述控制系統的程序下載和測量標定。3.根據權利要求1所述的方法,其特征在于,所述獲取開發所述控制系統所需的圖像信息,包括: 采集車輛的視頻信息; 對所述視頻信息進行解碼操作; 從解碼后的所述視頻信息中,提取開發所述控制系統所需的所述圖像信息。4.根據權利要求1所述的方法,其特征在于,所述調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件包括: 通過調用基于Perl語言編寫的代碼文件,完成對所述編譯器的調用; 利用所述編譯器對所述C代碼進行編譯、鏈接,生成可執行文件。5.一種控制系統的開發裝置,其特征在于,包括: 第一信息采集單元,用于獲取開發所述控制系統所需的圖像信息; 封裝單元,用于對所述圖像信息進行封裝,生成包含有所述圖像信息,且適用于Matlab工具的S-Funct1n模塊; 仿真單元,用于利用Matlab工具下的仿真模塊對預先建立的控制策略模型進行仿真,以驗證所述控制策略模型是否正確; 集成單元,用于當驗證所述控制策略模型無誤后,集成所述S-Funct1n模塊和所述控制策略模型; 代碼轉換編譯單元,用于利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼,并調用編譯器對所述C代碼進行編譯、鏈接,生成可執行文件; 寫入單元,用于將所述可執行文件寫入所述控制系統的控制器,完成所述控制系統的開發。6.根據權利要求5所述的裝置,其特征在于,還包括: 第二信息采集單元,用于獲取所述C代碼編譯過程中生成的變量地址文件以及Matlab工具自動生成的A2L格式文件; 數據庫文件生成單元,用于基于所述變量地址文件和所述A2L格式文件,生成標定軟件所需的數據庫文件; 其中所述標定軟件用于實現對所述控制系統的程序下載和測量標定。7.根據權利要求5所述的裝置,其特征在于,所述第一信息采集單元包括: 攝像頭,用于采集車輛的視頻信息; 解碼子單元,用于對所述視頻信息進行解碼操作; 圖像信息提取子單元,用于從解碼后的所述視頻信息中,提取開發所述控制系統所需的所述圖像信息。8.根據權利要求5所述的裝置,其特征在于,所述代碼轉換編譯單元包括: 代碼轉換子單元,用于利用Matlab工具下的RTW模塊,將集成后的所述控制策略模型轉換為C代碼; 編譯器調用子單元,用于通過調用基于Perl語言編寫的代碼文件,完成對所述編譯器的調用; 代碼編譯子單元,用于利用所述編譯器對所述C代碼進行編譯、鏈接,生成可執行文件。
【文檔編號】G06F9/445GK106055351SQ201610342015
【公開日】2016年10月26日
【申請日】2016年5月20日
【發明人】孔閣, 楊霞
【申請人】北京經緯恒潤科技有限公司