一种控制系统的开发方法和装置的制造方法
【专利摘要】本申请公开了一种控制系统的开发方法和装置。首先获取开发控制系统所需的图像信息。进而,将获取到的图像信息封装成可在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日
【发明人】孔阁, 杨霞
【申请人】北京经纬恒润科技有限公司