CN112947903B - 面向教育无人机的基于Scratch的图形化编程***、平台及方法 - Google Patents
面向教育无人机的基于Scratch的图形化编程***、平台及方法 Download PDFInfo
- Publication number
- CN112947903B CN112947903B CN202110215670.5A CN202110215670A CN112947903B CN 112947903 B CN112947903 B CN 112947903B CN 202110215670 A CN202110215670 A CN 202110215670A CN 112947903 B CN112947903 B CN 112947903B
- Authority
- CN
- China
- Prior art keywords
- module
- unmanned aerial
- aerial vehicle
- function
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 230000006870 function Effects 0.000 claims abstract description 87
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 57
- 238000011161 development Methods 0.000 claims abstract description 22
- 238000004088 simulation Methods 0.000 claims abstract description 21
- 238000013528 artificial neural network Methods 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 29
- 230000002787 reinforcement Effects 0.000 claims description 25
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000008447 perception Effects 0.000 claims description 5
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims description 4
- 101001061942 Homo sapiens Ras-related protein Rab-40C Proteins 0.000 claims description 3
- 102100029539 Ras-related protein Rab-40C Human genes 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000003384 imaging method Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 238000011160 research Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000366 juvenile effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了面向教育无人机的基于Scratch的图形化编程***、平台及方法,属于图形化编程领域,***包括:用于存储基础图形化功能块的基础功能存储模块;用于存储基础算法的基础算法存储模块;用于在编译环境下编译运行Scratch程序的运行模块;用于在Scratch中将基础算法封装成拓展功能块的拓展功能模块;用于存储拓展功能块的拓展功能存储模块以及用于根据指令,基于运行的Scratch***及集成开发环境进行作品的制作的集成开发模块。平台包括上述***;用于连接上述的***和教育无人机的设备连接模块以及用于进行仿真模拟飞行的仿真模拟平台。本发明通过在Scratch中调用TensorF low和OpenAI Gym的功能,将基础算法封装成对应的功能块以实现相应的功能,降低教育无人机复杂功能的编程难度。
Description
技术领域
本发明涉及图形化编程技术领域,特别涉及面向教育无人机的基于Scratch的图形化编程***、平台及方法。
背景技术
近年来,少儿编程成为教育行业最热门的赛道,国内少儿编程行业的发展越来越迅速。由此催生了众多的基于图形化编程的少儿编程软件,但大多是基于Scratch衍生而来。
Scratch是一款由麻省理工学院设计开发的开源的少儿编程工具。其特点是:用户可以不认识英文单词,也可以不会使用键盘,其构成程序的命令和参数通过积木形状的模块来实现,用鼠标拖动模块到程序编辑栏就可以进行编程。
随着无人机技术的不断发展,目前无人机的应用越来越广泛,其中基于图形化编程软件的教育无人机已经成为了一个研究热点。目前也已经涌现出一批教育无人机的研究机构,其研究方向涉及无人机教学,图形化编程控制。
随着机器学习和强化学习等科学技术的飞速发展,其广泛使用的TensorFlow和OpenAI Gym方法和工具也在不断发展。TensorFlow是Google公司发布的一个用于数值计算的开源软件库。OpenAI Gym是一个用于构建、评估和比较强化学习算法的工具包。
依靠这些技术所创造的智能算法,无人机已经可以实现一些自主智能化的功能和任务,例如常见的有感知与规避、基于视觉的目标检测与识别、无GPS环境建图和定位、运动规划等等,以及由此衍生来的一些无人机智能化行为。
目前已经存在的教育无人机产品功能比较单一,仍然以一些简单的比如上下左右飞行的功能为主,因此需要一些智能算法来使产品的功能和应用更加丰富,更加智能化。
但是,目前研究人员想要实现应用于教育无人机上的智能算法还是一件较为困难的事情,因此需要一个平台和***来让这些事情变得简单和方便。
发明内容
针对现有技术存在的不便于将基于智能算法的功能添加到教育无人机的飞行程序中问题,本发明的目的在于提供一种面向教育无人机的基于Scratch的图形化编程***、平台及方法。
为实现上述目的,本发明的技术方案为:
一方面,本发明提供一种面向教育无人机的基于Scratch的图形化编程***,包括
基础功能存储模块,所述基础功能存储模块用于存储基础图形化功能块;
基础算法存储模块,所述基础算法存储模块用于存储基础算法;
运行模块,所述运行模块用于在编译环境下编译运行Scratch程序;
拓展功能模块,所述拓展功能模块用于在Scratch中将所述基础算法封装成拓展功能块;
拓展功能存储模块,所述拓展功能存储模块用于存储所述拓展功能块;
以及集成开发模块,所述集成开发模块用于根据指令,基于运行的Scratch***及集成开发环境进行作品的制作。
优选的,所述拓展功能模块包括TensorFlow单元、OpenAI Gym单元和拼装单元,所述基础算法包括机器学习算法和强化学习算法;所述TensorFlow单元用于将所述机器学习算法的神经网络以及获取的第一可变参数封装成神经网络功能块;所述OpenAI Gym单元用于将所述强化学习算法以及获取的第二可变参数封装成强化学习功能块;所述拼装单元用于将所述强化学习功能块和所述神经网络功能块拼装成所述拓展功能块。
优选的,所述拓展功能块包括无人机目标跟踪、无人机感知、无人机自主避障、无人机集群中的至少一个;所述神经网络包括前馈神经网络、循环神经网络、卷积神经网络中的至少一个;所述强化学习算法包括PPO算法、SAC算法、RARL算法中的至少一个;所述第一可变参数包括网络类型、输入层节点个数、隐藏层层数、隐藏层节点个数、输出层节点个数、学习率、激活函数、loss函数中的至少一个;所述第二可变参数包括算法类型、回报函数、价值函数中的至少一个。
优选的,所述基础图形化功能块包括飞行控制子模块、灯光子模块、参数设置子模块和摄像子模块中的至少一个。
优选的,所述集成开发模块包括
图形界面单元,所述图形界面单元用于实现集成开发环境的软件界面;
代码转换单元,所述代码转换单元用于将搭建好的图形化程序转换为文本代码;
编译单元,所述编译单元用于将所述文本代码编译成目标程序代码;
以及通讯单元,所述通讯单元用于将训练数据、训练环境的配置参数以及所述拓展功能块发送到远程服务器,并接收由所述远程服务器在所述训练环境下根据所述训练数据对所述拓展功能块进行训练的结果。
进一步的,所述集成开发模块还包括判断单元和调换单元,所述判断单元用于判断所述结果是否符合预期,所述调换单元用于在所述结果不符合预期时,对所述训练数据进行迭代,和/或,对所述第一可变参数或者第二可变参数进行调整。
另一方面,本发明还提供一种面向教育无人机的基于Scratch的图形化编程平台,包括上述的***,所述***用于搭建图形化程序并根据所述图形化程序生成目标程序代码;
设备连接模块,所述设备连接模块用于连接所述***和教育无人机;
以及仿真模拟飞行平台,所述仿真模拟飞行平台与所述***连接,所述仿真模拟飞行平台用于根据所述***生成的目标程序代码进行仿真模拟飞行。
进一步的,所述平台还包括
判断模块,所述判断模块用于判断仿真模拟飞行的结果是否符合预期;
以及修改模块,所述修改模块用于在仿真模拟飞行的结果不符合预期时,对所述***搭建好的图形化程序进行修改从而生成修改后的目标程序代码,以便于所述仿真模拟飞行平台根据所述修改后的目标程序代码进行仿真模拟飞行。
优选的,所述修改模块包括增减单元和调整单元,所述增减单元用于对所述拓展功能块中的神经网络功能块和强化学习功能块进行增加或者删除,所述调整单元用于对所述第一可变参数或者第二可变参数进行调整。
再一方面,本发明还提供一种面向教育无人机的基于Scratch的图形化编程方法,包括以下步骤
S1、获取目标功能,并确定实现所述目标功能所需的功能块,所述功能块包括基础图形化功能块以及神经网络功能块、强化学习功能块;
S2、根据既定的逻辑顺序,将所述功能块搭建成图形化程序;
S3、将所述图形化程序进行编译和代码转换,获得目标程序代码;
S4、通过仿真模拟飞行平台对所述目标程序代码进行仿真模拟飞行;
S5、判断模拟飞行结果是否符合预期,是则将目标程序代码传入教育无人机以便于执行所述目标功能,否则对所述图形化程序进行修改,并在修改完成后执行S3。
采用上述技术方案,由于提供了基础算法,使得在基于Scratch的***中通过调用TensorFlow和OpenAI Gym的功能,将对应的基础算法封装成对应的功能块,从而实现相应的功能,以便于在图形化程序设计中,以降低教育无人机复杂功能的编程难度,从而方便进行操作;并且由于能够通过对不同类型的基础算法进行搭配组合,使得能够封装出能够实现不同功能的功能块,从而使最终作品具有相应的功能。
附图说明
图1为本发明面向教育无人机的基于Scratch的图形化编程***的结构示意图;
图2为本发明集成开发模块的结构示意图;
图3为本发明面向教育无人机的基于Scratch的图形化编程平台的结构示意图;
图4为本发明面向教育无人机的基于Scratch的图形化编程方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示对本发明结构的说明,仅是为了便于描述本发明的简便,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
对于本技术方案中的“第一”和“第二”,仅为对相同或相似结构,或者起相似功能的对应结构的称谓区分,不是对这些结构重要性的排列,也没有排序、或比较大小、或其他含义。
另外,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个结构内部的连通。对于本领域的普通技术人员而言,可以根据本发明的总体思路,联系本方案上下文具体情况理解上述术语在本发明中的具体含义。
实施例一
一种面向教育无人机的基于Scratch的图形化编程***,如图1所示,包括
基础功能存储模块,基础功能存储模块用于存储基础图形化功能块;
基础算法存储模块,基础算法功能模块用于存储基础算法功能块;
运行模块,运行模块用于在编译环境下编译运行Scratch;
拓展功能模块,拓展功能模块用于在Scratch中将基础算法封装成拓展功能块;
拓展功能存储模块,拓展功能存储模块与上述的拓展功能模块连接,拓展功能存储模块用于存储上述的拓展功能块;以及
集成开发模块,基础开发模块与上述的基础功能存储模块、基础算法存储模块、运行模块、拓展功能模块以及拓展功能存储模块连接,集成开发模块用于根据指令,基于运行的Scratch***及集成开发环境进行作品的制作。
本实施例中的***是基于Scratch3.0来进行开发的,使用cmder终端作为编译环境,实现编译环境下编译运行Scratch3.0,并在浏览器界面使用。
其中,基础图形化功能块包括飞行控制子模块、灯光子模块、参数设置子模块和摄像子模块中的至少一个,通常是多个,例如全部。基础飞行控制子模块存储了一些例如控制无人机起飞、降落、以某个速度向某个方向飞行、往某个方向旋转某个角度、飞行到某个特定的坐标等的功能块,用于控制无人机进行一些基础飞行动作;灯光子模块主要存储了设置彩灯颜色的功能块,用于改变彩灯的颜色;参数设置子模块存储设置航向角、横滚角、俯仰角、飞机电压、当前高度等参数的功能块,用于设置飞机的姿态和位置等;摄像子模块包括拍照、开始录像、停止录像等功能块,用于飞行过程中拍照和录像。
其中,基础算法模块包括神经网络和强化学习算法,神经网络包括前馈神经网络、循环神经网络、卷积神经网络中的至少一个,例如全部;强化学习算法包括PPO算法、SAC算法、RARL算法中的至少一个,例如全部。
其中,拓展功能模块包括TensorFlow单元、OpenAI Gym单元和拼装单元。其中,TensorFlow单元用于将上述的神经网络模块以及获取的第一可变参数封装成神经网络功能块,第一可变参数包括网络类型、输入层节点个数、隐藏层层数、隐藏层节点个数、输出层节点个数、学习率、激活函数、loss函数,使用时,第一可变参数具体包含哪几项,是根据需要封装的神经网络功能块的类型而定。OpenAI Gym单元用于将上述的强化学习算法以及获取的第二可变参数封装成强化学习功能块,第二可变参数包括算法类型、回报函数、价值函数,并且第二可变参数具体包含哪几项,也是根据需要封装的强化学习功能块的类型而定。而拼装单元则用于将强化学习功能块和神经网络功能块拼装成拓展功能块,拓展功能块则用于实现相应的功能,这些功能包括无人机目标跟踪、无人机感知、无人机自主避障、无人机集群,并且可以理解的是,对于不同的功能,其实现是由不同的强化学习功能块和神经网络功能块结合实现的。
本实施例中,通过cmder终端工具向Scratch3.0中添加TensorFlow.js库,在TensorFlow单元中导入的TensorFlow.js库后,即可在TensorFlow单元中调用TensorFlow.js的所有API进行封装操作。同理,通过cmder终端工具向Scratch3.0中添加Gym-js包,在OpenAI Gym单元中导入Gym-js包后,即可在OpenAI Gym单元中调用Gym-js的所有API进行封装操作。
其中,如图2所示,集成开发模块包括有:
图形界面单元,图形界面单元用于实现集成开发环境的软件界面,操作者在该软件界面中进行图形化编程操作;
代码转换单元,代码转换单元用于将搭建好的图形化程序转换为文本代码;
编译单元,编译单元用于将文本代码编译成目标程序代码;
以及通讯单元,通讯单元用于将训练数据、训练环境的配置参数以及拓展功能块发送到远程服务器,并接收由远程服务器在训练环境下根据训练数据对拓展功能块进行训练的结果。
具体而言,操作者在图形界面单元提供的软件界面中进行操作,通过上述的各类功能块搭建出需要的图形化程序,再将图形化程序转为文本代码,再将文本代码编译成能够被教育无人机执行的目标程序代码。
而本实施例中,根据教育无人机所要执行的功能,确定该功能所需的功能块,例如上述的无人机目标跟踪、无人机感知、无人机自主避障、无人机集群,这些功能基于不同的算法模型,这些算法通过上述的拓展功能块被封装成对应的功能块。而基于这些算法的模型的训练则通过远程服务器进行,即由通讯单元将训练数据、训练环境的配置参数以及拓展功能块发送到远程服务器进行对应的训练,通常,一个远程服务器对应多个本发明的***,算法模型训练完成后即返回到对应的***。
其中,训练数据一是通过操作者输入,二是通过教育无人机实际飞行收集数据。训练数据包括教育无人机采集到的图像、视频、音频等数据以及教育无人机自身的位置、偏航角等的角度以及角加速度等数据。***通过集成开发模块根据远程服务器的网址,使用给定的用户名和密码登录连接远程服务器,并将数据传到远程服务器上进行算法模型训练。
在一个实施例中,集成开发模块还包括判断单元和调换单元,判断单元用于判断结果是否符合预期,而调换单元则用于在结果不符合预期时,对训练数据进行迭代,和/或,对第一可变参数或者第二可变参数进行调整。
实施例二
一种面向教育无人机的基于Scratch的图形化编程平台,如图3所示,包括:
实施例一中的***,其用于搭建图形化程序并根据图形化程序生成目标程序代码;
设备连接模块,设备连接模块用于连接上述的***和教育无人机;
以及仿真模拟飞行平台,仿真模拟飞行平台与上述的***连接,仿真模拟飞行平台用于根据***生成的目标程序代码进行仿真模拟飞行。
其中,设备连接模块包括串口子模块、WiFi子模块、蓝牙子模块。串口子模块提供了串口连接的功能,可以选择通过串口连接一些无人机飞行遥控器来编程控制教育无人机;WiFi子模块提供WiFi连接的功能,通过与一些具有WiFi连接功能的教育无人机连接同一个WiFi网络来进行通信以实现编程控制无人机飞行;蓝牙子模块提供蓝牙连接的功能,通过连接带有蓝牙功能的教育无人机来进行控制。
并且,实施例一中的通讯单元可通过设备连接模块实现,借助设备连接模块,将算法模型训练所需的数据传输给远程服务器。
其中,仿真模拟平台还用于通过模拟飞行生成训练数据,以便于进行远程服务器进行算法模型训练。
在一个实施例中,上述的平台还包括有:
判断模块,判断模块用于判断仿真模拟飞行的结果是否符合预期;
以及修改模块,修改模块用于在仿真模拟飞行的结果不符合预期时,对***搭建好的图形化程序进行修改从而生成修改后的目标程序代码,以便于仿真模拟飞行平台根据修改后的目标程序代码进行仿真模拟飞行。
其中,修改模块包括增减单元和调整单元,增减单元用于对拓展功能块中的神经网络功能块和强化学习功能块进行增加或者删除,调整单元用于对所述第一可变参数或者第二可变参数进行调整。
实施例三
一种面向教育无人机的基于Scratch的图形化编程方法,如图4所示,包括以下步骤
步骤S1、获取目标功能,并确定实现目标功能所需的功能块,功能块包括基础图形化功能块以及神经网络功能块、强化学习功能块;
步骤S2、根据既定的逻辑顺序,将功能块搭建成图形化程序;
步骤S3、将图形化程序进行编译和代码转换,获得目标程序代码;
可以理解的是,上述三个步骤通过实施例一提供的***进行操作实现。
步骤S4、通过仿真模拟飞行平台对目标程序代码进行仿真模拟飞行;
步骤S5、判断模拟飞行结果是否符合预期,是则通过设备连接模块将目标程序代码传入教育无人机以便于执行所述目标功能,即步骤S6,否则对步骤S2中的图形化程序进行修改,即步骤S7,并在修改完成后继续执行步骤S3。
步骤S4和步骤S5通过实施例二提供的平台进行。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
Claims (8)
1.一种面向教育无人机的基于Scratch的图形化编程***,其特征在于:包括
基础功能存储模块,所述基础功能存储模块用于存储基础图形化功能块;
基础算法存储模块,所述基础算法存储模块用于存储基础算法;
运行模块,所述运行模块用于在编译环境下编译运行Scratch程序;
拓展功能模块,所述拓展功能模块用于在Scratch中将所述基础算法封装成拓展功能块;
拓展功能存储模块,所述拓展功能存储模块用于存储所述拓展功能块;
以及集成开发模块,所述集成开发模块用于根据指令,基于运行的Scratch***及集成开发环境进行作品的制作;
其中,所述拓展功能模块包括TensorFlow单元、OpenAI Gym单元和拼装单元,所述基础算法包括机器学习算法和强化学习算法;所述TensorFlow单元用于将所述机器学习算法的神经网络以及获取的第一可变参数封装成神经网络功能块;所述OpenAI Gym单元用于将所述强化学习算法以及获取的第二可变参数封装成强化学习功能块;所述拼装单元用于将所述强化学习功能块和所述神经网络功能块拼装成所述拓展功能块;
其中,所述拓展功能块包括无人机目标跟踪、无人机感知、无人机自主避障、无人机集群中的至少一个;所述神经网络包括前馈神经网络、循环神经网络、卷积神经网络中的至少一个;所述强化学习算法包括PPO算法、SAC算法、RARL算法中的至少一个;所述第一可变参数包括网络类型、输入层节点个数、隐藏层层数、隐藏层节点个数、输出层节点个数、学习率、激活函数、loss函数中的至少一个;所述第二可变参数包括算法类型、回报函数、价值函数中的至少一个。
2.根据权利要求1所述的***,其特征在于:所述基础图形化功能块包括飞行控制子模块、灯光子模块、参数设置子模块和摄像子模块中的至少一个。
3.根据权利要求1所述的***,其特征在于:所述集成开发模块包括
图形界面单元,所述图形界面单元用于实现集成开发环境的软件界面;
代码转换单元,所述代码转换单元用于将搭建好的图形化程序转换为文本代码;
编译单元,所述编译单元用于将所述文本代码编译成目标程序代码;
以及通讯单元,所述通讯单元用于将训练数据、训练环境的配置参数以及所述拓展功能块发送到远程服务器,并接收由所述远程服务器在所述训练环境下根据所述训练数据对所述拓展功能块进行训练的结果。
4.根据权利要求3所述的***,其特征在于:所述集成开发模块还包括判断单元和调换单元,所述判断单元用于判断所述结果是否符合预期,所述调换单元用于在所述结果不符合预期时,对所述训练数据进行迭代,和/或,对所述第一可变参数或者第二可变参数进行调整。
5.一种面向教育无人机的基于Scratch的图形化编程平台,其特征在于:包括
如权利要求1-4任一项所述***,所述***用于搭建图形化程序并根据所述图形化程序生成目标程序代码;
设备连接模块,所述设备连接模块用于连接所述***和教育无人机;
以及仿真模拟飞行平台,所述仿真模拟飞行平台与所述***连接,所述仿真模拟飞行平台用于根据所述***生成的目标程序代码进行仿真模拟飞行。
6.根据权利要求5所述的平台,其特征在于:还包括
判断模块,所述判断模块用于判断仿真模拟飞行的结果是否符合预期;
以及修改模块,所述修改模块用于在仿真模拟飞行的结果不符合预期时,对所述***搭建好的图形化程序进行修改从而生成修改后的目标程序代码,以便于所述仿真模拟飞行平台根据所述修改后的目标程序代码进行仿真模拟飞行。
7.根据权利要求6所述的平台,其特征在于:所述修改模块包括增减单元和调整单元,所述增减单元用于对所述拓展功能块中的神经网络功能块和强化学习功能块进行增加或者删除,所述调整单元用于对所述第一可变参数或者第二可变参数进行调整。
8.一种面向教育无人机的基于Scratch的图形化编程方法,所示方法应用于如权利要求1-4任一项所述的***,其特征在于:包括以下步骤
S1、获取目标功能,并确定实现所述目标功能所需的功能块,所述功能块包括基础图形化功能块以及神经网络功能块、强化学习功能块;
S2、根据既定的逻辑顺序,将所述功能块搭建成图形化程序;
S3、将所述图形化程序进行编译和代码转换,获得目标程序代码;
S4、通过仿真模拟飞行平台对所述目标程序代码进行仿真模拟飞行;
S5、判断模拟飞行结果是否符合预期,是则将目标程序代码传入教育无人机以便于执行所述目标功能,否则对所述图形化程序进行修改,并在修改完成后执行S3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110215670.5A CN112947903B (zh) | 2021-02-26 | 2021-02-26 | 面向教育无人机的基于Scratch的图形化编程***、平台及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110215670.5A CN112947903B (zh) | 2021-02-26 | 2021-02-26 | 面向教育无人机的基于Scratch的图形化编程***、平台及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112947903A CN112947903A (zh) | 2021-06-11 |
CN112947903B true CN112947903B (zh) | 2024-07-05 |
Family
ID=76246410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110215670.5A Active CN112947903B (zh) | 2021-02-26 | 2021-02-26 | 面向教育无人机的基于Scratch的图形化编程***、平台及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112947903B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098941B (zh) * | 2022-05-31 | 2023-08-04 | 复旦大学 | 面向智能算法敏捷部署的无人机数字孪生控制方法和平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871204A (zh) * | 2019-02-13 | 2019-06-11 | 智能佳(北京)机器人有限公司 | 文字可视化视觉编程集成装置、处理设备及存储介质 |
CN111427549A (zh) * | 2020-03-30 | 2020-07-17 | 中国科学院计算机网络信息中心 | 一种人工智能强化学***台 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11836577B2 (en) * | 2018-11-27 | 2023-12-05 | Amazon Technologies, Inc. | Reinforcement learning model training through simulation |
EP3884432A1 (en) * | 2018-11-21 | 2021-09-29 | Amazon Technologies, Inc. | Reinforcement learning model training through simulation |
CN110362299B (zh) * | 2019-06-14 | 2020-06-26 | 杭州古德微机器人有限公司 | 一种基于blockly和树莓派的在线图形化编程***及其使用方法 |
-
2021
- 2021-02-26 CN CN202110215670.5A patent/CN112947903B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871204A (zh) * | 2019-02-13 | 2019-06-11 | 智能佳(北京)机器人有限公司 | 文字可视化视觉编程集成装置、处理设备及存储介质 |
CN111427549A (zh) * | 2020-03-30 | 2020-07-17 | 中国科学院计算机网络信息中心 | 一种人工智能强化学***台 |
Also Published As
Publication number | Publication date |
---|---|
CN112947903A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834309B (zh) | 基于目标跟踪控制策略的单移动机器人最优巡回控制方法 | |
Mao et al. | A language agent for autonomous driving | |
Odelga et al. | A setup for multi-uav hardware-in-the-loop simulations | |
CN109062079A (zh) | 基于ros的水下机器人多自由度运动控制的仿真方法 | |
Guzman et al. | Robotnik—Professional service robotics applications with ROS | |
Olivares-Mendez et al. | Setting up a testbed for UAV vision based control using V-REP & ROS: A case study on aerial visual inspection | |
CN112947903B (zh) | 面向教育无人机的基于Scratch的图形化编程***、平台及方法 | |
CN114237041A (zh) | 一种基于预设性能的空-地协同固定时间容错控制方法 | |
CN114935943A (zh) | 一种无人机与无人车集群编队跟踪控制方法及*** | |
Pacheco et al. | Control signal weighting for robot formation | |
Ko et al. | A study on manufacturing facility safety system using multimedia tools for cyber physical systems | |
Mai et al. | Driving swarm: A swarm robotics framework for intelligent navigation in a self-organized world | |
Curiel-Ramirez et al. | Hardware in the loop framework proposal for a semi-autonomous car architecture in a closed route environment | |
CN109189099A (zh) | 一种四旋翼无人机的图形化控制组态方法 | |
CN112157648A (zh) | 基于urdf的车载机械臂建模与仿真方法 | |
CN111596691A (zh) | 一种基于人在回路的多机器人***的决策建模与协同控制方法及*** | |
CN116079747A (zh) | 机器人跨具身控制方法、***、计算机设备和存储介质 | |
CN115098941B (zh) | 面向智能算法敏捷部署的无人机数字孪生控制方法和平台 | |
Von Borstel et al. | Development of mobile robots based on wireless robotic components using UML and hierarchical colored Petri nets | |
CN112783142B (zh) | 车道居中控制的仿真测试***、方法、设备和存储介质 | |
Lepej et al. | A flexible hardware-in-the-loop architecture for UAVs | |
Cella et al. | Fueling Glocal: Optimization-Based Path Planning for Indoor Uavs in AN Autonomous Exploration Framework | |
Asignacion Jr et al. | Historical and Current Landscapes of Autonomous Quadrotor Control: An Early-Career Researchers’ Guide | |
Adolf et al. | A sequence control system for onboard mission management of an unmanned helicopter | |
CN106737684B (zh) | 一种基于局域网的模块化机器人控制*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |