CN110825121B - 控制装置与无人机控制方法 - Google Patents

控制装置与无人机控制方法 Download PDF

Info

Publication number
CN110825121B
CN110825121B CN201910712308.1A CN201910712308A CN110825121B CN 110825121 B CN110825121 B CN 110825121B CN 201910712308 A CN201910712308 A CN 201910712308A CN 110825121 B CN110825121 B CN 110825121B
Authority
CN
China
Prior art keywords
program
block
program block
control device
blocks
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
Application number
CN201910712308.1A
Other languages
English (en)
Other versions
CN110825121A (zh
Inventor
陈冠宏
李佳殷
王麒栋
程弘廷
张志明
陈彦宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wistron Corp
Original Assignee
Wistron Corp
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
Priority claimed from TW108126699A external-priority patent/TWI725497B/zh
Application filed by Wistron Corp filed Critical Wistron Corp
Publication of CN110825121A publication Critical patent/CN110825121A/zh
Application granted granted Critical
Publication of CN110825121B publication Critical patent/CN110825121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/12Target-seeking control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0016Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the operator's input device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U10/00Type of UAV
    • B64U10/10Rotorcrafts
    • B64U10/13Flying platforms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Toys (AREA)

Abstract

控制装置与无人机控制方法。控制装置包括处理器以及通信电路;处理器耦接至人机界面,其中所述人机界面用以显示多个程序积木,其中所述处理器检测在所述人机界面中被拖曳的第一程序积木,所述处理器将所述第一程序积木黏接至所述人机界面中的至少一目标程序积木的黏接位置以获得由多个第二程序积木组成的第一程序积木序列,其中所述多个第二程序积木包括所述第一程序积木与所述目标程序积木,以及所述处理器根据所述第一程序积木序列中所述多个第二程序积木的排列顺序,依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的多个控制指令或控制至少一虚拟无人机执行所述多个控制指令。本发明提升在控制无人机时的使用者体验。

Description

控制装置与无人机控制方法
技术领域
本发明涉及一种控制装置与无人机控制方法,特别涉及一种可以提升在控制无人机时使用者体验的控制装置与无人机控制方法。
背景技术
一般来说,在以往学习程序的方式,总是通过撰写与阅读程序代码的方式学习。对于大部分年纪小的学生来说,这有不少的困难。原因在于从看得懂到写得出程序,再到组织复杂的程序代码以致最后的可视的产出,需要花大量的时间学习。
此外,无人机在教育场域上总是有些先天上的危险与困难:一是无人机为求自身悬停的稳定性,桨叶需要有一定的高转速,其存在着危险性。此外,当程序一执行后,无人机即自行飞行。若是程序撰写有误,无人机更容易有不预期动作发生。特别是,微型无人机本身的续航力只有十分钟不到,是无法支持需要一试再试的程序撰写动作。
此外,一般的无人机控制系统并无支持多机编队的功能,要同时对多台无人机进行操控有一定程度的难度。
再者,无人机的控制通常需要遥控器进行操控。此时,由于使用者的双手通常无法空出来做其他的事。若是能够藉由手势(或动作)或声控控制无人机,就能增加更多的其他操控可能性。
因此,如何有效率地、简单地撰写控制无人机的程序,以及更有效地对无人机进行遥控,是本领域技术人员所欲解决的问题之一。
因此,需要提供一种控制装置与无人机控制方法来解决上述问题。
发明内容
本发明实施例提供一种控制装置与无人机控制方法可以提升在控制无人机时的使用者体验。
本发明实施例提出一种控制装置,所述控制装置包括:一处理器以及一通信电路;所述处理器耦接至一人机界面,其中所述人机界面用以显示多个程序积木;所述处理器检测在所述人机界面中被拖曳的一第一程序积木,所述处理器将所述第一程序积木黏接至所述人机界面中的至少一目标程序积木的一黏接位置以获得由多个第二程序积木组成的一第一程序积木序列,其中所述多个第二程序积木包括所述第一程序积木与所述目标程序积木;所述处理器根据所述第一程序积木序列中所述多个第二程序积木的排列顺序,依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的多个控制指令或控制至少一虚拟无人机执行所述多个控制指令。
本发明实施例提出一种无人机控制方法,用于一控制装置,所述控制装置包括一处理器以及一通信电路,所述处理器耦接至一人机界面且所述人机界面用以显示多个程序积木,所述无人机控制方法包括:检测在所述人机界面中被拖曳的一第一程序积木;将所述第一程序积木黏接至对应于所述人机界面中的至少一目标程序积木的一黏接位置以获得由多个第二程序积木组成的一第一程序积木序列,其中所述多个第二程序积木包括所述第一程序积木与所述目标程序积木;以及根据所述第一程序积木序列中所述多个第二程序积木的排列顺序,依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的多个控制指令或控制至少一虚拟无人机执行所述多个控制指令。
基于上述,本发明实施例的控制装置与无人机控制方法可以提供程序积木编辑与无人机控制功能、虚拟关卡与模拟飞行功能、多机编队的程序积木编辑功能、飞行轨迹录制功能以及动作与语音控制功能。针对程序积木编辑与无人机控制功能,可以让使用者更易于学习程序的撰写与对无人机的操作。针对虚拟关卡与模拟飞行功能,可以让使用者在安全的环境模拟无人机的飞行,并且通过虚拟关卡的设置来增加飞行的趣味性。针对多机编队的程序积木编辑功能,可以同时控制多台无人机,让此些无人机可以协同运作并利于无人机的演出。针对飞行轨迹录制功能,可以让无人机再现使用者操作的过程。针对动作与语音控制功能,可以让使用者用更多元的方式控制无人机的飞行。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
图1是依照本发明的一实施例所绘示的飞行控制系统的框图。
图2是依照本发明的一实施例所绘示的飞行控制方法的流程图。
图3是依照本发明的一实施例所绘示的步骤S203的详细流程图。
图4A至图4F是依照本发明的一实施例所绘示的人机界面显示内容的示意图。
图5是依照本发明的一实施例所绘示的执行程序积木序列中的程序积木的流程图。
图6A至图6D是依照本发明的一实施例所绘示的虚拟无人机飞行与虚拟飞行空间的示意图。
图7A至图7D依照本发明的一实施例所绘示的多机编队的程序积木编辑功能的示意图。
图8A至图8B依照本发明的一实施例所绘示的动作与语音控制功能的示意图。
主要组件符号说明:
1000 飞行控制系统
110 无人机
120 控制装置
201、301 处理器
203 运动控制电路
205 影像撷取电路
207、307 通信电路
303 人机界面
305 储存电路
401、403、406、407、409、410、411、413 程序积木
402、408、412、414 黏接残影
600 虚拟无人机
601 建议路线
602 障碍物
603~605、607~612 程序积木
700~702 程序积木序列
700a~700d 程序积木
701a~701d 程序积木
702a~702d 程序积木
150 无线存取点
110a~110d 无人机
800 使用者
S201~S205、S301~S307、S501~S513、S801~S809、S811a、S811b、S813、S815 步骤
具体实施方式
图1是依照本发明的一实施例所绘示的飞行控制系统的框图。请参照图1,飞行控制系统1000包括:无人机110以及控制装置120。无人机110与控制装置120例如通过无线网络或其他无线方式进行联系、沟通。无人机110例如为无人飞行器(Unmanned AerialVehicle)、飞行机器人(aerial robot)等。控制装置120可以是智能型手机、平板计算机、桌上型计算机或其他相类似的装置,在此不设限。
无人机110包括处理器201、运动控制电路203、影像撷取电路205以及通信电路207。其中,运动控制电路203、影像撷取电路205以及通信电路207分别耦接至处理器201。
处理器201例如可以是一般用途处理器、特殊用途处理器、传统的处理器、数字信号处理器、多个微处理器(microprocessor)、一个或多个结合数字信号处理器核心的微处理器、控制器、微控制器、特殊应用集成电路(Application Specific IntegratedCircuit,ASIC)、场可编程门阵列电路(Field Programmable Gate Array,FPGA)、任何其他种类的集成电路、状态机、基于进阶精简指令集机器(Advanced RISC Machine,ARM)的处理器以及类似品。
运动控制电路203可以用以接收控制指令(亦称为,控制信号),并且基于控制指令来控制无人机110的飞行运动。运动控制电路203例如是由多个硬件芯片所组成并且还包括马达(未绘示)以及控制设备(未绘示)。其中,运动控制电路203的马达可以耦接至无人机110的螺旋桨(未绘示)以及控制设备。马达自控制设备接收控制指令后,可以控制螺旋桨的速度及力矩,藉此来决定无人机110的飞行运动。
影像撷取单元205例如是采用电荷耦合元件(Charge coupled device,CCD)镜头、互补式金属氧化物半导体晶体管(Complementary metal oxide semiconductortransistors,CMOS)镜头、或红外线镜头的摄影机、照相机。
通信电路207例如为无线网卡、蓝牙模块等,使得无人机110能够通过无线与控制装置120进行沟通。
控制装置120包括处理器301、人机界面303、储存电路305以及通信电路307。其中,人机界面303、储存电路305以及通信电路307耦接至处理器301。处理器301与通信电路307可以分别是与上述处理器201与通信电路207相类似的元件,故在此并不再赘述。
人机界面303可以是一触控屏幕,其可用以输出所需显示的内容并且让使用者直接通过触控的方式进行输入。或者,人机界面303也可以是一屏幕与输入设备(例如,键盘或鼠标)的组合,在此不设限。
储存电路307可以是任何类型的固定或可移动随机存取存储器(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、闪存(flash memory)或类似元件或上述元件的组合。
在本实施例中,储存单元307中储存有多个程序代码片段,在上述程序代码片段被安装后,会由处理器301来执行。例如,储存单元中包括多个模块(例如,积木模块、参数模块、黏接模块与积木执行器或其他更多的模块),藉由这些模块来分别执行应用于飞行控制系统中的各个运作,其中各模块是由一个或多个程序代码片段所组成。然而本发明不限于此,应用于飞行控制系统中的控制装置120的各个运作也可以是使用其他硬件形式的方式来实现。
在本发明的实施例中,控制装置120可以执行上述的模块来达成无人机控制系统1000的多个功能。在本实施例中,控制装置120可以提供的功能包括:程序积木编辑与无人机控制功能、虚拟关卡与模拟飞行功能、多机编队的程序积木编辑功能、飞行轨迹录制功能以及动作与语音控制功能。在此分别详述如下。
[程序积木编辑与无人机控制功能]
一般来说,在以往学习程序的方式,总是通过撰写与阅读程序代码的方式学习。对于大部分年纪小的学生来说,这有不少的困难。原因在于从看得懂到写得出程序,再到组织复杂的程序代码以致最后的可视的产出,需要花大量的时间学习。为了降低学习程序逻辑的困难,并让学生能快速地感受到进步,本发明实施例提供了程序积木编辑的功能以让学生能快速地学习程序逻辑。
在本发明的实施例中,一个控制装置120可以提供多种类型的程序积木(block),此些类型包括一般程序积木、包覆性积木、布林参数积木与数值参数积木。一般程序积木可以视为以图形化元件表示的一功能模块,其可以用以提供执行一对应的功能或操作的控制指令。需注意的是,本发明并不用于限定一般程序积木所需执行的操作。此外,包覆性积木用于被嵌入多个一般程序积木(即,将一般程序积木黏接至包覆性积木中),且包覆性积木在人机界面303的显示状态可以是一展开状态或一收折状态。在展开状态中,包覆性积木可以显示已被嵌入的多个一般程序积木。在收折状态中,包覆性积木可以隐藏已被嵌入的多个一般程序积木。布林参数积木用以将一布林参数(例如,条件判断式)嵌入一般程序积木(或包覆性积木中的一般程序积木)中以让被嵌入布林参数积木的一般程序积木使用布林参数积木的布林参数执行一般程序积木的功能。
在本实施例中,使用者可以通过人机界面303来排列所需的程序积木以产生一程序积木序列,并且藉由处理器301依序执行此程序积木序列中的程序积木的控制指令以控制无人机110的飞行。
例如,图2是依照本发明的一实施例所绘示的飞行控制方法的流程图。
请参照图2,在步骤S201中,控制装置120检测在人机界面303中被使用者拖曳的程序积木(亦称为,第一程序积木)。之后,在步骤S203中,控制装置120会将第一程序积木黏接至对应于人机界面303中的至少一程序积木(亦称为,目标程序积木)的黏接位置以获得由多个程序积木(亦称为,第二程序积木)所组成的程序积木序列(亦称为,第一程序积木序列)。其中,此第一程序积木序列中的多个第二程序积木包括前述的第一程序积木与前述的目标程序积木。之后,在步骤S205中,控制装置120会根据第一程序积木序列中的多个第二程序积木的排列顺序,依照此顺序执行分别对应于上述多个第二程序积木的多个控制指令以控制无人机110的飞行。
举一范例来说,假设使用者可以通过人机界面303新增一功能为“起飞”的程序积木,将功能为“向前飞10公尺”的程序积木拖曳并黏接至功能为“起飞”的程序积木之后,并且将功能为“降落”的程序积木拖曳并黏接至功能为“向前飞10公尺”的程序积木之后。因此,前述的三个程序积木可以依序组成一个程序积木序列,且此程序积木序列依序包括功能为“起飞”的程序积木、功能为“向前飞10公尺”的程序积木以及功能为“降落”的程序积木。之后,控制装置120可以根据上述多个程序积木的排列顺序,依照此顺序执行“起飞”、“向前飞10公尺”以及“降落”的多个控制指令(例如,发送对应的控制信号给无人机110)以控制无人机110的飞行。在另一实施例中,控制装置120可建构模拟飞行的环境,并显示于人机界面303中,控制装置120根据多个控制指令控制模拟飞行环境中的虚拟飞机飞行。
图3是依照本发明的一实施例所绘示的步骤S203的详细流程图。需说明的是,上述步骤S203的细部流程可以由图3进行说明。
请参照图3,在步骤S301中,控制装置120会识别在人机界面303所显示的多个程序积木中,与前述被拖曳的第一程序积木发生碰撞的程序积木(亦称为,碰撞程序积木)。需注意的是,步骤S301又可以称为“检测阶段”。
详细来说,当人机界面303所显示的某个程序积木被开始拖曳时,处理器301会开始执行前述的步骤S301(即,检测阶段)。此时,处理器301会执行轴对称包围盒(Axis-Aligned Bounding Box)算法,将目前拖拉的程序积木与人机界面303所显示的所有程序积木进行判断,进而找出所有与目前拖曳的程序积木发生碰撞的程序积木(即,碰撞程序积木),并将发生碰撞的程序积木加入一碰撞程序积木列表中。
在此详细描述轴对称包围盒算法。在轴对称包围盒算法中,假设两个程序积木为矩形的长方体。假设一程序积木A1在X轴方向最大与最小的坐标值分别为Axmax与Axmin;程序积木A1在Y轴方向最大与最小的坐标值分别为Aymax与Aymin;且程序积木A1在Z轴方向最大与最小的坐标值分别为Azmax与Azmin。假设另一程序积木B1在X轴方向最大与最小的坐标值分别为Bxmax与Bxmin;程序积木B1在Y轴方向最大与最小的坐标值分别为Bymax与Bymin;且程序积木B1在Z轴方向最大与最小的坐标值分别为Bzmax与Bzmin。当满足下列三个条件时,可以判断程序积木A1与程序积木B1发生碰撞:(1)Axmin<=Bxmax且Axmax>=Bxmin;(2)Aymin<=Bymax且Aymax>=Bymin;(3)Azmin<=Bzmax且Azmax>=Bzmin。在另一实施例中,程序积木A1与程序积木B1为二维呈现的积木,程序积木A1与程序积木B1无Z轴方向的坐标,故当满足前两个条件时,可以判断程序积木A1与程序积木B1发生碰撞,即下列条件:(1)Axmin<=Bxmax且Axmax>=Bxmin;(2)Aymin<=Bymax且Aymax>=Bymin。
在找出所有与目前拖曳的第一程序积木发生碰撞的碰撞程序积木后,在步骤S303中,处理器301比对第一程序积木的类型与前述碰撞程序积木列表中的碰撞程序积木的类型以从碰撞程序积木中选择至少一可黏接程序积木。特别是,步骤S303又可以称为“位置检查阶段”。
详细来说,如前所述,由于每个程序积木的类型都会属于一般程序积木、包覆性积木、布林参数积木或数值参数积木。通过每个积木的类型,处理器301会确认被拖曳的第一程序积木与碰撞程序积木列表里的程序积木是否可以互相黏接(或黏合),而碰撞程序积木列表里可以与被拖曳的第一程序积木相互黏接的程序积木亦可称为“可黏接程序积木”。而多个可黏接程序积木的集合可以称为“可黏接程序积木列表”。
在本实施例中,当被拖曳的第一程序积木的类型为“一般程序积木”或“包覆性积木”且碰撞程序积木中的一程序积木(亦称为,第三程序积木)的类型为“一般程序积木”或“包覆性积木”时,处理器301会将此第三程序积木归类为可黏接程序积木。
此外,当被拖曳的第一程序积木的类型为“布林参数积木”且碰撞程序积木中的一程序积木(亦称为,第四程序积木)的类型为“可以被放入布林参数积木的一般程序积木”或“可以被放入布林参数积木的包覆性积木”时,处理器301会将此第四程序积木归类为可黏接程序积木。在此需说明的是,“可以被放入布林参数积木的一般程序积木”代表可以被嵌入布林参数积木的一般程序积木,且该一般程序积木在执行时会使用该布林参数积木中的布林参数来执行对应的功能。而包括“可以被放入布林参数积木的一般程序积木”的包覆性积木又可以称为“可以被放入布林参数积木的包覆性积木”。
当被拖曳的第一程序积木的类型为“数值参数积木”且碰撞程序积木中的一程序积木(亦称为,第五程序积木)的类型为“可以被放入数值参数积木的一般程序积木”或“可以被放入数值参数积木的包覆性积木”时,处理器301会将此第五程序积木归类为可黏接程序积木。在此需说明的是,“可以被放入数值参数积木的一般程序积木”代表可以被嵌入数值参数积木的一般程序积木,且该一般程序积木在执行时会使用该数值参数积木中的数值参数来执行对应的功能。而包括“可以被放入数值参数积木的一般程序积木”的包覆性积木又可以称为“可以被放入数值参数积木的包覆性积木”。
在找出可黏接程序积木后,在步骤S305中,处理器301会从所找出的可黏接程序积木中选择与被拖曳的第一程序积木距离最近的一程序积木作为目标程序积木。特别是,步骤S305又可以称为“距离判断阶段”。
详细来说,处理器301会根据用以拖曳第一程序积木的使用者的手指在人机界面303的位置,计算用以拖曳第一程序积木的拖曳位置(例如,感测到的使用者的手指触控的位置或光标位置)与每一个可黏接程序积木的中心点的距离,进而选择与被拖曳的第一程序积木距离最近的可黏接程序积木作为目标程序积木。需注意的是,如果最短的距离有两个,则处理器301会从可黏接程序积木列表中选排序较前面的可黏接程序积木作为目标程序积木。
在找出目标程序积木后,在步骤S307中,处理器301会根据目标程序积木与第一程序积木的类型与位置,决定第一程序积木的黏接位置并且将第一程序积木黏接至此黏接位置。特别是,步骤S307又可以称为“黏接阶段”。
详细来说,当第一程序积木的类型为“一般程序积木”或“包覆性积木”且目标程序积木的类型为“一般程序积木”或“包覆性积木”时,处理器301会将第一程序积木黏接至目标程序积木的上方、下方或内部(即,嵌入)。当第一程序积木的类型为“布林参数积木”或“数值参数积木”且目标程序积木的类型为“一般程序积木”或“包覆性积木”时,处理器301会将第一程序积木黏接至目标程序积木的内部(即,嵌入)。
然而需注意的是,由于包覆性积木的状态可以是展开状态或收折状态,在本范例中,当包覆性积木的状态处于收折状态时,第一程序积木并无法被黏接(或嵌入)至目标程序积木的内部。仅在包覆性积木的状态处于展开状态时,第一程序积木才可以被黏接(或嵌入)至目标程序积木的内部。
简单来说,“一般程序积木”与“包覆性积木”是可以放在别的程序积木的上方、下方或内部。不同的是,包覆性积木带有收折功能,当收折起来时,其他的程序积木是无法放置在包覆性积木内部。布林参数积木与数值参数积木则是只能放在积木内部,后续黏合过程会检查程序积木是否可以被放入布林参数积木还是数值参数积木。
在此需说明的是,由上述内容可知,在黏接阶段会分成两种情形:(1)黏接在程序积木的上方或下方;以及(2)黏接在积木的内部。在本实施例中,如果第一程序积木是黏接在目标程序积木的上方或下方,则第一程序积木不须变形,处理器301仅会将第一程序积木放到对应的位置即完成黏接。然而,如果第一程序积木是黏接在目标程序积木的内部,则被拖曳的第一程序积木会缩小一个比例后放入目标程序积木的内部以完成黏接。
图4A至图4F是依照本发明的一实施例所绘示的人机界面显示内容的示意图。
请参照图4A,假设程序积木401为所识别出的目标程序积木,且程序积木403为使用者拖曳的程序积木。当经由前述步骤决定出黏接位置(例如,程序积木401的下方)后,人机界面303可以显示一黏接残影402以提醒使用者关于程序积木403将黏接至程序积木401下方。
请参照图4B,假设程序积木406为所识别出的目标程序积木(其为一包覆性积木),且程序积木407为使用者拖曳的程序积木。当经由前述步骤决定出黏接位置(例如,程序积木406的内部)后,人机界面303可以显示一黏接残影408以提醒使用者关于程序积木407将黏接至程序积木406内部。
请参照图4C,假设程序积木409为一包覆性积木且其已内嵌多个一般程序积木,而程序积木409的所呈现的“收折状态”可以如图4C所示。
请参照图4D,假设程序积木410为所识别出的目标程序积木(其为一般程序积木),且程序积木411为使用者拖曳的程序积木(其为数值参数积木)。当经由前述步骤决定出黏接位置(例如,程序积木410的内部)后,人机界面303可以显示一黏接残影412以提醒使用者关于程序积木411将黏接至程序积木410内部。此外,请参照图4E,当程序积木411被放入程序积木410后,属于数值参数积木的程序积木411会变小。
请参照图4F,假设程序积木412为所识别出的目标程序积木(其为一包覆性积木),且程序积木413为使用者拖曳的程序积木(其为布林参数积木)。当经由前述步骤决定出黏接位置(例如,程序积木412的内部)后,人机界面303可以显示一黏接残影414以提醒使用者关于程序积木413将黏接至程序积木412内部。在此实施例中,程序积木413被黏贴于包覆性积木中的“如果”(IF)的后方,用以在后续执行时此包覆性积木先判断程序积木413(布林参数积木)是否符合,而执行其中包覆的其他程序积木,例如程序积木407。
藉由前述方式,使用者可以通过人机界面303来排列所需的程序积木以产生一程序积木序列,并且藉由处理器301依序执行此程序积木序列中的程序积木的控制指令以控制无人机110的飞行,或是控制模拟飞行环境中的虚拟飞机飞行。
更详细来说,图5是依照本发明的一实施例所绘示的执行程序积木序列中的程序积木的流程图。
请参照图5,首先在步骤S501中,使用者可以通过人机界面303点击位于一程序积木序列开头的一开始程序积木。接着,在步骤S503中,处理器301会从程序积木序列中的多个程序积木(即,第二程序积木)中取得一目前程序积木并执行该目前程序积木所对应的操作(例如,发送对应的控制信号给无人机110)。接着,在步骤S505中,处理器301会判断对应目前程序积木的控制指令的动作是否执行完成。当目前程序积木的控制指令的动作尚未执行完成时,在步骤S507中,处理器301会在一时间间隔(例如,0.03秒)后再次执行步骤S505进行判断。当目前程序积木的控制指令的动作执行完成时,在步骤S509中,处理器301会判断是否有下一个用于执行的程序积木。若有,则在步骤S511中处理器301会从程序积木序列中取得下一个用于执行的程序积木作为目前程序积木,并执行该程序积木所对应的操作(例如,发送下一个程序积木对应的控制信号给无人机110),并返回执行步骤S507。假设在步骤S509中处理器301判断没有下一个用于执行的程序积木时,则在步骤S513中结束图5的流程。
需注意的是,在程序积木序列执行的过程中,非当前执行的程序积木,处理器301会将其色彩调整为半透明状态以让正在执行的程序积木变得更明显,让使用者很清楚地看到当前执行的程序积木是哪一个。同时,在执行的过程中,如果有被宣告的变量,也可以显示在人机界面上,让使用者知道当前使用的数值是多少。
此外,在人机界面303的显示上,可以根据颜色区分上述不同类型(或功能)的程序积木。再根据形状来区分该积木可以放置的位置。在本实施例中,每个积木上的文字也仅用简短几个字表示以降低学习困难。藉由上述三点,可以让使用者更容易识别每个积木的作用与操作方式。积木在黏接时也有残影显示积木将会被黏贴的位置,让使用者可以预期积木的黏接方式。
藉由上述积木控制的方式,可以降低使用者学习程序逻辑的困难,接着使用者就可以将这个使用经验转移到不同的教具,用同样的操作方式去控制不同的教具,也可以用相同的操作方式挑战下述的虚拟关卡。
[虚拟关卡与模拟飞行功能]
一般来说,无人机在教育场域上总是有些先天上的危险与困难:一是无人机为求自身悬停的稳定性,桨叶需要有一定的高转速,其存在着危险性。此外,当程序一执行后,无人机即自行飞行。若是程序撰写有误,无人机更容易有不预期动作发生。特别是,微型无人机本身的续航力只有十分钟不到,是无法支持需要一试再试的程序撰写动作。因此,本发明的飞行控制系统中的虚拟关卡与模拟飞行功能可以让使用者所完成的程序积木序列在模拟的环境套用在虚拟的无人机上以预览无人机的飞行动作,藉此降低危险性并提升程序撰写的效率。
在本实施例中,处理器301可以提供多个虚拟关卡且每一个虚拟关卡可以包括一虚拟飞行空间以及至少一虚拟无人机。人机界面303可以显示上述的虚拟关卡的其中之一。其中,虚拟飞行空间可以包括一建议路线以及障碍物。
在本实施例中,当使用者完成的程序积木序列的建置后,处理器301会根据该程序积木序列中的多个程序积木(例如,前述的第二程序积木)的排列顺序,依照此顺序执行分别对应于第二程序积木的多个控制指令以控制虚拟无人机在虚拟飞行空间中飞行。此外,当虚拟无人机通过一障碍物的通过条件时,所示人机界面303可以显示对应该障碍物的一特效。
举例来说,图6A至图6D是依照本发明的一实施例所绘示的虚拟无人机飞行与虚拟飞行空间的示意图。
请参照图6A至图6C,人机界面303所显示的虚拟飞行空间可以包括虚拟无人机600、建议路线601以及障碍物602。在图6B中,假设使用者已设计包括程序积木603~605的程序积木序列,当开始执行程序积木序列时,虚拟无人机600会依序执行程序积木603~605的控制指令以使虚拟无人机600在虚拟飞行空间中飞行(如图6C所示)。特别是,在开始执行程序积木序列后,使用者即可通过人机界面303预览虚拟无人机600飞行的路径与动作,亦可调整观测角度与距离,以在虚拟飞行空间中观察虚拟无人机600与障碍物602的位置关系。此外,若是无人机600在虚拟飞行空间中撞击障碍物602,则会掉落。
以图6D所执行的程序积木序列为例,图6D的程序积木序列包括程序积木607~612。首先在程序积木607中,虚拟无人机600的飞行速度会被调到100%(即,将飞行速度调至最大)。接着在程序积木608中,虚拟无人机600会从地面起飞。而在程序积木609~612中,虚拟无人机600会分别执行多次不同的曲线飞行。以程序积木609为例,一个曲线飞行的设定如下:将虚拟飞行空间中的两个坐标点做为曲线飞行点。程序积木609里的坐标点P1为第1点,位于原本位置的左下方。此外坐标点P2为第2点,为原本位置的左上方。根据起点、坐标点P1与坐标点P2三点,处理器301可以算出曲线飞行路径。
[多机编队的程序积木编辑功能]
特别是,本发明的无人机控制系统还支持多机编队的功能。也就是说,在多机编队的功能中,可以同时控制多台无人机的飞行与动作,并且作出一致性动作的表演。
详细来说,图7A至图7D依照本发明的一实施例所绘示的多机编队的程序积木编辑功能的示意图。
请参照图7A至图7D,在图7A的无人机控制系统1000中,可以包括无人机110a~110d、控制装置120与无线存取点150。在本实施例中,若欲执行多机编队的功能,控制装置120会通过通信电路207提供无线存取点150的账号(例如,SSID)与密码给无人机110a~110d(例如,通过图7B中控制装置120显示的界面输入账号与密码,并且控制装置120与无人机110a或无人机110d连接时传送无线存取点150的账号与密码,以使无人机110a~110d连接至无线存取点150)。在此,为了方便说明,以下以无人机110a(亦称为,第一无人机)以及无人机110b(亦称为,第二无人机)进行说明。而相类似的功能也可以应用至无人机110c~110d。
当无人机110a与无人机110b使用控制装置120提供的账号与密码连接无线存取点150后,无人机110a与无人机110b会中断与控制装置120的连接以进入“AP模式”。而此步骤会重复的执行直到所有的无人机皆进入AP模式中。
之后,使用者可以用控制装置120与无线存取点150连接,通过无线存取点150搜寻(例如,图7C显示的搜寻页面)并连接所有已连接至无线存取点150的无人机110a~110d。在搜寻完毕后,控制装置120便完成了无人机的多机连接的设定步骤。
之后,控制装置120可以设计并取得用于控制无人机110a~110d飞行的程序积木序列700~702。如何通过拖曳、黏接程序积木以产生程序积木序列的过程已详述如前,在此不再赘述。
假设程序积木序列700~702分别用以控制无人机110a~110c,无人机110可以依照程序积木序列700中程序积木700a~700d的顺序执行分别对应于程序积木700a~700d的多个控制指令以控制无人机110a的飞行。此外,控制装置120还会根据程序积木序列701(亦称为,第二程序积木序列)中的程序积木701a~701d(亦称为,第六程序积木)的排列顺序,依照此顺序通过通信电路207发送分别对应于程序积木701a~701d的多个控制指令给无人机110b同时与无人机110a以控制无人机110b同时与无人机110a一起飞行。而相类似的运作可以应用在无人机110c与110d,在此不再赘述。而由图7D可知,无人机110a与无人机110b两者会同步地执行程序积木序列中相同位置的程序积木序列。例如,无人机110a在执行程序积木序列700中的第一个程序积木700a时,无人机110b也同时在执行程序积木序列701中的第一个程序积木701a,以此类推。
在一实施例中,控制装置120可以储存前述已制作好的程序积木序列(例如,程序积木序列700~702)以及一无人机放置图。其中,无人机放置图用以描述已储存的程序积木序列所对应的无人机在起飞前被放置于一地垫上的位置。也就是说,无人机放置图用于告诉一个使用者该如何放置无人机于一地垫上。使用者在一开始可以先编辑前述的无人机放置图,再将无人机放置图夹带到存档里,并通过云端方式传给另外一个使用者。如此,另一名使用者在执行前,可以参照无人机放置图上的位置与角度,放置他们的无人机,执行时,能有较为精确的执行结果。在另一实施例中,多机编队的程序积木编辑功能亦可与虚拟飞行空间的模拟飞行结合,在虚拟飞行空间中模拟对应无人机110a~110c的多个虚拟无人机同时执行程序积木序列700~702对应指令的动作,以让使用者了解多机飞行所呈现的效果,并学习与调整多机编队的程序积木。
[飞行轨迹录制功能]
此外,本发明的飞行控制系统还提供飞行轨迹的录制功能。一般来说,遥控飞行与编程控制不同的地方在于使用者实时的反应,因此能飞出比较滑顺的轨迹与动作。为了使飞行动作更为顺畅,让使用者录制遥控飞行的动作,并再次对其修正,能增加最后飞行动作的精准度。另一方面,由于录制好的飞行轨迹是由程序控制,因此使用者可以录制好飞行轨迹后,一键由程序重现刚才的飞行轨迹,这期间使用者与无人机可以互相配合,做出表演或其他的应用。
以图1的飞行控制系统1000为例,在遥控无人机110飞行的过程中,使用者可以通过控制装置120下达录制的指令。程序会记录接下来由控制装置120传送给无人机110的指令。之后,当使用者执行重现的指令时,控制装置120会将下达录制指令后的每个时间点的指令,依时间点传送给无人机,以重现先前录制(或记录)的飞行状况。
举例来说,在录制的过程中,假设在第0秒时使用者按下录制按钮以开始录制程序。接着在第2秒时,使用者按下起飞按钮,并由控制装置120发送起飞指令给无人机120以让无人机起飞。同时,控制装置120会将起飞指令及第2秒的时间点记录下来。假设在第6秒时,使用者通过控制装置120发送“rc 100 0 0 0”的指令给无人机110以让无人机110以100的速度往左飞,控制装置120会将“rc 100 0 0 0”指令及第6秒的时间点记录下来。假设在第10秒时,使用者按下降落按钮,由控制装置120发送降落指令给无人机110。此时控制装置120会将降落指令及第10秒的时间点记录下来。最后,假设在第12秒时使用者按下停止录制按钮,停止录制程序。
之后,在播放的过程中,假设在第0秒时使用者按下播放按钮以开始播放前述所记录的多个动作程序。接着在第2秒时,控制装置120会根据前述的记录发送起飞指令给无人机110以让无人机起飞。在第6秒时,控制装置120会根据前述的记录将“rc 100 0 0 0”指令发送给无人机110。在第10秒时,控制装置120会根据前述的记录发送降落指令给无人机110。同时,由于前述所记录的内容已播放完毕,因此控制装置120会自动停止播放程序。
换句话说,在本实施例中,控制装置120会接收并记录用以控制无人机110飞行的多个控制指令(亦称为,第一控制指令)。其中,所述多个第一控制指令是由使用者通过控制装置120输入且此些第一控制指令是按照一时间先后顺序发送并执行。而在播放的过程中,控制装置120会依照前述的时间先后顺序发送所录制的多个第一控制指令以控制无人机110执行多个第一控制指令并重现先前的飞行情况。
对影片创作者而言,可以将此功能作为电影运镜的助手,通过遥控飞行与飞行轨迹录制,并配合影像撷取电路205,找出需要的拍摄角度与路线,在拍摄结束后,将无人机录制的影片加入后制,创作出特别的影片。
对表演工作者而言,可以将此功能作为表演影片的录制工具,也可以设定无人机飞行路线,搭配人的动作演出,产生新式的人机共舞表演。
[动作与语音控制功能]
一般来说,无人机的控制通常需要遥控器(例如,控制装置120)进行操控。此时,由于使用者的双手通常无法空出来做其他的事。若是能够藉由手势(或动作)或声控控制无人机,就能增加更多的其他操控可能性。因此,在本实施例中,使用者可以在不使用遥控器的情况下,通过手势或声音控制无人机的动作。
详细来说,图8A至图8B依照本发明的一实施例所绘示的动作与语音控制功能的示意图。请参照图8A,在图8A的实施例中,可以藉由辨识使用者800的动作来得知使用者欲下达的指令,进而控制无人机110的飞行。具体来说,使用者800可以使用控制装置120下达“手势操作”(或“动作操作”)的状态。此时,控制装置120就会处在“接收影像、处理影像、发送指令”的“手势操作”状态。
详细来说,在图8A的实施例中无人机110会包括一影像撷取电路(例如相机,在此未绘示)。在图8A的步骤S801中,无人机110会拍摄(或接收)使用者800的至少一影像,并在步骤S803中将所获得的影像传送至控制装置120。在步骤S805中,控制装置120根据所接收到的影像(例如,一系列的影像)识别影像中使用者800的所作出的动作,并查询预存在控制装置120中的一查找表以得知该动作所对应的一飞行动作。之后在步骤S807中,控制装置120会发送对应于该飞行动作的一特定控制指令至无人机110以控制无人机110根据此特定控制指令执行前述的飞行动作。
举例来说,使用者800可以对无人机110挥手,让控制装置120能使用“影像辨识”标示操作者的身影,让使用者800取得对无人机110进行手势操作(或动作操作)的操作权。在本实施例中,控制装置120使用TensorFlow的PoseNet实时建立与检测人体动作。经过控制装置120对使用者800的影像进行运算后,若是成功撷取到使用者800的动作节点(例如,身体关节的节点),则会告知成功。若是无法完全撷取到使用者800正确的影像,控制装置120会自动向无人机110发送调整飞行动作的指令,例如,向左右自旋正负30度,藉此让所拍摄的使用者800位于影像的正中间,然后缓慢向后飞30cm范围内试着取得使用者800的全身影像,使拍摄到的画面能将使用者800的影像正确放在画面中央。若还是撷取不到对应于使用者的数据,控制装置120会发送警告音提示使用者800,并在人机界面303中显示建议的站立姿势。在本实施例中,无人机自调飞行的范围必须够小,否则有机率发生不预期撞击。
之后,使用者800可以根据特定的手势动作,比如挥动手臂、行走等,让控制装置120对无人机110下达对应的控制指令。需说明的是,因为采用人体动作的撷取而非人体部位辨识(比如辨识人的手掌形状),故在本实施例中,需要使用者800用比较大的动作来操作无人机。假设在预设手势动作中,手势向左(或向右)挥代表要求无人机110面对使用者800向右(或向左)飞。假设在预设手势动作中,手肘不动但手掌向前/后挥动代表无人机110面对操作者向后/前飞。假设在预设手势动作中,手肘向上挥代表无人机面对操作者向上/下飞。假设在预设手势动作中,手肘不动但手掌正面顺/逆时针画圈代表无人机110面对操作者左/右翻滚。假设在预设手势动作中,握拳不动代表无人机110悬停在空中。需说明的是,上述的使用者800的手势(或动作)与无人机110对应的动作仅是一范例进行说明,控制装置120也可以提供自定义的手势控制,让使用者800录制自己的动作来操控无人机110。
请参照图8B,在图8B的实施例中,可以藉由辨识使用者800的声音来得知使用者欲下达的指令,进而控制无人机110的飞行。具体来说,在图8B中,控制装置120可以通过步骤S811a或步骤S811b取得使用者800所发出的声音的语音信号。例如,在步骤S811a中,控制装置120的麦克风(未绘示)可以接收使用者800所发出的声音的语音信号。或者在步骤S811b中,控制装置120可以通过一外部的麦克风(例如,连接至控制装置120的无线耳机)接收使用者800所发出的声音的语音信号。之后,在步骤S813中,控制装置120会根据所获得的语音信号进行语音识别并根据语音识别的结果获得对应于语音信号的一飞行动作。例如,控制装置120会辨识出语音信号中所下达的指令,并根据此指令查询预存在控制装置120中的一查找表以得知该指令所对应的一飞行动作。之后,在步骤S815中,控制装置120会发送对应于该飞行动作的一特定控制指令至无人机110以控制无人机110根据此特定控制指令执行前述的飞行动作。
举例来说,假设语音信号为“Take off”,则控制装置120会下达指令以要求无人机“起飞”;假设语音信号为“Landing”,则控制装置120会下达指令以要求无人机“降落”;假设语音信号为“Forward”,则控制装置120会下达指令以要求无人机“向前飞”;假设语音信号为“Back”,则控制装置120会下达指令以要求无人机“往后飞”;假设语音信号为“Stop”,则控制装置120会下达指令以要求无人机“悬停在空中”;假设语音信号为“Left”,则控制装置120会下达指令以要求无人机“向左飞”;假设语音信号为“Right”,则控制装置120会下达指令以要求无人机“向右飞”。假设语音信号为“Turn Left”,则控制装置120会下达指令以要求无人机“左(逆时针)自转”。假设语音信号为“Turn Right”,则控制装置120会下达指令以要求无人机“右(顺时针)自转”。假设语音信号为“Shoot”,则控制装置120会下达指令以要求无人机“拍照”。假设语音信号为“Speed X”,则控制装置120会下达指令以要求无人机“调整速度至X”。在另一实施例中,动作与语音控制功能亦可与飞行轨迹录制功能结合,举例来说,使用者可启用录制功能后,以动作或语音控制无人机110飞行,控制装置120接收使用者的影像或语音后辨识出对应的特定控制指令,并发送特定控制指令至无人机110,同时控制装置120会录制该特定控制指令以及记录相应的时间点,以利使用者录制完成后可通过控制装置120播放所录制的指令。
综上所述,本发明的控制装置与无人机控制方法可以提供程序积木编辑与无人机控制功能、虚拟关卡与模拟飞行功能、多机编队的程序积木编辑功能、飞行轨迹录制功能以及动作与语音控制功能。针对程序积木编辑与无人机控制功能,可以让使用者更易于程序的撰写与对无人机的操作。针对虚拟关卡与模拟飞行功能,可以让使用者在安全的环境模拟无人机的飞行,并且通过虚拟关卡的设置来增加飞行的趣味性。针对多机编队的程序积木编辑功能,可以同时控制多台无人机,让此些无人机可以协同运作并利于无人机的演出。针对飞行轨迹录制功能,可以让无人机再现使用者操作的过程。针对动作与语音控制功能,可以让使用者用更多元的方式控制无人机的飞行。
虽然本发明已以实施例公开如上,然而其并非用以限定本发明,任何所属技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,应当可作些许的更动与润饰,故本发明的保护范围应当视所附的权利要求书所界定者为准。

Claims (20)

1.一种控制装置,所述控制装置包括:
一处理器,所述处理器耦接至一人机界面,其中所述人机界面用以显示多个程序积木;以及
一通信电路,其中
所述处理器检测在所述人机界面中被拖曳的一第一程序积木,
所述处理器将所述第一程序积木黏接至所述人机界面中的至少一目标程序积木的一黏接位置以获得由多个第二程序积木组成的一第一程序积木序列,其中所述多个第二程序积木包括所述第一程序积木与所述目标程序积木,以及
所述处理器根据所述第一程序积木序列中所述多个第二程序积木的排列顺序,依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的多个控制指令或控制至少一虚拟无人机执行所述多个控制指令;
其中在将所述第一程序积木黏接至所述人机界面中的所述目标程序积木的所述黏接位置的运作中,
所述处理器识别与所述第一程序积木碰撞的至少一碰撞程序积木,
所述处理器比对所述第一程序积木的类型与所述碰撞程序积木的类型以从所述碰撞程序积木中选择至少一可黏接程序积木;
其中每一所述多个程序积木的类型为一般程序积木、包覆性积木、布林参数积木或数值参数积木,其中所述包覆性积木的状态包括一展开状态或一收折状态;
其中在比对所述第一程序积木的类型与所述碰撞程序积木的类型以从所述碰撞程序积木中选择所述可黏接程序积木的运作中,
当所述第一程序积木的类型为所述一般程序积木或所述包覆性积木且所述碰撞程序积木中的一第三程序积木的类型为所述一般程序积木或所述包覆性积木时,所述控制装置将所述第三程序积木归类为所述可黏接程序积木,
当所述第一程序积木的类型为所述布林参数积木且所述碰撞程序积木中的一第四程序积木的类型为可以被放入所述布林参数积木的所述一般程序积木或所述包覆性积木时,所述控制装置将所述第四程序积木归类为所述可黏接程序积木,以及
当所述第一程序积木的类型为所述数值参数积木且所述碰撞程序积木中的一第五程序积木的类型为可以被放入所述数值参数积木的所述一般程序积木或所述包覆性积木时,所述控制装置将所述第五程序积木归类为所述可黏接程序积木。
2.如权利要求1所述的控制装置,其中在将所述第一程序积木黏接至所述人机界面中的所述目标程序积木的所述黏接位置的运作中,所述处理器从所述可黏接程序积木中选择与所述第一程序积木距离最近的所述目标程序积木,
所述处理器根据所述目标程序积木与所述第一程序积木的类型与位置,决定所述黏接位置并且将所述第一程序积木黏接至所述黏接位置。
3.如权利要求1所述的控制装置,其中所述处理器提供一虚拟飞行空间以及在所述虚拟飞行空间中提供所述虚拟无人机,所述虚拟飞行空间包括至少一建议路线或至少一障碍物。
4.如权利要求2所述的控制装置,其中在根据所述目标程序积木与所述第一程序积木的类型与位置,决定所述黏接位置并且将所述第一程序积木黏接至所述黏接位置的运作中,
当所述第一程序积木的类型为所述一般程序积木或所述包覆性积木且所述目标程序积木的类型为所述一般程序积木或所述包覆性积木时,所述控制装置将所述第一程序积木黏接至所述目标程序积木的上方、下方或内部,
当所述第一程序积木的类型为所述布林参数积木或所述数值参数积木且所述目标程序积木的类型为一般程序积木或所述包覆性积木时,所述控制装置将所述第一程序积木黏接至所述目标程序积木的内部。
5.如权利要求1所述的控制装置,其中在依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的所述多个控制指令或控制所述虚拟无人机执行所述多个控制指令的运作中,
所述处理器从所述多个第二程序积木中取得一目前程序积木,并通过所述通信电路发送对应于所述目前程序积木的控制指令,所述处理器通过所述通信电路与一第一无人机通信以判断对应所述目前程序积木的控制指令的动作是否执行完成,
响应于所述目前程序积木的控制指令的动作尚未执行完成,所述处理器在一时间间隔后再次通过所述通信电路与所述第一无人机通信判断对应所述目前程序积木的控制指令是否执行完成,
响应于所述目前程序积木的控制指令的动作执行完成且当所述多个第二程序积木中有剩余的程序积木,所述处理器从所述多个第二程序积木中取得下一个用于执行的程序积木作为所述目前程序积木。
6.如权利要求5所述的控制装置,其中
所述控制装置取得一第二程序积木序列,
其中在依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的所述多个控制指令的运作中,
所述控制装置根据所述第二程序积木序列中多个第六程序积木的排列顺序,依照所述排列顺序通过所述通信电路发送分别对应于所述多个第六程序积木的多个控制指令以控制一第二无人机同时与所述第一无人机一起飞行。
7.如权利要求6所述的控制装置,其中
所述控制装置通过所述通信电路提供对应于一无线存取点的一账号与一密码给所述第一无人机与所述第二无人机,
所述第一无人机与所述第二无人机使用所述账号与密码连接所述无线存取点,并中断与所述控制装置的连接,以及
所述控制装置通过所述通信电路与所述无线存取点搜寻已连接至所述无线存取点的所述第一无人机与所述第二无人机,
其中所述控制装置的一储存电路储存所述第一程序积木序列、所述第二程序积木序列以及一无人机放置图,其中所述无人机放置图用以描述所述第一无人机与所述第二无人机在起飞前被放置于一地垫上的位置。
8.如权利要求5所述的控制装置,其中
所述控制装置接收并记录用以控制所述第一无人机飞行的多个第一控制指令,其中所述多个第一控制指令是按照一时间先后顺序排列,以及
所述控制装置依照所述时间先后顺序发送所录制的所述多个第一控制指令以控制所述第一无人机重现先前记录的飞行情况。
9.如权利要求5所述的控制装置,其中所述第一无人机包括一影像撷取装置,
所述控制装置通过所述通信电路接收所述第一无人机拍摄一使用者的至少一影像,
所述控制装置根据所述影像识别所述使用者的一动作,并根据所述动作识别对应于所述动作的一飞行动作,
所述控制装置通过所述通信电路发送对应于所述飞行动作的一特定控制指令至所述第一无人机以控制所述第一无人机根据所述特定控制指令执行所述飞行动作。
10.如权利要求5所述的控制装置,其中
所述控制装置接收一使用者的语音信号,
所述控制装置根据所述语音信号进行语音识别,并根据所述语音识别的结果获得对应于所述语音信号的一飞行动作,
所述控制装置通过所述通信电路发送对应于所述飞行动作的一特定控制指令至所述第一无人机以控制所述第一无人机根据所述特定控制指令执行所述飞行动作。
11.一种无人机控制方法,用于一控制装置,所述控制装置包括一处理器以及一通信电路,所述处理器耦接至一人机界面且所述人机界面用以显示多个程序积木,所述无人机控制方法包括:
检测在所述人机界面中被拖曳的一第一程序积木;
将所述第一程序积木黏接至对应于所述人机界面中的至少一目标程序积木的一黏接位置以获得由多个第二程序积木组成的一第一程序积木序列,其中所述多个第二程序积木包括所述第一程序积木与所述目标程序积木;以及
根据所述第一程序积木序列中所述多个第二程序积木的排列顺序,依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的多个控制指令或控制至少一虚拟无人机执行所述多个控制指令;
其中将所述第一程序积木黏接至所述人机界面中的所述目标程序积木的所述黏接位置的步骤包括:
识别与所述第一程序积木碰撞的至少一碰撞程序积木;以及
比对所述第一程序积木的类型与所述碰撞程序积木的类型以从所述碰撞程序积木中选择至少一可黏接程序积木;
其中每一所述多个程序积木的类型为一般程序积木、包覆性积木、布林参数积木或数值参数积木,其中所述包覆性积木的状态包括一展开状态或一收折状态;
其中比对所述第一程序积木的类型与所述碰撞程序积木的类型以从所述碰撞程序积木中选择所述可黏接程序积木的步骤包括:
当所述第一程序积木的类型为所述一般程序积木或所述包覆性积木且所述碰撞程序积木中的一第三程序积木的类型为所述一般程序积木或所述包覆性积木时,将所述第三程序积木归类为所述可黏接程序积木;
当所述第一程序积木的类型为所述布林参数积木且所述碰撞程序积木中的一第四程序积木的类型为可以被放入所述布林参数积木的所述一般程序积木或所述包覆性积木时,将所述第四程序积木归类为所述可黏接程序积木;以及
当所述第一程序积木的类型为所述数值参数积木且所述碰撞程序积木中的一第五程序积木的类型为可以被放入所述数值参数积木的所述一般程序积木或所述包覆性积木时,将所述第五程序积木归类为所述可黏接程序积木。
12.如权利要求11所述的无人机控制方法,其中将所述第一程序积木黏接至所述人机界面中的所述目标程序积木的所述黏接位置的步骤包括:
从所述可黏接程序积木中选择与所述第一程序积木距离最近的所述目标程序积木;以及
根据所述目标程序积木与所述第一程序积木的类型与位置,决定所述黏接位置并且将所述第一程序积木黏接至所述黏接位置。
13.如权利要求11所述的无人机控制方法,所述无人机控制方法还包括:
提供一虚拟飞行空间以及在所述虚拟飞行空间中提供所述虚拟无人机,所述虚拟飞行空间包括至少一建议路线或至少一障碍物。
14.如权利要求12所述的无人机控制方法,其中根据所述目标程序积木与所述第一程序积木的类型与位置,决定所述黏接位置并且将所述第一程序积木黏接至所述黏接位置的步骤包括:
当所述第一程序积木的类型为所述一般程序积木或所述包覆性积木且所述目标程序积木的类型为所述一般程序积木或所述包覆性积木时,将所述第一程序积木黏接至所述目标程序积木的上方、下方或内部;以及
当所述第一程序积木的类型为所述布林参数积木或所述数值参数积木且所述目标程序积木的类型为一般程序积木或所述包覆性积木时,将所述第一程序积木黏接至所述目标程序积木的内部。
15.如权利要求11所述的无人机控制方法,其中依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的所述多个控制指令或控制所述虚拟无人机执行所述多个控制指令的步骤包括:
从所述多个第二程序积木中取得一目前程序积木,通过所述通信电路发送对应于所述目前程序积木的控制指令,并通过所述通信电路与一第一无人机通信以判断对应所述目前程序积木的控制指令的动作是否执行完成;
响应于所述目前程序积木的控制指令的动作尚未执行完成,在一时间间隔后再次通过所述通信电路与所述第一无人机通信判断对应所述目前程序积木的控制指令是否执行完成;以及
响应于所述目前程序积木的控制指令的动作执行完成且当所述多个第二程序积木中有剩余的程序积木,从所述多个第二程序积木中取得下一个用于执行的程序积木作为所述目前程序积木。
16.如权利要求15所述的无人机控制方法,所述无人机控制方法还包括:
取得一第二程序积木序列;
其中依照所述排列顺序通过所述通信电路发送分别对应于所述多个第二程序积木的所述多个控制指令的步骤包括:
根据所述第二程序积木序列中多个第六程序积木的排列顺序,依照所述排列顺序通过所述通信电路发送分别对应于所述多个第六程序积木的多个控制指令以控制一第二无人机同时与所述第一无人机一起飞行。
17.如权利要求16所述的无人机控制方法,所述无人机控制方法还包括:
提供对应于一无线存取点的一账号与一密码给所述第一无人机与所述第二无人机以所述第一无人机与所述第二无人机使用所述账号与密码连接所述无线存取点并中断与所述控制装置的连接;以及
通过所述无线存取点搜寻已连接至所述无线存取点的所述第一无人机与所述第二无人机,
其中所述控制装置的一储存电路储存所述第一程序积木序列、所述第二程序积木序列以及一无人机放置图,其中所述无人机放置图用以描述所述第一无人机与所述第二无人机在起飞前被放置于一地垫上的位置。
18.如权利要求15所述的无人机控制方法,所述无人机控制方法还包括:
接收并记录用以控制所述第一无人机飞行的多个第一控制指令,其中所述多个第一控制指令是按照一时间先后顺序排列;以及
依照所述时间先后顺序发送所录制的所述多个第一控制指令以控制所述第一无人机重现先前记录的飞行情况。
19.如权利要求15所述的无人机控制方法,其中所述第一无人机包括一影像撷取装置,所述无人机控制方法还包括:
接收所述第一无人机拍摄一使用者的至少一影像;
根据所述影像识别所述使用者的一动作,并根据所述动作识别对应于所述动作的一飞行动作;以及
发送对应于所述飞行动作的一特定控制指令至所述第一无人机以控制所述第一无人机根据所述特定控制指令执行所述飞行动作。
20.如权利要求15所述的无人机控制方法,所述无人机控制方法还包括:
接收一使用者的语音信号;
根据所述语音信号进行语音识别,并根据所述语音识别的结果获得对应于所述语音信号的一飞行动作;以及
发送对应于所述飞行动作的一特定控制指令至所述第一无人机以控制所述第一无人机根据所述特定控制指令执行所述飞行动作。
CN201910712308.1A 2018-08-08 2019-08-02 控制装置与无人机控制方法 Active CN110825121B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862715805P 2018-08-08 2018-08-08
US62/715,805 2018-08-08
TW108126699A TWI725497B (zh) 2018-08-08 2019-07-29 控制裝置與無人機控制方法
TW108126699 2019-07-29

Publications (2)

Publication Number Publication Date
CN110825121A CN110825121A (zh) 2020-02-21
CN110825121B true CN110825121B (zh) 2023-02-17

Family

ID=69407019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910712308.1A Active CN110825121B (zh) 2018-08-08 2019-08-02 控制装置与无人机控制方法

Country Status (2)

Country Link
US (1) US11379245B2 (zh)
CN (1) CN110825121B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7339124B2 (ja) * 2019-02-26 2023-09-05 株式会社Preferred Networks 制御装置、システム及び制御方法
CN111552238A (zh) * 2020-04-17 2020-08-18 达闼科技(北京)有限公司 机器人控制方法、装置、计算设备及计算机存储介质
CN112987765B (zh) * 2021-03-05 2022-03-15 北京航空航天大学 一种仿猛禽注意力分配的无人机/艇精准自主起降方法
CN113051478A (zh) * 2021-03-30 2021-06-29 联想(北京)有限公司 编程信息推荐方法及装置
CN113199472B (zh) * 2021-04-14 2022-07-26 达闼机器人股份有限公司 机器人控制方法、装置、存储介质、电子设备和机器人
CN113467517A (zh) * 2021-07-30 2021-10-01 河北科技大学 故障条件下无人机集群的飞行控制方法和系统
CN113870498B (zh) * 2021-11-25 2024-06-18 阳光学院 一种仓库火灾初期消防报警无人机

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136208A (zh) * 2011-03-30 2011-07-27 中国科学院软件研究所 一种实物编程方法和系统
CN102219051A (zh) * 2011-04-29 2011-10-19 北京工业大学 基于人机交互技术的四旋翼飞行器系统控制方法
CN103426282A (zh) * 2013-07-31 2013-12-04 深圳市大疆创新科技有限公司 遥控方法及终端
CN104029825A (zh) * 2014-06-13 2014-09-10 中国人民解放军装甲兵工程学院 现场虚实耦合无人机系统
CN104808799A (zh) * 2015-05-20 2015-07-29 成都通甲优博科技有限责任公司 一种能够识别手势的无人机及其识别方法
CN105137887A (zh) * 2015-09-24 2015-12-09 苏州乐派特机器人有限公司 基于编程板的实物化编程方法及其在机器人领域的应用
WO2017049817A1 (zh) * 2015-09-24 2017-03-30 北京零零无限科技有限公司 一种手势操控无人机的方法和装置
CN106682091A (zh) * 2016-11-29 2017-05-17 深圳市元征科技股份有限公司 一种无人机控制方法及装置
CN106933133A (zh) * 2015-12-30 2017-07-07 比亚迪股份有限公司 无人机、无人机控制终端以及无人机控制方法和系统
CN108126356A (zh) * 2017-12-22 2018-06-08 广州途道信息科技有限公司 电子积木系统的编程方法
CN108182062A (zh) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 一种反向编程的方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106716272B (zh) * 2014-09-30 2021-03-09 深圳市大疆创新科技有限公司 用于飞行模拟的系统和方法
CN105630341A (zh) * 2015-12-23 2016-06-01 英华达(上海)科技有限公司 触控显示装置、触控显示方法及无人机
US10110272B2 (en) * 2016-08-24 2018-10-23 Centurylink Intellectual Property Llc Wearable gesture control device and method
TWI589905B (zh) 2016-09-08 2017-07-01 博泰科技有限公司 飛行器的定位控制方法
US20180095532A1 (en) * 2016-10-04 2018-04-05 Yi-Chuan Cheng Virtual Reality Head-Mounted Device
EP3605248A4 (en) * 2017-03-31 2020-04-29 Sony Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, COMPUTER PROGRAM, AND PROGRAM DESIGN METHOD
US20190377312A1 (en) * 2017-03-31 2019-12-12 Sony Corporation Information processing apparatus and information processing method, computer program, and program manufacturing method

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136208A (zh) * 2011-03-30 2011-07-27 中国科学院软件研究所 一种实物编程方法和系统
CN102219051A (zh) * 2011-04-29 2011-10-19 北京工业大学 基于人机交互技术的四旋翼飞行器系统控制方法
CN103426282A (zh) * 2013-07-31 2013-12-04 深圳市大疆创新科技有限公司 遥控方法及终端
CN104029825A (zh) * 2014-06-13 2014-09-10 中国人民解放军装甲兵工程学院 现场虚实耦合无人机系统
CN104808799A (zh) * 2015-05-20 2015-07-29 成都通甲优博科技有限责任公司 一种能够识别手势的无人机及其识别方法
CN105137887A (zh) * 2015-09-24 2015-12-09 苏州乐派特机器人有限公司 基于编程板的实物化编程方法及其在机器人领域的应用
WO2017049817A1 (zh) * 2015-09-24 2017-03-30 北京零零无限科技有限公司 一种手势操控无人机的方法和装置
CN106933133A (zh) * 2015-12-30 2017-07-07 比亚迪股份有限公司 无人机、无人机控制终端以及无人机控制方法和系统
CN106682091A (zh) * 2016-11-29 2017-05-17 深圳市元征科技股份有限公司 一种无人机控制方法及装置
CN108182062A (zh) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 一种反向编程的方法及系统
CN108126356A (zh) * 2017-12-22 2018-06-08 广州途道信息科技有限公司 电子积木系统的编程方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Dronely: A Visual Block Programming Language for the Control of Drones;Eric Tilley等;《ACM SE "17: Proceedings of the SouthEast Conference》;20170413;第1-3页、图1-3 *

Also Published As

Publication number Publication date
US11379245B2 (en) 2022-07-05
CN110825121A (zh) 2020-02-21
US20200050462A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
CN110825121B (zh) 控制装置与无人机控制方法
Fernandez et al. Natural user interfaces for human-drone multi-modal interaction
JP7375748B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN108572659A (zh) 控制无人机的方法和支持该方法的无人机
CN102184020A (zh) 用于操纵用户界面的姿势和姿势修改
US20190102377A1 (en) Robot Natural Language Term Disambiguation and Entity Labeling
KR20200036677A (ko) 청소 로봇 및 그의 태스크 수행 방법
CN105324736A (zh) 触摸式和非触摸式用户交互输入的技术
US20200269421A1 (en) Information processing device, information processing method, and program
US20220009086A1 (en) Stick device and user interface
WO2019000380A1 (zh) 控制可移动设备跟随的方法、控制设备和跟随系统
US10751605B2 (en) Toys that respond to projections
TWI725497B (zh) 控制裝置與無人機控制方法
JP7363823B2 (ja) 情報処理装置、および情報処理方法
CN111290574B (zh) 一种利用手势控制无人机的方法,设备及可读存储介质
KR20210056019A (ko) 인공 지능 장치 및 그의 동작 방법
WO2020022122A1 (ja) 情報処理装置、行動決定方法及びプログラム
US20220314432A1 (en) Information processing system, information processing method, and nonvolatile storage medium capable of being read by computer that stores information processing program
EP4021601B1 (en) Toy construction system for constructing and operating a remote controlled toy vehicle model
US20220291679A1 (en) Information processing device, information processing method, information processing program, and control device
US20220166917A1 (en) Information processing apparatus, information processing method, and program
JP2001306145A (ja) 移動ロボット装置およびそのプログラム記録媒体
JP7480706B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN108415676B (zh) 信息处理设备和信息处理方法
JP2016166952A (ja) コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法

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