[發明專利]一種基于遺傳進化的自主無人系統軟件配置項調整方法有效
| 申請號: | 202011437832.1 | 申請日: | 2020-12-11 |
| 公開(公告)號: | CN112463629B | 公開(公告)日: | 2022-03-29 |
| 發明(設計)人: | 丁嶸 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41;G06F8/33;G06F8/71;G06N3/12 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 安麗;鄧治平 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 遺傳 進化 自主 無人 系統軟件 配置 調整 方法 | ||
1.一種基于遺傳進化的自主無人系統軟件配置項調整方法,其特征在于:
步驟(1):使用IDEA編輯器的ANTLR工具,將無人系統軟件的源碼轉換成抽象語法樹,送至參數提取器;
步驟(2):參數提取器根據抽象語法樹和要提取的參數類型,匹配對應規則,提取出ROS參數服務器中的參數以及源碼中的參數;
步驟(3):根據任務、資源、環境的要求,構建仿真測試環境;
步驟(4):根據步驟(2)中提取出參數的數據類型,隨機生成參數的值;
步驟(5):根據隨機生成的參數的值,將其寫入多份YAML文件,同時將隨機生成的參數的值寫回源碼,生成與YAML文件數量相等的源碼文件;
步驟(6):根據步驟(5)生成的源碼文件,在仿真環境中進行編譯,編譯后進行測試,并得到該源碼在仿真環境中的測試結果,即這一部分隨機生成的參數的值對任務、環境、資源的適應度;
步驟(7):根據步驟(5)中的YAML文件,將其編碼成二進制文件;
步驟(8):根據步驟(7)中的二進制編碼文件和步驟(6)中的測試結果,運行遺傳算法,經過選擇、交叉和變異,生成下一代種群;
步驟(9):根據計算得到的下一代種群,將其參數值寫回YAML文件和源碼中;
步驟(10):重復步驟(5)~(9),當測試結果符合預取要求時,得到符合任務、資源、環境的配置項參數,寫回源碼作為最終結果;
在所述步驟(1)中,提取參數,使用IDEA編輯器,安裝ANTLR工具鏈,將源碼轉換成抽象語法樹,由于轉換得到的抽象語法樹只能訪問而不能修改,使用自定義的語法樹結構,將ANTLR工具得到的抽象語法樹轉換成可操作的語法樹,操作包括樹節點的增加、刪除、修改;
在所述步驟(2)中,匹配規則時,使用迭代的方式,遍歷抽象語法樹中的節點,根據語法規則進行匹配,提取出ROS參數服務器中的參數以及源碼中不同數據類型的參數;
所述步驟(8)中運行遺傳算法,經過選擇、交叉和變異,生成下一代種群具體實現為:遺傳算法需要輸入編碼后的父代文件以及每一個父代對應的測試結果,首先調用適應度函數,根據父代的測試結果計算適應度,之后根據適應度選擇表現較好的父代,進行下一步的交叉、變異;交叉時,需要先根據參數的編碼方式對父代基因進行分割,即按照編碼位數,將基因分割成多個片段,每個片段對應一個參數,之后不同父代之間,同位置的片段進行交叉操作;變異操作也是以片段為單位,每個片段按照給定的變異率進行變異,即更改片段上的某一位編碼, 經過選擇、交叉、變異的基因作為下一代種群,參與后續計算。
2.根據權利要求1所述的基于遺傳進化的自主無人系統軟件配置項調整方法,其特征在于:在所述步驟(3)中,仿真測試環境,選擇不同的測試腳本,對應不同的任務要求;以資源約束為目標來評價測試結果,對應不同的資源要求;更替仿真測試地圖,對應不同的環境要求。
3.根據權利要求1所述的基于遺傳進化的自主無人系統軟件配置項調整方法,其特征在于:在所述步驟(6)中,仿真環境基于ROS系統環境,并使用Python腳本發布任務,通過更改仿真軟件和腳本的設置,為機器人提供測試的任務、資源與環境要求;測試不同配置項參數的源碼在仿真測試環境中運行結果,作為遺傳算法的適應度。
4.根據權利要求1所述的基于遺傳進化的自主無人系統軟件配置項調整方法,其特征在于:在所述步驟(7)中,參數編碼,不同類型的參數進行不同的編碼,布爾型使用單個二進制位編碼,0表示假,1表示真;整型使用多個二進制位編碼,根據整型的取值范圍確定編碼位數;浮點數的編碼方式和整型相似,不同參數文件中的同一參數的編碼位數保持一致,各個參數文件編碼后的基因位數保持一致。
5.根據權利要求1所述的基于遺傳進化的自主無人系統軟件配置項調整方法,其特征在于:在所述步驟(8)、(9)中,二進制編碼后的參數和測試結果作為遺傳算法的輸入,使用遺傳算法對編碼后的配置項參數進行選擇、交叉、變異,交叉的操作在不同父代的同一參數之間進行,即只交換不同參數文件中的同一參數的值。
6.根據權利要求1所述的基于遺傳進化的自主無人系統軟件配置項調整方法,其特征在于:在所述步驟(10)中,整個流程由腳本自動化地控制,包括種群的生成、YAML參數的編碼、源碼編譯、啟動仿真測試環境進行測試、運行遺傳算法進行計算,當配置項參數的仿真測試結果滿足任務、資源、環境的要求時結束流程,并寫回源碼,作為最終結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011437832.1/1.html,轉載請聲明來源鉆瓜專利網。





