CN110072501B - 一种智能轮椅的机械传动控制方法与系统 - Google Patents

一种智能轮椅的机械传动控制方法与系统 Download PDF

Info

Publication number
CN110072501B
CN110072501B CN201780077308.8A CN201780077308A CN110072501B CN 110072501 B CN110072501 B CN 110072501B CN 201780077308 A CN201780077308 A CN 201780077308A CN 110072501 B CN110072501 B CN 110072501B
Authority
CN
China
Prior art keywords
frame
processor
information
sensor
axis
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
CN201780077308.8A
Other languages
English (en)
Other versions
CN110072501A (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.)
Sichuan Golden Ridge Intelligence Science and Technology Co Ltd
Original Assignee
Sichuan Golden Ridge Intelligence Science and Technology Co Ltd
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
Application filed by Sichuan Golden Ridge Intelligence Science and Technology Co Ltd filed Critical Sichuan Golden Ridge Intelligence Science and Technology Co Ltd
Publication of CN110072501A publication Critical patent/CN110072501A/zh
Application granted granted Critical
Publication of CN110072501B publication Critical patent/CN110072501B/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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K7/00Disposition of motor in, or adjacent to, traction wheel
    • B60K7/0007Disposition of motor in, or adjacent to, traction wheel the motor being electric
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16MFRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
    • F16M11/00Stands or trestles as supports for apparatus or articles placed thereon Stands for scientific apparatus such as gravitational force meters
    • F16M11/20Undercarriages with or without wheels
    • F16M11/2007Undercarriages with or without wheels comprising means allowing pivoting adjustment
    • F16M11/2035Undercarriages with or without wheels comprising means allowing pivoting adjustment in more than one direction
    • F16M11/2042Undercarriages with or without wheels comprising means allowing pivoting adjustment in more than one direction constituted of several dependent joints
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61GTRANSPORT, PERSONAL CONVEYANCES, OR ACCOMMODATION SPECIALLY ADAPTED FOR PATIENTS OR DISABLED PERSONS; OPERATING TABLES OR CHAIRS; CHAIRS FOR DENTISTRY; FUNERAL DEVICES
    • A61G5/00Chairs or personal conveyances specially adapted for patients or disabled persons, e.g. wheelchairs
    • A61G5/04Chairs or personal conveyances specially adapted for patients or disabled persons, e.g. wheelchairs motor-driven
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61GTRANSPORT, PERSONAL CONVEYANCES, OR ACCOMMODATION SPECIALLY ADAPTED FOR PATIENTS OR DISABLED PERSONS; OPERATING TABLES OR CHAIRS; CHAIRS FOR DENTISTRY; FUNERAL DEVICES
    • A61G5/00Chairs or personal conveyances specially adapted for patients or disabled persons, e.g. wheelchairs
    • A61G5/10Parts, details or accessories
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61GTRANSPORT, PERSONAL CONVEYANCES, OR ACCOMMODATION SPECIALLY ADAPTED FOR PATIENTS OR DISABLED PERSONS; OPERATING TABLES OR CHAIRS; CHAIRS FOR DENTISTRY; FUNERAL DEVICES
    • A61G5/00Chairs or personal conveyances specially adapted for patients or disabled persons, e.g. wheelchairs
    • A61G5/10Parts, details or accessories
    • A61G5/1051Arrangements for steering

Abstract

一种智能轮椅的机械传动控制方法与系统。该系统包括处理器(210)、运动模块(920)和云台(930),处理器(210)用以执行接收信息、构建地图、规划路径和生成控制参数等操作;运动模块(920)执行控制参数以在周围移动,并包括传感器(1220)以感知信息;云台(930)包括传感器(1240)以感知信息。

Description

一种智能轮椅的机械传动控制方法与系统
技术领域
本发明涉及一种智能轮椅的机械传动控制方法与系统。具体的,涉及一种移动智能机器人以及控制图像检测与处理、路径搜索和机器人移动的控制方法。
背景技术
在日常生活中,能够移动的智能设备例如清扫机器人、智能平衡轮和智能轮椅等越来越常见。智能轮椅能够帮助障碍人士进行基本的移动、观察环境等生理功能。智能轮椅通常使用智能机器人系统实现移动、感知环境和健康监测功能。为了在所处区域内提供服务,智能机器人系统可以基于现有的地图识别环境并自动移动。随着人们对服务需求的快速扩张,人们期望可以更新地图、规划路径和自动移动的多功能智能机器人系统,尤其是能够适应更多复杂区域的智能机器人。
简述
本发明一方面涉及的是一个系统,所述系统包括存储指令的存储器和与所述存储器通信的处理器。在执行指令时,所述处理器可以通过通信端口与运动模块和云台建立通信;所述处理器可以从运动模块和云台的传感器中获取信息以构建地图;所述处理器还可以基于所述信息规划路径,以及基于所述信息生成控制参数。
本发明另一方面涉及的是一种方法,所述方法可以包括通过通信端口与运动模块和云台建立通信;所述方法可以包括从运动模块和云台的传感器中获取信息以构建地图;所述方法还可以包括基于所述信息规划路径,以及基于所述信息生成控制参数。
本发明的又一方面涉及的是永久性的计算机可读媒介,具体表现为计算机程序产品。所述计算机程序产品包括用于在处理器和运动模块之间,以及处理器和云台之间建立通信的通信端口。所述通信端口可以采用应用程序接口(Application Program Interface(API))建立通信。
附图说明
本方法、系统和/或程序以实施例的形式被进一步描述。这些典型实施例参照附图进行描述。这些实施例为不限制本发明的实施例,这些实施例中的标号代表其它视角下的相同结构的标号。
图1是根据本申请的一些实施例所示的扫描系统的一种机器人控制系统的示意图;
图2是根据本申请的一些实施例所示的图1中机器人控制系统中的机器人的示意框图;
图3是根据本申请的一些实施例所示的图2中的机器人中处理器的示意框图;
图4是根据本申请的一些实施例所示的图3中的处理器中分析模块的示意框图;
图5是根据本申请的一些实施例所示的处理器中导航模块的示意框图;
图6是根据本申请的一些实施例所示的运动控制示意图;
图7是根据本申请的一些实施例所示的运动控制示意图;
图8是根据本申请的一些实施例所示的图2中的传感器结构示意图;
图9是根据本申请的一些实施例所示的图2中的机身示意图;
图10是根据本申请的一些实施例所示的运动模块示意图;
图11是根据本申请的一些实施例所示的图9中的云台结构示意图;
图12是根据本申请的一些实施例所示的机器人系统;
图13是根据本申请的一些实施例所示的确定控制机器人的控制参数的流程图;
图14是根据本申请的一些实施例所示的构建地图的流程图;
图15是根据本申请的一些实施例所示的确定一个或多个参考帧的流程图;
图16是根据本申请的一些实施例所示的获得深度信息、强度信息和位移信息的流程图;
图17A是根据本申请的一些实施例所示的确定位移初值的流程图;
图17B是根据本申请的一些实施例所示的确定机器人姿势的流程图;
图18是根据本申请的一些实施例所示的陀螺仪和加速度计确定水平面与Z轴夹角的示意框图;
图19是根据本申请的一些实施例所示的确定参考帧对应角度的流程图;
图20是根据本申请的一些实施例所示的调节智能设备中传感器中垂直方向运动的流程图。
具体实施例
在下面的详细描述中,通过示例阐述了本披露的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员来讲,本披露显而易见的可以在没有这些细节的情况下实施。在其他情况下,本披露中的公知的方法、过程、系统、组件和/或电路已经在别处以相对高的级别进行了描素,本披露中对此没有详细地描述,以避免不必要地重复。
应当理解的是,本披露中使用“系统”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。
应当理解的是,当设备、单元或模块被称为“在......上”、“连接到”或“耦合到”另一设备、单元或模块时,其可以直接在另一设备、单元或模块上,连接或耦合到或与其他设备、单元或模块通信,或者可以存在中间设备、单元或模块,除非上下文明确提示例外情形。例如,本披露所使用的术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。
本披露所用术语仅为了描述特定实施例,而非限制本披露范围。如本披露说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的特征、整体、步骤、操作、元素和/或组件,而该类表述并不构成一个排它性的罗列,其他特征、整体、步骤、操作、元素和/或组件也可以包含在内。
参看下面的说明以及附图,本披露的这些或其他特征和特点、操作方法、结构的相关元素的功能、部分的结合以及制造的经济性可以被更好地理解,其中说明和附图形成了说明书的一部分。然而,可以清楚地理解,附图仅用作说明和描述的目的,并不意在限定本披露的保护范围。可以理解的是,附图并非按比例绘制。
此外,本披露仅描述了与确定智能机器人状态相关的系统及方法,可以理解的是,本披露中的描述仅仅是一个实施例。该智能机器人系统或方法也可以应用到除智能机器人以外的其他任何类型的智能设备或汽车中。例如,智能机器人系统或方法可以应用于不同的智能设备系统中,这些智能设备系统包括摆轮、无人地面车辆(UGV)、智能轮椅等中的一种或者任意几种组合。智能机器人系统还可以应用到包括应用管理和/或分发的任何智能系统,例如用于发送和/或接收快递,以及将人员或货物运载到某些位置的系统。
本披露的术语“机器人”、“智能机器人”、“智能设备”可互换地用于指代可移动和自动操作的装置、设备或工具。本披露中的术语“用户设备”可以指可以用于请求服务、订购服务或促进服务的提供的工具。本披露中的术语“移动终端”可以指可由用户使用以控制智能机器人的工具或接口。
本披露中智能轮椅系统使用智能机器人实现移动、改变方向、停止、感知环境、绘制地图和确定行驶路径等功能。需要注意的是,本披露中所提供的智能机器人也可以用在其他领域,实现类似的功能或目的。
本披露中使用的定位技术包括全球定位系统(GPS)技术、全球导航卫星系统(GLONASS)技术、罗盘导航系统(COMPASS)技术、伽利略定位系统(Galileo)技术、准天顶卫星系统(QZSS)技术、无线保真(WiFi)定位技术等中的一种或者任意几种组合。上述定位技术中的一种或多种可以在本披露中可互换地使用。
本披露描述了作为示例性系统的智能机器人控制系统100以及为智能机器人控制系统100构建地图和规划路线的方法。本披露的方法和系统旨在基于,例如由智能机器人控制系统100获得的信息,构建地图。所获得的信息可以由位于智能机器人控制系统100中的传感器(组)捕获。传感器(组)可以是光学或磁电型。例如,传感器可以是相机或激光雷达。
根据本申请的一些实施例,图1所示的是智能机器人控制系统100的一种示例性示意图。智能机器人控制系统100可以包括一个智能机器人110、一个网络120、一个用户设备130和一个数据库140。用户可以通过网络120使用用户设备130来控制智能机器人。
智能机器人110和用户设备130可以建立通信。智能机器人110和用户设备130之间的通信可以是有线或无线的。例如,智能机器人110可以经由网络120建立与用户设备130或数据库140的通信,并且可以基于来自用户设备130的操作命令(例如,移动或旋转的命令)无线地控制智能机器人110。再例如,智能机器人110可以通过电缆或光纤直接连接到用户设备130或数据库140。在一些实施例中,智能机器人110可以基于智能机器人110和数据库140之间的通信来更新或下载存储在数据库140中的地图。例如,智能机器人110可以在路线中捕获信息,且可以分析信息以构建地图。在一些实施例中,完整的地图可以存储在数据库140中。在一些实施例中,由智能机器人110构建的地图可以包括与完整地图的一部分相对应的信息。在一些实施例中,可以通过构建的地图更新完整的地图的对应部分。当智能机器人110确定其目的地和当前位置时,存储在数据库140中的完整的地图可以由智能机器人110访问。包含智能机器人110的目的地和当前位置的完整地图的一部分可以由智能机器人110选择用于规划路线。在一些实施例中,智能机器人110可以基于所选择的地图、智能机器人110的目的地和当前位置来规划路线。在一些实施例中,智能机器人110可以采用用户设备130的地图。例如,用户设备130可以从因特网下载地图。用户设备130可以基于从因特网下载的地图来指导智能机器人110的运动。再例如,用户设备130可以从数据库140下载最新的地图。一旦确定了智能机器人110的目的地和当前位置,用户设备130就可以将从数据库140获得的地图发送到智能机器人110。在一些实施例中,用户设备130可以是智能机器人110的一部分。在一些实施例中,如果智能机器人110构建的地图包括其目的地和当前位置,智能机器人110可以基于由其自身构建的地图来规划路线。
网络120可以是单个网络或不同网络的组合。例如,网络120可以是局域网(LAN)、广域网(WAN)、公共网络、专用网络、无线局域网(WLAN)、虚拟网络、城域网(MAN)、公共电话交换网络(PSTN)或其任意组合。例如,智能机器人110可以经由蓝牙与用户设备130和数据库140通信。网络120还可以包括各种网络接入点。例如,诸如基站或因特网交换点的有线或无线接入点可以包括在网络120中。用户可以从用户设备130向智能机器人110发送控制操作并且经由网络120接收结果。智能机器人110可以直接或经由网络120访问存储在数据库140中的信息。
可连接到网络120的用户设备130可以是移动设备130-1、平板电脑130-2、笔记本电脑130-3、内置设备130-4等中的一种或者其任意几种组合。在一些实施例中,移动设备130-1可以包括可穿戴设备、智能移动设备,虚拟现实设备、增强现实设备等中的一种或其任意几种组合。在一些实施例中,用户可以通过可穿戴设备控制智能机器人110,可穿戴设备可以包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等中的一种或者其任意几种组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备,销售点(POS)设备等中的一种或者其任意几种组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等中的一种或者任意几种组合。例如,虚拟现实设备和/或增强现实设备可以包括Google Glass,Oculus Rift,HoloLens,Gear VR等。在一些实施例中,内置设备130-4可以包括车载电脑、车载电视等。在一些实施例中,用户设备130可以是具有为用户和/或与用户相关联的用户设备130的位置定位的定位技术的设备。例如,可以由智能机器人110基于地图、智能机器人110的目的地和当前位置来确定路线。智能机器人110的位置可以通过用户设备130获得。在一些实施例中,用户设备130可以是具有图像捕获能力的设备。例如,可以基于由图像传感器(例如,相机)捕获的信息来更新存储在数据库140中的地图。在一些实施例中,用户设备130可以是智能机器人110的一部分。例如,具有相机、陀螺仪和加速度计的智能手机可以由智能机器人110的云台夹持。用户设备130可以用作传感器以检测信息。再例如,处理器210和存储器220可以是智能手机的一些部分。在一些实施例中,用户设备130还可以为智能机器人110的用户充当通信接口。例如,用户可以触摸用户设备130的屏幕以选择智能机器人110的控制操作。
数据库140可以存储完整的地图。在一些实施例中,可以存在与数据库140无线连接的多个智能机器人。与数据库140连接的每个智能机器人可以基于由其传感器捕获的信息来构建地图。在一些实施例中,由智能机器人构建的地图可以是完整地图的一部分。在更新过程中,构建的地图可以替换完整的地图中的相应区域。当路线需要从智能机器人110的位置规划到目的地时,每个智能机器人可以从数据库140下载地图。在一些实施例中,从数据库140下载的地图可以是完整的地图的一部分,该部分至少包括智能机器人110的位置和目的地。数据库140还可以存储与连接到智能机器人110的用户有关的历史信息。该历史信息可以包括,例如用户的先前操作或与智能机器人110如何操作有关的信息。如图1所示,数据库140可以由智能机器人110和用户设备130访问。
应当注意,上述智能机器人控制系统100仅仅为了描述该系统的特定实施例的一个示例,而非限制本披露范围。
根据本申请的一些实施例,图2所示的是图1所示的智能机器人控制系统100中的示例性智能机器人110的框图。智能机器人110可以包括处理器210、存储器220、传感器(组)230、通信端口240、输入/输出接口250和机身260。传感器(组)230可以获取信息。在一些实施例中,信息可以包括图像数据、陀螺仪数据、加速度计数据、位置数据和距离数据。处理器210可以处理信息以生成一个或多个结果。在一些实施例中,一个或多个结果可以包括位移信息和深度信息(例如,相邻两个帧间的相机的位移,两个相邻帧中的对象的深度)。在一些实施例中,处理器210可以基于一个或多个结果构建地图。处理器210还可以将地图传送到数据库140以进行更新。在一些实施例中,处理器210可以包括一个或多个处理器(例如,单核处理器或多核处理器)。仅作为示例,处理器210可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机、微处理器等中的一种或者其任意几种组合。又例如,处理器210可以是特殊设计的具备特殊功能的处理元件或设备。
存储器220可以存储用于处理器210的指令,并且当执行指令时,处理器210可以执行本披露中描述的一个或多个功能或操作。例如,存储器220可以存储由处理器210执行的指令,这些指令用来处理由传感器(组)230获得的信息。在一些实施例中,处理器220可以自动存储由传感器(组)230获得的信息。存储器220还可以存储由处理器210生成的一个或多个结果(例如,用于构建地图的位移信息和/或深度信息)。例如,处理器210可以生成一个或多个结果并将其存储在存储器220中,并且一个或多个结果可以由处理器210从存储器220中读取以构建地图。在一些实施例中,存储器220可以存储由处理器210构建的地图。在一些实施例中,存储器220可以存储由处理器210从数据库140或用户设备130获得的地图。例如,存储器220可以存储由处理器210构建的地图,然后可以将构建的地图发送到数据库140以更新完整的地图的对应部分。再例如,存储器220可以临时存储由处理器210从数据库140或用户设备130下载的地图。在一些实施例中,存储器220可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等中的一种或者其任意几种组合。示例性大容量存储器可以包括磁盘、光盘和固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘和磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可以包括动态RAM(DRAM)、双日期速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容器RAM(Z-RAM)等。示例性ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)数字多功能盘ROM。
传感器(组)230可以包括能够获得来自物体或障碍物的图像数据、陀螺仪数据、加速度计数据、位置数据、距离数据以及可由智能机器人110使用以执行本披露中描述的各种功能的任何其它数据。例如,传感器(组)230可以包括用于在低光环境下获得图像数据的一个或多个夜视摄影机。在一些实施例中,由传感器(组)230获得的数据和/或信息可以存储在存储器220中并且可以由处理器210处理。在一些实施例中,一个或多个传感器(组)230可以安装在机身260中。更具体地,例如,一个或多个图像传感器可以安装在机身260的云台中。一个或多个导航传感器、螺旋仪和加速度计可以安装在云台和运动模块中。在一些实施例中,传感器(组)230可以在处理器210的控制下自动探索环境并检测位置。例如,传感器(组)230可以用于动态地感测或检测物体、障碍物等的位置。
通信端口240可以是用于在智能机器人110内通信的端口。也就是说,通信端口240可以在智能机器人110的组件之间交换信息。在一些实施例中,通信端口240可以将处理器210的信号/数据/信号发送到智能机器人110的内部部分,以及从智能机器人110的内部部分接收信号。例如,处理器210可以从安装在机身260的传感器(组)接收信息。再例如,处理器210可以通过通信端口240将控制操作发送到机身260。发送-接收的处理过程可以通过通信端口240来实现。通信端口240可以根据某些无线通信规范接收各种无线信号。在一些实施例中,通信端口240可以被提供为用于诸如Wi-Fi、蓝牙、红外(IR)、超宽带(UWB)、ZigBee等的已知无线局域通信的通信模块,或者作为诸如3G、4G或长期演进(LTE)的移动通信模块,或者作为用于有线通信的已知通信方法。在一些实施例中,在一些实施例中,通信端口240不限于用于从内部设备发送/接收信号的元件,并且可以被用于交互式通信的接口。例如,通信端口240可以通过使用应用程序接口(API)的电路在处理器210和智能机器人110的其他部分之间建立通信。在一些实施例中,用户设备130可以是智能机器人110的一部分。在一些实施例中,处理器210和用户设备130之间的通信可以由通信端口240执行。
输入/输出接口250可以是用于智能机器人110与诸如数据库140的其他外部设备之间的通信的接口。在一些实施例中,输入/输出接口250可以控制与智能机器人110的数据传输。例如,最新的地图可以从数据库140发送到智能机器人110。再例如,基于传感器(组)230获得的信息构建的地图可以从数据库140发送到智能机器人110。输入/输出接口250还可以包括各种附加元件,诸如用于无线通信的无线通信模块(未示出)或用于调节广播信号的调谐器(未示出),这取决于智能机器人110的设计类型以及用于从外部输入接收信号/数据元件。输入/输出接口250可以被用于已知无线局域通信的通信模块,诸如Wi-Fi、蓝牙、红外(IR)、超宽带(UWB)、ZigBee等,或者作为诸如3G,4G或长期演进(LTE)的移动通信模块,或者作为用于有线通信的已知输入/输出接口。在一些实施例中,输入/输出接口250可以被提供为用于诸如光纤或通用串行总线(USB)的已知有线通信的通信模块。例如,智能机器人110可以经由USB接口与计算机的数据库140交换数据。
机身260可以是用于保存处理器210、存储器220、传感器230、通信端口240和输入/输出接口250的主体。机身260可以执行来自处理器210的指令以移动和旋转传感器(组)230以获得或检测区域的信息。在一些实施例中,机身260可以包括运动模块和云台,参见本披露中其他部分(如图9及其描述)对机身260的描述。在一些实施例中,传感器(组)可以分别安装在运动模块和云台中。
根据本申请的一些实施例,图3所示的一种处理器210的示例性结构图。如图3所示,处理器210可以包括分析模块310、导航模块320和智能机器人控制模块330。
分析模块310可以分析从传感器(组)230获得的信息并生成一个或多个结果。分析模块310可以基于一个或多个结果构建地图。在一些实施例中,构建的地图可以被发送到数据库140。在一些实施例中,分析模块310可以从数据库140中接收最新的地图并将其发送到导航模块320。导航模块320可以规划从智能机器人110的位置到目的地的路线。在一些实施例中,完整的地图可以被保存在数据库140中。分析模块310构建的地图可以对应于完整地图的一部分。更新过程可以用构建的地图替换完整地图的对应部分。在一些实施例中,由分析模块310构建的地图可以是最新的,并且包括智能机器人110的位置和目的地。分析模块310可以不从数据库140接收地图。由分析模块310构建的地图可以被传送到导航模块320以规划路线。智能机器人控制模块330可以基于导航模块320规划的路线生成智能机器人110的控制参数。在一些实施例中,控制参数可以暂时存储在存储器220中。在一些实施例中,控制参数可以被发送到智能机器人机身260以控制智能机器人110的运动,参见本披露中其他部分(如图6、图7及其描述)对控制参数的描述。
根据本申请的一些实施例,图4是图3所示的处理器210中的示例性分析模块310的结构示意图。在一些实施例中,分析模块310可以包括图像处理单元410、位移确定单元420、深度确定单元430、闭环控制单元440和对象检测单元450。
图像处理单元410可以处理图像数据以执行智能机器人110的一个或多个功能。图像数据可以包括例如一个或多个图像(例如,静止图像、视频帧等)、每个帧中的每个像素点的初始深度和位移,和/或与一个或多个图像相关的任何其它数据。在一些实施例中,位移可以包括在拍摄两个相邻帧的时间间隔之间的轮子的位移和相机相对于轮子的位移。图像数据可以由能够提供图像数据的任何设备提供,诸如传感器(组)230(例如,一个或多个图像传感器)。在一些实施例中,图像数据可以包括关于多个图像的数据。图像可以包括视频帧序列(也称为“帧”)。每个帧可以是一个帧、一个字段等。
在一些实施例中,图像处理单元410可以处理图像数据以生成智能机器人110的运动信息。例如,图像处理单元410可以处理两个帧(例如,第一帧和第二帧)以确定两帧之间的差异。图像处理单元410然后可以基于帧之间的差异产生智能机器人110的运动信息。在一些实施例中,第一帧和第二帧可以是相邻帧(例如,当前帧和先前帧、当前帧和后续帧等)。另外,第一帧和第二帧也可以是不相邻帧。更具体地,例如,图像处理单元410可以确定第一帧和第二帧中的一个或多个对应像素点以及包括对应像素点(也称为“重叠区域”)的一个或多个区域。响应于确定的同一对象的第一像素点和第二像素点,图像处理单元410可以将第一帧中的第一像素点确定为第二帧中的第二像素点的对应像素点。第二帧中的第一像素点及其对应像素点(例如,第二像素点)可以对应于相对的一个对象的相同位置。在一些实施例中,图像处理单元410可以识别第一帧中在第二帧中不具有对应像素点的一个或多个像素点。图像处理单元410可进一步识别包括所识别像素点的一个或多个区域(也称为“非重叠区域”)。非重叠区域可以对应于传感器(组)230的运动。在一些实施例中,在进一步处理(例如,通过位移确定单元420和/或深度确定单元430的处理),在第二帧中没有对应像素点的第一帧中的非重叠区域的像素点可以省略。
在一些实施例中,图像处理单元410可以识别第一帧中的像素点和第二帧中的对应像素点的强度。在一些实施例中,可以获得第一帧中的像素点和第二帧中的对应像素点的强度作为确定第一帧和第二帧之间的差的标准。例如,可以选择RGB强度作为确定第一帧和第二帧之间的差异的标准。像素点、对应像素点和RGB强度可以被发送到位移确定单元420和/或深度确定单元430,用于确定第二帧的位移和深度。在一些实施例中,深度可以表示两个帧中的对象的空间深度。在一些实施例中,位移信息可以是一组帧的位移的集合。在一些实施例中,深度信息可以是一组帧的深度。帧、位移信息和深度信息可以用于构建地图。
位移确定单元420可基于由图像处理单元410提供的数据和/或任何其它数据来确定位移信息。位移信息可以包括可以表示生成图像数据的传感器(组)230(例如,捕获多个帧的图像传感器)的运动信息的一个或多个位移。例如,位移确定单元420可以获得两个帧(例如第一帧和第二帧)中的对应像素点的数据。数据可以包括对应像素点的一个或多个值,诸如像素点的灰度值,强度等。位移确定单元420可基于任何合适的颜色模型(例如,RGB(红色、绿色和蓝色)模型,HSV(色调、饱和度和亮度)模型等)确定像素点的值。在一些实施例中,位移确定单元420可以确定两个帧中的对应像素点对之间的差值。例如,图像处理单元410可以识别第一帧中的第一像素点及其在第二帧中的对应像素点(例如,第二像素点),可以基于第一像素点的坐标的变换来确定第二像素点。第一像素点和第二像素点可以对应于相同的对象。位移确定单元420还可以确定第一像素点的值和第二像素点的值之间的差。在一些实施例中,可以通过最小化第一帧和第二帧中的对应像素点对之间的差的和来确定位移。
在一些实施例中,位移确定单元420可以确定表示位移的原点估计值的初始位移ξji,1。例如,初始位移ξji,1可以基于如下的公式(1)来确定:
Figure GPA0000267711970000131
其中,x表示所述第一帧中的像素点的坐标;ω(x,Di(x),ξji)表示第二帧中对应像素点的坐标,ω(x,Di(x),ξji)和Ii(x)可以在一个对象的相同相对位置处,且ω(x,Di(x),ξji)是相机移动一定位移ξji之后的x的变换像素点。Ω是一组像素点对,每个像素点对包括第一帧中的像素点和第二帧中的对应像素滴点。Ii(x)是坐标值为x的像素点的RGB强度;Ij(ω(x,Di(x),ξji))是像素点为ω(x,Di(x),ξji)的RGB强度。
ω(x,Di(x),ξji)是相机移动一定位移ξji之后的x的变换坐标。在一些实施例中,位移确定单元420可以基于位移的初值ξji和初始深度Di(x)来计算对应像素点ω(x,Di(x),ξji)。在一些实施例中,初始深度Di(x)可以是零矩阵。位移的初值ξji可以是变量。为了获得初始位移ξji,1,位移确定单元420可能需要如迭代公式(1)所示的位移的初值ξji。在一些实施例中,位移的初值ξji可以基于车轮的位移ξji′和相机相对于车轮的位移ξji′来确定,参见本披露中其他地方(例如,图17A及其描述)对初值ξji的描述。在一些实施例中,位移的初值可以是ξji′和ξji″的向量和。尝试围绕位移的初值ξji初值和变量,可以获得两个帧的最小差值。
在一些实施例中,深度确定单元430可以确定更新后的深度Di,1(x)。更新后的深度Di,1(x)可以由公式(2)计算:
Figure GPA0000267711970000141
其中,其中深度Di(x)表示公式(2)中的两个帧的差的变量,当两个帧的差为最小时,确定值Di,1(x)作为更新后的深度。在一些实施例中,初始深度Di(x)可以是零矩阵。
位移确定单元420还可以基于更新后的深度Di,1(x)产生更新后的位移ξji,1u。在一些实施例中,可以通过用更新后的深度Di,1(x)替换初始深度Di(x)基于公式(1)获得更新后的位移ξji,1u
闭环控制单元440可执行闭环检测。闭环控制单元440可以检测智能机器人110是否返回先前访问的位置,并且可以基于该检测更新位移信息。在一些实施例中,响应于确定智能机器人110已经返回到路线中先前访问的位置,闭环控制单元440可以使用g2o闭环检测来调整帧的更新后的位移以减少误差。g2o闭环检测是用于减少非线性误差的一般优化框架。调整的帧的更新后的位移可以被设置为位移信息。在一些实施例中,如果智能机器人110包括诸如激光雷达的深度传感器,则可以直接获得深度,可以基于公式(1)确定位移,然后可以通过闭环控制单元440调整位移以生成调整位移。
首先,当深度传感器检测到深度信息时,位移信息可以是基于公式(1)的一组位移,然后由闭环控制单元440调整。当深度信息是更新后的深度的集合时,位移信息可以是经公式(1)、公式(2)计算后的和闭环控制单元440调整之后的位移的集合。
在一些实施例中,闭环控制单元440可基于帧、位移信息和深度信息产生地图。
分析模块310还可以包括对象检测单元450,对象检测单元450可以检测障碍物、对象和从智能机器人110到障碍物和对象的距离。在一些实施例中,可以基于由传感器(组)230获得的数据来检测障碍物和物体。例如,对象检测单元450可以基于由声纳、红外距离传感器、光流传感器或激光雷达所捕获的距离数据来检测对象。
根据本申请的一些实施例,图5是处理器210中的示例性导航模块320的结构示意图。在一些实施例中,导航模块320可以包括绘图单元510和路线规划单元520。在一些实施例中,绘图单元510可以从数据库140接收地图。在一些实施例中,绘图单元510可以处理地图以进行路线规划。在一些实施例中,地图可以是数据库140中的完整地图的一部分。例如,包含确定的目的地和智能机器人110位置的地图可以适用于规划路线。在一些实施例中,从数据库140获得的地图可以是3D地图。在一些实施例中,绘图单元510可以通过投影技术将3D地图转换成2D地图。也就是说,绘图单元510可以将3D地图中的对象划分为像素点,并将像素点投影到水平地表面以生成2D地图。一旦通过绘图单元510获得了2D地图,路线规划单元520可以基于所传送的2D地图来规划从智能机器人110的位置到目的地的路线。
智能机器人控制模块330可基于导航模块320中的路线规划单元520所规划的路线来确定控制参数。在一些实施例中,智能机器人控制模块330可将路线分成一组段。智能机器人控制模块330可以获得段的一组节点。在一些实施例中,两个段之间的节点可以是前一段的终点和后一段的起点。可以基于起点和终点来确定一段的控制参数。
在一些实施例中,在智能机器人110在段中运动期间,智能机器人110的终点可能与段的预定终点不匹配,路线规划单元520可以基于不匹配的终点(新的智能机器人110的位置)和目的地规划新路线。在一些实施例中,智能机器人控制模块330可以分割新路线并生成一个或多个新段,然后智能机器人控制模块330可以确定每个新段的一组控制参数。
图6和图7是智能机器人110的运动控制的示例。如图6所示,运动模块以角速度ω围绕点ICC移动。运动模块具有两个轮子,包括以速度vl移动的左轮610和以速度vr移动的右轮620。在一些实施例中,左轮610和右轮620之间的距离是L。左轮610和右轮620到两个轮中心点O的距离都是L/2。中心点O和点ICC的距离是R。
图7是智能机器人110的控制参数确定方法的一种示例性示意图。如图7所示,智能机器人110的运动模块在dt内从点O1运动到点O2。点O1和点ICC的连线到点O2和点ICC的连线的夹角为α。如果dt、L、R和α已知,可以计算出左轮的速度vl和右轮的速度vr
根据本申请的一个实施例,图8是传感器(组)230的一种示例性结构框图。传感器(组)230可以包括一个图像传感器810、一个加速度计820、一个陀螺仪830、一个声呐840、一个红外距离传感器850、一个光流传感器860、一个激光雷达870和一个导航传感器880。
图像传感器810可以捕捉图像数据。在一些实施例中,基于所述图像数据,分析模块310可以构建地图。在一些实施例中,所述图像数据可以包括帧、每一帧上每个像素点的初始深度和位移。在一些实施例中,所述初始深度和位移可以用来确定深度和位移。关于所述深度和位移的获取方法可参见本申请其他部分的说明(详细描述见图4中的公式(1))。在一些实施例中,所述位移可以包括在拍摄两个相邻帧的一个时间间隔间的轮子的位移和相机相对于轮子的位移。
为了保持一个运动模块和一个云台的平衡,加速度计820和陀螺仪830可以共同运行。为了从传感器(组)230获取稳定的信息,所述平衡是必要的。在一些实施例中,为了将俯仰姿态(pitchattitude)控制在一定阈值内,加速度计820和陀螺仪830可以共同运行。在一些实施例中,所述加速度计820和陀螺仪830可分别由运动模块和云台持有。关于平衡保持上午相关描述可参见本申请其他部分,例如图18、图19及其描述。
声呐840、红外距离传感器850和光流传感器860可以用来对智能机器人110定位。在一些实施例中,可以采用声呐840、红外距离传感器850和光流传感器860中的一种或任意一种组合对智能机器人110定位。
激光雷达870可以检测在一帧中的物体的深度。也就是说,激光雷达870可以获取每一帧的深度,处理器210中的分析模块310不需要计算深度。激光雷达870获得的深度可以直接用来计算图4中函数(1)中所描述的位移。基于函数(1)获得的位移可以通过闭环控制单元440进行调整。
通过检测智能机器人110和一个物体或障碍物间的距离,声呐840、红外距离传感器850和光流传感器860可以对智能机器人110进行定位。导航传感器880可以在一个粗略的区域或位置范围内对智能机器人进行定位。在一些实施例中,导航传感器880可以对带有任何类型的定位系统的智能机器人110进行定位。所述定位系统可以包括全球定位系统(Global Positioning System,GPS)、北斗导航或定位系统和伽利略定位系统。
根据本申请的一些实施例,图9是图2中所描述的机身260的一种示例性框图。机身260可以包括一个外壳910、一个运动模块920和一个云台930。外壳910可以是机身260的一个壳,所述机身260的壳可以保护智能机器人110中的模块和单元。运动模块920可以是智能机器人110中的运动操作元件。在一些实施例中,运动模块920可以基于处理器210中的智能机器人控制模块330生成的控制参数进行运动。例如,由智能机器人控制模块330确定的路线的一段路线中,控制参数的确定可以是基于所述一段路线的起点和终点。然后,为了让智能机器人110从所述起点运动到所述终点,所述控制参数可以从智能机器人控制模块330传输到运动模块920。在一些实施例中,云台930可以是至少一个图8中所描述的传感器的支撑设备。云台930可以支撑一个图像传感器810,例如,一个照相机,来获取帧。在一些实施例中,云台可以支撑一个图像传感器810,例如,一个照相机,来捕捉帧。在一些实施,云台930可以支撑加速度计820和陀螺仪830,通过保持云台支撑的传感器的平衡来获得稳定的信息。在一些实施例中,为了检测智能机器人110和一个物体或障碍物间的距离,云台930可以支撑声呐840、红外距离传感器850和光流传感器860中的至少一种传感器。在一些实施例中,为了检测深度信息或其它信息,云台930还可以支撑激光雷达870和其它传感器。在一些实施例中,导航传感器880可以安装在云台930上。在一些实施例中,由云台支撑的传感器可以集成在一个智能手机上。
在一些实施例中,智能轮椅上的机器人的驱动部分可以包括一个或多个驱动电机、一个或多个轮子组成,智能轮椅的机械传动构造为将一个或多个驱动电机与一个或多个轮子进行结合。图10是运动模块920的一种示例性示意图。运动模块920可以包括一个运动单元和一个载体1010。所述运动单元可以包括两个轮子,所述两个轮子可以包括一个左轮610和一个右轮620。载体1010可以承载声呐840或光流传感器860来检测物体或障碍物。在一些实施例中,载体1010可以包括加速度计820(未在图10中显示)和陀螺仪830(未在图10中显示)来保持运动模块920的平衡。在一些实施例中,载体1010可以包括其它传感器,例如,红外距离传感器850,来获得其它需要的信息。
在一些实施例中,左轮610和右轮620可以包括至少一个万向轮或具有一定转角限制的轮子。车身或车架上安装有智能轮椅控制系统。智能轮椅的智能控制系统可以产生控制信号。电机可以根据控制信号驱动左轮610和右轮620中的至少一个进行各种简单或复杂的运动。上述运动可以包括前进、后退、爬坡、下坡、攀爬台阶、下台阶等。在一些实施例中,左轮610和右轮620中的至少一个可以与履带结合,在平坦路面行进。在一些实施例中,左轮610和右轮620中的至少一个可以在固定(不转动)的情况下进行步进式行走,此时固定的轮子即为智能轮椅的腿部。基于以上多种行进方式的结合和轮子的结构设计,左轮610和右轮620可实现多功能、复杂路面的行走。
智能轮椅的机械传动构造有多种组合方式。在一些实施例中,智能轮椅的轮子(左轮610和右轮620)可以配置有至少一个驱动电机。在一些实施例中,智能轮椅的左轮610和右轮620可以配置多个驱动电机。在一些实施例中,智能轮椅的左轮610和右轮620可以配置同一个驱动电机。智能轮椅还包括智能控制系统,智能控制系统产生控制指令,一个或多个驱动电机依据指令驱动左轮610和/或右轮620运动。在一些实施例中,驱动电机可以包括但不限于:直流电机、交流电机。其中,直流电机包括但不限于无刷直流电动机、有刷直流电动机。其中,有刷直流电机可以包括但不限于永磁直流电机、电磁直流电机。其中,永磁直流电机可以包括但不限于稀土永磁直流电机,铁氧体永磁直流电机和铝镍钴永磁直流电机等。电磁式直流电机可以包括但不限于串励直流电机、并励直流电机、他励直流电机复励直流电机等。交流电机可以包括但不限于单相电机、三相电机等。
在一些实施例中,智能轮椅的左轮610和/或右轮620与驱动电机之间可以通过轴毂连接或枢轴连接。轴毂连接可以包括但不限于键连接、花键连接、过盈配合连接、销连接、胀套连接和成型连接等。其中,键连接可以包括平键连接、半圆键连接、楔键连接和切向键连接等。花键连接可以包括矩形花键和渐开线花键等。枢轴的制造方式可以包括采用滑动轴承、球轴承、滚柱轴承、滚针轴承、或弹性接头等。
如图9所示,云台930可以支撑传感器(组)230以获得信息生成地图、规划路线或生成控制参数。根据本申请的一些实施例,图11是图9中所描述的机身260中云台930的一种示例性示意图。在一些实施例中,云台930可以包括一个用于控制X轴周围旋转的第一转轴1170、一个用于控制Y轴周围旋转的第二转轴1150和一个用于控制Z轴周围旋转的第三转轴1130。所述X轴可以是水平面中的第一个轴,所述Y轴可以是水平面中的第二个轴,所述Z轴可以是垂直于所述水平面的一个竖直轴。在一些实施例中,云台930可以包括一个用于连接转轴1170和传感器的连接杆1180、一个用于连接转轴1150和转轴1170的连接杆1160和一个用于连接转轴1130和转轴1150的连接杆1140。在一些实施例中,云台930可以包括一个连接件1110、一个连接杆1114和一个动态Z-缓冲杆1120。在一些实施例中,传感器可以集成到一个用户设备130中(例如,智能手机)。用户设备130可以包括传感器如图像传感器810、加速度计820、陀螺仪830和导航传感器880。云台930还可以包括一个连接块1190来支撑用户设备130。在云台930的操作期间,用户设备130中的传感器获取信息。在一些实施例中,通过调整云台930的姿态来控制用户设备130中的传感器以获得合适的信息。在一些实施例中,云台930的姿态可以通过在X轴、Y轴和Z轴周围旋转转轴1170、转轴1150和转轴1130进行调整。
传统的3-轴云台可以用于空中摄影。为了在路线运动过程中保持云台930的稳定性,在云台930中采用动态Z-缓冲连接杆1120。动态Z-缓冲连接杆1120可以保持云台930在Z轴的稳定性。在一些实施例中,动态Z-缓冲连接杆1120可以是一个伸缩杆,可以沿着Z轴进行扩展和收缩。云台930中的动态Z-缓冲连接杆1120操作方法在图20中进行说明。根据智能机器人控制模块330生成的控制参数,对动态Z-缓冲连接杆1120的转轴1130、1150、1170的旋转和竖直运动进行控制。
智能机器人110中可以有多个模块和单元。根据本发明的一些实施例,图12是智能机器人110的一种简单的系统。如图12所示,智能机器人110可以包括处理器210、运动模块920和云台930。在一些实施例中,处理器210可以包括分析模块310、导航模块320和智能机器人控制模块330。运动模块920可以包括一个运动单元1210、第一类型传感器1220和通信端口240。云台930可以包括一个云台控制单元1230、通信端口240和第二类型传感器1240。在一些实施例中,处理器210可以发送控制参数以控制运动模块920中的运动单元1210和云台930中的云台控制单元1230。
在一些实施例中,第一类型传感器1220和第二类型传感器1240可以获取信息。分析模块310可以处理获取的信息和构建地图。在一些实施例中,所述构建的地图可以被发送到数据库140。为了确定一条到达目的地的路线,需要一张地图进行导航,分析模块310可以从数据库140下载一个最新的地图,并且将所述最新的地图发送给导航模块320。导航模块320可以处理所述最新的地图,并且确定一条从智能机器人所处位置到目的地的路线。在一些实施例中,分析310模块可以不用下载完整地图,包括智能机器人所处位置和目的地的完整地图的部分足够用于规划路线。在一些实施例中,分析模块310构建的地图可以包括智能机器人110的位置和目的地,而且所述地图是数据库中最新的地图。分析模块310构建的地图可以被发送到导航模块320以规划路线。导航模块320可以包括绘图单元510和路线规划单元520。在一些实施例中,根据来自分析模块310的最新地图或构建的地图,绘图单元510可以生成一个2D地图以进行路线规划。路线规划单元520可以规划路线,所述路线可以被发送到智能机器人控制模块330。智能机器人控制模块330可以将所述路线分成一段或多段路线。智能机器人控制模块330可以针对每段线路生成控制参数。每段线路有一个起点和终点,所述一段线路的终点可以是下一段线路的起点。在一些实施例中,智能机器人110在一段线路中的终点位置可能与为这段线路预设的终点不匹配,这可能会影响剩余部分路线的规划。由此,有必要根据不匹配的位置(智能机器人的新位置110)和目的地重新规划路线。在一些实施例中,在一段线路后,如果检测到不匹配的情况,所述重新规划路线过程可以通过导航模块320执行。
在一些实施例中,如果运动模块920中的第一类型传感器1220和云台930中的第二类型传感器1240不稳定,由运动模块920中的第一类型传感器1220和云台930中的第二类型传感器1240捕捉的信息可能不适合用于构建地图。为了稳定第一类型传感器1220和第二类型传感器1240,智能机器人控制模块330可以生成控制参数调整运动模块920和云台930。
传感器可以安装在运动模块920和云台930上。在一些实施例中,第一类型传感器1220可以包括加速度计820、陀螺仪830、声呐840、红外距离传感器850、光流传感器860、激光雷达870和导航传感器880中的至少一种。在一些实施例中,第二类型传感器1240可以包括图像传感器810、加速度计820、陀螺仪830、声呐840、红外距离传感器850、光流传感器860、激光雷达870和导航传感器880中的至少一种。
如图12所示,处理器210可以通过通信端口240建立运动模块和云台930间的通信。在一些实施例中,通信端口240可以是任何形式的。例如,通信端口240可以是一个有线或无线收发器。在一些实施例中,通信端口240可以以接口的形式存在,用于交互式通信。例如,通信端口240可以通过运行应用程序接口(API)的电路建立处理器210和智能机器人110其它部之间的通信。在一些实施例中,API是一组用于构建软件和应用程序的子例程定义,协议和工具。在一些实施例中,API可以通过提供所有构件让程序的开发更简单,然后,可以组装在一起。在一些实施例中,所述API协议可以用于设计无线通信的电路,例如,所述无线电路可以是Wi-Fi、蓝牙、红外(IR)、超宽带(UWB)和无线个域网(ZigBee)等等,也可以是一个移动通信模块如3G、4G和长期演进(LTE)。API可以分离底部硬件(例如运动模块920或云台)和控制硬件(例如处理模块210)。在一些实施例中,通过调用通信端口240中的API,处理模块210(例如智能手机的一部分)可以控制运动模块920中的轮子的运动和云台930中图像传感器(例如相机)的姿态。在一些实施例中,运动模块920中的第一类型传感器1220可以将信息(例如位置数据)发送到所述智能手机。在一些实施例中,云台930中的第二类型传感器1240可以将信息(例如相机姿态)发送到所述智能手机。
根据本申请的一些实施例,图13是确定控制智能机器人的控制参数的示例性流程图。图13所述的步骤1300可以通过智能机器人110中的处理器210根据存储在存储器220中的指令完成。
在步骤1310,处理器210可以从传感器(组)230中(第一类型传感器1220和/或第二类型传感器1240)获取信息。如图3和图12所述,处理器210中的分析模块310可以通过API通信端口240从运动模块920和云台930中接收信息。在一些实施例中,可以通过信息分析来控制智能机器人110的运动。在另一些实施例中,可以通过信息分析来维持智能机器人110中的运动模块920和云台930的稳定。
在步骤1320,处理器210可以根据所接收到的信息确定智能机器人110的目的地和当前位置。例如,处理器210中的分析模块310可以从传感器(组)230中接收位置数据。所述传感器包括但不限于声呐、红外距离传感器、光流传感器、激光雷达、导航传感器等。在一些实施例中,用户可以通过输入输出(I/O)接口250确定目的地。例如,用户可以为智能机器人110输入目的地。处理器210可以使用用户确定的目的地的信息为智能机器人110提供一个运动的路线。在一些实施例中,处理器210可以根据所接收到的信息确定智能机器人110的当前位置。在一些实施例中,处理器210可以根据从传感器(组)230所获得的信息确定智能机器人110的当前位置。例如,处理器210可以根据定位系统(如,GPS)中的导航传感器880获取的信息确定智能机器人的粗略位置。又例如,处理器210可以根据声呐840、红外距离传感器850和光流传感器860中至少一个传感器所获取的信息确定智能机器人110的精确位置。
在步骤1330,处理器210可以根据智能机器人110的目的地和当前位置得到一个地图,所述地图可以用于规划路线。在一些实施例中,一个包含大量代表城市的标记点的完整地图可以储存在数据库140中。通过步骤1310和步骤1320,智能机器人110的目的地和当前位置确定后,需要一个包含智能机器人110目的地和当前位置的地图来规划从当前位置到目的地的路线。在一些实施例中,包含智能机器人110目的地和当前位置的地图可以是一个完整地图的一部分。在一些实施例中,处理器210中的分析模块310可以根据智能机器人110的目的地和当前位置从数据库140中获得完整地图的合适部分。在一些实施例中,分析模块310可以根据从传感器(组)230获得的信息构建地图,所构建的地图可以发送给数据库140来更新整个地图。在一些实施例中,所构建的地图可以包含智能机器人110的目的地和当前位置。导航模块320可以使用所构建的地图来规划路线。
在步骤1340,根据步骤1330所得的地图,从智能机器人110的当前位置到目的地的路线可以被规划。所述路线规划可以由导航模块320完成。在一些实施例中,导航模块320可以通过绘图单元510将所得地图转换为二维地图。然后,路线规划单元520可以基于所述二维地图得到一个从智能机器人110当前位置到目的地的路线。
在步骤1350,智能机器人控制模块330可以将所述规划路线分割成一段或者多段。路线分隔可以基于一个阈值来判断是否执行,比如,如果所规划的路线小于一个阈值,就不需要进行路线分隔。在一些实施例中,路线分割可以由智能机器人控制模块330按照存储模块220中的指令完成。
在步骤1360,智能机器人控制模块330可以根据步骤1350中分割的路段确定控制机器人的控制参数。在一些实施例中,步骤1350中智能机器人控制模块330分割的每一个路段都有一个起点和一个终点。在一些实施例中,智能机器人控制模块330可以基于某个路段的起点和终点确定智能机器人在该路段上的控制参数。关于如何确定两点之间的控制参数可以参考图6和图7中的具体描述。在一些实施例中,控制参数需要根据时间不断调整。例如,当一个智能机器人110穿过一个路段上的一条直线上的两点时,智能机器人110从第一点到第二点的过程中,可以在不同的时间段内采用不同的运动速度。在一些实施例中,控制参数是用于保证智能机器人在沿规划路线的运动中保持稳定。例如,通过维持运动模块920和云台930的稳定,可以使得获取的传感信息相对更加准确。又例如,当路线不平坦时,可以使用控制参数使得云台930沿垂直于地面的方向保持稳定。
在一些实施例中,智能机器人在根据预设控制参数经过一个路段时,智能机器人110可能会停在一个与智能机器人控制模块330为该路段预设的终点不匹配的位置上。导航模块320可以根据智能机器人所在的匹配错误的位置和目的地重新规划一个新的路线。智能机器人控制模块330可以将新规划的路线进一步分割成一段或者多段,智能机器人控制模块330也可以为分割后的一段或者多段路线确定智能机器人的控制参数。在一些实施例中,位置的错误匹配可以在智能机器人110通过每一路段后根据智能机器人的实际位置和该路段的预设终点的比较结果来估算。
根据本申请的一些实施例,图14是处理器210生成地图的示例性流程图。所示构建地图的步骤可以由分析模块310根据传感器(组)230获得的信息完成。
在步骤1410,分析模块310可以从图像传感器810中获取图像数据。在一些实施例中,图像数据可以包括大量的帧,帧之中每一像素点的初始深度和/或位移。所述位移可以包括轮子的位移和相机相对于轮子的位移。在一些实施例中,初始深度可以设定为一个零矩阵。在一些实施例中,如果传感器(组)230包含激光雷达或者具有深度探测功能的相机,那么深度信息可以由传感器(组)获取。
在步骤1420,分析模块310可以根据图像数据确定一个或者多个参考帧。在一些实施例中,图像数据可以包括大量的帧,帧之中每一像素点的初始深度和/或位移。在一些实施例中,分析模块310可以从这些帧之中选择一个或者多个参考帧。具体描述请参见本申请的其它部分,比如,图15及其对应的说明书部分。在一些实施例中,参考帧可以用于构建地图。
在步骤1430,分析模块310可以根据一个或多个参考帧确定深度信息和位移信息。也就是说,为了获取每一帧的位移信息和深度信息,可以由分析模块310来处理图像数据。关于如何确定位移信息和深度信息,请参见本申请的其他部分,比如,图4及其说明书部分。
在步骤1440,分析模块310可以根据一个或多个参考帧、帧的深度信息和位移信息生成地图。在一些实施例中,三维地图可以是通过将一个或多个参考帧与所对应的位移连接起来获得的。
地图可以通过大量的帧及其对应的位移信息和深度信息确定。在一些实施例中,步骤1420和步骤1430的顺序可以颠倒,或者同步进行。例如,步骤1420在确定一个或多个参考帧的过程中也可以包含步骤1430中确定位移信息和深度信息的过程。也就是说,步骤1430可以是步骤1420确定一个或多个参考帧的过程的子步骤。如图4的说明所述,图像数据可以通过处理获得一个或多个结果。在一些实施例中,所述一个或多个结果可以包括位移信息(比如,相邻两个帧之间的相机位移)和深度信息(比如,两个相邻帧之中一个物体的深度)。在一些实施例中,所述一个或多个结果可以通过g2o闭环检测技术来调整,从而生成调整后的位移信息。在一些实施例中,调整后的位移信息可以作为位移信息来生成地图。分析模块310可以基于一个或多个参考帧及其对应的位移信息和深度信息生成地图。
根据本申请的一些实施例,图15是确定一个或多个参考帧的示例性流程图。该步骤可以由分析模块310、位移判定单元420和深度判定单元430根据图像传感器810获取的图像数据完成。具体地,分析模块310可以根据一个或多个结果(比如,位移信息和深度信息)确定一个或多个参考帧。
在步骤1502,分析模块310可以获取包含许多帧的图像数据,所述许多帧可以包含至少一个第一帧和一个第二帧。在一些实施例中,第一帧可以是一个现有帧,第二帧可以是第一帧的一个续帧。也就是说,图像传感器810可以在一个时间点抓取第一帧,并在下一个时间点抓取第二帧。也就是说,所述大量的帧在时间域上可以彼此相邻。
在步骤1504,分析模块310可以将第一帧作为参考帧,将第二帧作为备选帧。
在步骤1506,分析模块310可以确定对应于备选帧中一个或多个第二像素点的参考帧中的一个或多个第一像素点。在一些实施例中,参考帧和备选帧有重叠区域,此时,所述第一像素点和第二像素点可以指参考帧和备选帧的重叠区域中的一个物体的相同位置。在一些实施例中,一个或多个第一像素点可以是图4中所述的一组像素点Ω。在一些实施例中,参考帧和备选帧没有重叠区域,也就是说,参考帧中的任何区域与备选帧中的任何区域都不对应。此时,参考帧和备选帧中的像素点不能被选作为第一像素点和/或第二像素点。
在步骤1508,分析模块310可以确定参考帧和备选帧的深度信息、强度信息和/或位移信息。在一些实施例中,确定深度信息、强度信息和/或位移信息的方法可以参见图4中的描述。
在步骤1510,分析模块310可以确定备选帧是否是最后一帧。具体地,分析模块310可以探测备选帧在时间域上的下一帧是否存在,如果备选帧存在下一帧,则该过程进入步骤1512;否则,该过程进入步骤1514。
在步骤1512,如果备选帧的下一帧被确定是最后一帧,分析模块310可以输出参考帧及参考帧对应的深度和/或位移。
在步骤1514,分析模块310可以确定参考帧和备选帧之间的差值。在一些实施例中,参考帧和备选帧之间的差值可以根据参考帧和备选帧的强度信息确定。在一些实施例中,参考帧的强度可以由一个或多个第一像素点的RGB强度确定,备选帧的强度可以由一个或多个第二像素点的RGB强度确定。在一些实施例中,参考帧和备选帧的强度信息可以通过步骤1504确定。在一些实施例中,参考帧和备选帧的强度信息可以通过步骤1514在确定参考帧和备选帧的差值之前确定。
在步骤1516,分析模块310可以确定参考帧和备选帧之间的差值是否大于一个阈值。如果参考帧和备选帧之间的差值大于该阈值,则该过程进入步骤1518,;否则,该过程进入步骤1520。
在步骤1518,如果参考帧和备选帧之间的差值被确定为大于该阈值,分析模块310可以将备选帧作为更新后的参考帧,将备选帧之后的帧作为更新后的备选帧。在一些实施例中,备选帧之后的帧可以是与备选帧紧密相邻的帧。此时,更新后的参考帧和更新后的备选帧被发送到步骤1506,重复该过程1500。
在步骤1520,如果参考帧和备选帧的差值被确定为不大于该阈值,分析模块310可以指定备选帧之后的帧为更新后的备选帧。此时,更新后的参考帧和更新后的备选帧将被发送到步骤1506,重复该过程1500。
在一些实施例中,步骤1518或步骤1520可以输出一个新的参考帧和一个新的备选帧由分析模块310处理。在一些实施例中,当参考帧与备选帧之间的差值大于一个阈值时,可以通过用备选帧取代参考帧得到新的参考帧。在一些实施例中,可以通过用备选帧的下一帧取代备选帧得到新的备选帧,也就是说,备选帧的取代可以是无条件的,而参考帧的取代是有条件的。
当步骤1512获得地图时,该过程1500终止。在一些实施例中,为了及时终止该过程1500,可以指定一些判定终止的条件。例如,该过程1500中可以使用一个计数器,从而使得过程1500的循环次数不大于一个预设的阈值。
根据本申请的一些实施例,图16是获取参考帧和/或备选帧的深度信息和位移信息的示例性流程图。在一些实施例中,该过程可以由分析模块310完成。在一些实施例中,该过程类似于图4中所述的获取一个帧的位移和深度的方法。
在步骤1610,分析模块310可以从图像传感器810获得的大量帧之中获取一个第一帧和一个第二帧。在一些实施例中,分析模块310可以从图像传感器抓取的大量帧之中选择第一帧和第二帧。在一些实施例中,第一帧和第二帧可以在时间域上彼此相邻,第一帧可以是一个现有帧,第二帧可以是一个续帧。
在步骤1620,分析模块310可以识别第一帧中的与第二帧中一个或多个第二像素点对应的一个或多个第一像素点。相对于第二帧中的像素点,第一帧中的像素点可以使用图15中所述的步骤1506识别。
在步骤1630,分析模块310可以根据所述的一个或多个第一像素点和一个或多个第二像素点获取初始深度。在一些实施例中,初始深度可以设定为零矩阵。在步骤1640,分析模块310可以根据所述的一个或多个第一像素点、一个或多个第二像素点、和/或初始深度确定初始位移。例如,步骤1640可以通过图4中所述的函数(1)实现。
在步骤1650,分析模块310可以根据所述的一个或多个第一像素点、一个或多个第二像素点以及初始位移确定更新后的深度。在一些实施例中,步骤1650可以通过图4中所述的函数(2)实现。
在步骤1660,分析模块310可以根据所述的一个或多个第一像素点、一个或多个第二像素点、和/或更新后的深度确定更新后的位移。在一些实施例中,步骤1660可以通过图4中所述的函数(1)实现,即用初始深度取代更新后的深度。
如图4所述,为了通过函数(1)确定位移,可以首先得到一个初始位移。如函数(1)所示,确定初始位移需要提供位移的初值。根据本申请的一些实施例,图17A是确定位移初值的一个示例性流程图。该过程可以由分析模块310根据图像传感器810获得的图像数据完成。
在步骤1710,图像数据可以由分析模块310获得。在一些实施例中,位移的初值可以根据所述图像数据确定。具体地,位移的初值可以根据所述图像数据中的位移确定。在一些实施例中,图像数据中的位移可以包括在获取两个相邻帧的时间间隔内,运动单元(如,两个轮子)的位移和相机相对于运动单元的位移。
在步骤1720,分析模块310可以基于所述图像数据,获得一个与运动单元关联的第一位移。在一些实施例中,所述与运动单元相关的第一位移可以是一段时间内两个轮子中心的位移。在一些实施例中,所述与运动单元相关的第一位移可以是一段时间内一个点的位移,所述点配置有导航传感器。在一些实施例中,所述导航传感器可以分别位于两个轮子的中心位置。在一些实施例中,所述时间段可以是图像传感器810获取两个帧的时间间隔。
在步骤1730,分析模块310可以获取一个相对于运动单元,与图像传感器810关联的第二位移。在一些实施例中,所述第二位移可以是图像传感器810相对于运动单元的相对位移。在一些实施例中,图像传感器810可以是一个相机。
在步骤1740,分析模块310可以根据第一位移和第二位移确定一个与图像传感器810关联的第三位移。在一些实施例中,第三位移可以是第一位移和第二位移的矢量和。在一些实施例中,第三位移可以是用于确定初始位移的位移初值。
在智能机器人110运动过程中,需要控制云台来获取智能机器人110精确的姿势。在一些实施例中,可以在云台930中通过控制轴的旋转角来控制智能机器人110的姿势。根据本申请的一些实施例,图17B是确定智能机器人110姿势的示例性流程图。该过程可以由分析模块310根据云台930中轴的旋转角完成。
在步骤1715,图像数据可以由分析模块310获取。如图17A所述,图像数据可以包括帧、位移和初始深度。在一些实施例中,图像数据还可以包括旋转信息。
在步骤1725,分析模块310可以获取一个相对于参考轴的第一旋转角。所述第一旋转角可以与基于图像数据的运动单元相关联。在一些实施例中,与运动单元关联的参考轴的第一旋转角可以根据图像数据中的旋转信息获取。在一些实施例中,第一旋转角可以是一段时间内的角度。在一些实施例中,所述时间段是图像传感器810获取两个帧的时间间隔。
在步骤1735,分析模块310可以获取一个在一段时间内相对于运动单元的第二旋转角,所述运动单元与图像传感器相关联。在一些实施例中,第二旋转角可以是图像传感器810相对于运动单元的相对旋转角。在一些实施例中,图像传感器810可以是一个相机。
在步骤1745,分析模块310可以确定一个相对于参考轴的第三旋转角,所述参考轴与图像传感器810相关联。在一些实施例中,第三旋转角可以根据第一旋转角和第二旋转角确定。在一些实施例中,第三旋转角可以是第一旋转角和第二旋转角的矢量和。
在智能机器人110运动过程中,运动模块820和云台930可以配置传感器(组)230来获取信息。在一些实施例中,传感器(组)230可以位于载体1010中,也可以位于云台930支撑的智能手机中。在一些实施例中,运动模块920和云台930要获得精确可靠的信息可能需要全方位的稳定措施。关于如何使运动模块920和云台930相对于水平面保持平衡的方法会在图18的说明中具体介绍。
根据本申请的一些实施例,图18是陀螺仪和加速度计如何确定水平面和Z轴夹角的示例性框图。在一些实施例中,水平面可以是载体1010的搭载面,水平面和Z轴之间的夹角可以根据陀螺仪数据和加速度计数据确定。在一些实施例中,水平面可以是云台930探测云台930俯仰角的相对平面。
如图18所示的系统框图,该系统可以包括加法器1810、积分器1820、组分提取器1830和加法器1840。所述加法器1810、积分器1820、组分提取器1830和加法器1840可以构成一个用于确定输出角的反馈回路。积分器1820可以获取图像传感器810获得的每一帧之中的水平面和Z轴之间的夹角。假定图像传感器810在时间t1时获得第一帧,在时间t2时获得第二帧。那么,在时间t1和t2时,陀螺仪830和加速度计820可以得到角速度和夹角信息。在一些实施例中,与时间t1时获得的第一帧关联的反馈输出角θ1、以及时间t2时获得的陀螺仪数据和加速度计数据可以用于确定与时间t2时获得的第二帧关联的输出角θ2
首先,第一帧的陀螺仪数据和加速度计数据可以在时间t1处理。积分器1820可以生成与第一帧关联的输出角θ1,加速度计820可以生成第一夹角θ1′,加法器1840可以根据输出角θ1和第一夹角θ1′生成第二夹角θ1″。在一些实施例中,第二夹角θ1″可以由输出角θ1和第一夹角θ1′矢量相减得到。组分提取器1830可以基于第二夹角θ1″确定补偿角速度ω1″。在一些实施例中,组分提取器1830可以是差分器。
然后,第二帧的陀螺仪数据和加速度计数据可以在时间t2处理。陀螺仪830可以生成角速度ω2,加法器1810可以根据角速度ω2和补偿角速度ω1″生成修正后的角速度ω2′。在一些实施例中,修正后的角速度ω2′可以由角速度ω2和补偿角速度ω1″矢量相加得到。最后,积分器1820可以基于修正后的角速度ω2′输出在时间t2时与第二帧关联的夹角θ2
在一些实施例中,图18所述的方法可以由处理器210完成。例如,陀螺仪数据和加速度计数据可以通过API接口传输给处理器210(比如,智能手机的一部分)。在获得每一帧时,处理器210都可以确定一个输出角。在一些实施例中,水平面和Z轴的夹角可以在获取每一帧时探测得到。可以根据与每一帧相关联的实时输出角维持系统在水平面上的平衡。
图19是确定与帧关联的角度的流程1900的一个示例性流程图。所述流程1900由处理器210执行。
在步骤1910,处理器210可以获取从图像传感器810传来的包含第一帧和第二帧的多个帧。在一些实施例中,在间隔时刻,所述第一帧和第二帧可以被图像传感器810捕捉。例如,在t1时刻,图像传感器810拍摄第一帧,在t2时刻,图像传感器810拍摄第二帧,t1时刻和t2时刻间的时间可以是图像传感器810的采样间隔。
在步骤1920,处理器210可以获取与第一帧和/或第二帧关联的陀螺仪数据和加速度计数据。在一些实施例中,陀螺仪数据和加速度计数据可以包括参数如角速度和角度。
在步骤1930,根据与第一帧关联的加速度计数据,处理器210可以确定第一角度信息。在一些实施例中,所述第一角度信息可以包括第一角度。
在步骤1940,根据所述第一角度信息和与第一帧关联的角度信息,处理器210可以确定补偿角度信息。在一些实施例中,所述与第一帧关联的角度信息可以是与第一帧关联的输出角。在一些实施例中,可以通过矢量减去与第一帧关联的输出角来处理所述第一角度信息。在一些实施例中,所述补偿角度信息可以是补偿角度速度。根据从第一角度信息减去与第一帧关联的输出角的运算,所述补偿角度速度可以由组分提取器1830确定。
在步骤1950,根据补偿角度信息和与第二帧关联的陀螺仪数据,处理器210可以确定第二角度信息。在一些实施例中,在拍摄第二帧t2时刻,所述第二角度数据可以是由与第二帧关联的处理器210检测到的水平面和Z轴之间的角度。
如图18和19所示,与第二帧关联的输出角度可以被反馈给与第一帧关联的输出角度。采用这种循环形式及陀螺仪数据和加速度计数据,可以通过处理器210获取每一帧的输出角度。在一些实施例中,水平面和Z轴的夹角可能会超出一定阈值,然后,生成一个保持平衡的控制信号。
保持运动模块920或云台930的水平平衡的方法如图18和19所示。在智能机器人110的运动过程中,安装在由云台930夹持的智能手机中的传感器可以获取信息。在一些实施例中,所述信息可以包括图像数据、陀螺仪数据、加速度计数据以及从其他传感器获取的数据。为了智能手机中的第二类型传感器1240稳定地获取信息,需要通过处理器210保持水平平衡。另一方面,对于由云台930支撑的智能手机中的第二类型传感器1240来说,道路可能会不平坦而不能稳定地获取信息。在一些实施例中,智能手机中的传感器想要获取稳定的信息,竖直轴的平衡也是必要的。
图20是在智能手机中调整第二类型传感器1240的竖直位移的示例性方法2000的流程图。在一些实施例中,该方法可以由处理器210执行,根据智能机器人控制模块330产生的控制参数,控制如图11所示的动态Z缓冲杆1120。
在步骤2010,处理器210可以获取马达沿着旋转轴的第一位移。在一些实施例中,旋转轴可以为Z轴,第一位移可以为沿着Z轴的向量。
在步骤2020,处理器210可以确定马达沿着Z轴的位移是否大于一个阈值。在一些实施例中,该阈值可以为一个极限值,在该极限值内第二类型传感器1240能够稳定地获取信息。
在步骤2030,当马达的位移大于一个阈值时,处理器210可以产生第一控制信号以使该马达移动到一个初始位置。在一些实施例中,初始位置可以是一个适合获取信息的预设位置。
在步骤2040,处理器210可以输出第一控制信号给马达,使安装在智能手机中的第二类型传感器1240退回到初始位置以获取稳定的信息。
在步骤2050,当马达的位移不大于一个阈值时,处理器210可以获取沿着旋转轴的第一加速度。在一些实施例中,该加速度可以通过安装在智能手机中的加速度计820获得。
在步骤2060,处理器210可以根据第一加速度产生第二加速度。在一些实施例中,第二加速度可以为第一加速度过滤后的加速度。
在步骤2070,处理器210可以根据第二加速度确定第二位移。在一些实施例中,第二位移可以根据第二加速度的积分值计算得到。在一些实施例中,第二位移可以是沿着Z轴的向量。
在步骤2080,处理器210可以根据第二位移产生第二控制信号以控制马达的移动。在一些实施例中,第二控制信号可以根据第二位移和阈值确定一个位移的剩余间隙(剩余的可活动范围),然后处理器210可以控制智能手机中的传感器沿着Z轴移动。
在步骤2090,传感器210可以输出第二控制信号给马达。
本发明采用了多个实施例进行描述和说明,可以理解的是,对于本领域技术人员来说,可以对其形式和细节等进行多种修改而不脱离本发明的精神和保护范围,正如随附上的权利要求和其等同描述中所明确的那样。

Claims (18)

1.一种系统,包括:
运动模块,所述运动模块包括轮子、载体和第一类型传感器,所述轮子与所述载体连接,提供驱动;
云台,所述云台包括第二类型传感器;
处理器,所述处理器包括分析模块、导航模块和控制模块,
所述处理器被配置为:
分别与所述云台和所述运动模块建立通信;
分别从所述第二类型传感器和所述第一类型传感器中获取信息以确定所述系统的目的地和位置;
根据所述信息构建地图;
根据所述地图为所述系统规划路径;
根据所述路径和所述信息为所述系统确定控制参数;以及
根据所述控制参数控制所述系统的移动和姿态;
进一步包括一个图像传感器,其中所述处理器进一步被配置为:
获取多个由所述图像传感器传来的帧,包含至少第一帧和第二帧;
获取与所述第一帧和/或所述第二帧相关的陀螺仪数据和加速度计数据;
根据与所述第一帧相关的加速度计数据确定第一角度信息;
根据所述第一角度信息和与所述第一帧相关的角度信息确定补偿角度信息;
根据所述补偿角度信息和与所述第二帧相关的陀螺仪数据确定第二角度信息;以及
根据所述第二角度信息,控制所述运动模块或所述图像传感器的平衡。
2.如权利要求1所述的系统,其中所述处理器分别采用应用程序接口与所述云台和/或所述运动模块通信。
3.如权利要求1所述的系统,其中所述处理器进一步被配置为:
获取马达沿着旋转轴的第一竖直位移;
当所述马达的所述第一竖直位移大于一个阈值时,产生第一控制信号以使所述马达移动到一个初始位置;
当所述马达的所述第一竖直位移不大于一个阈值时,获取沿着所述旋转轴的第一加速度;
根据所述第一加速度产生第二加速度;
根据所述第二加速度确定第二竖直位移;以及
根据所述第二竖直位移产生第二控制信号以控制所述马达的移动。
4.如权利要求1所述的系统,其中所述轮子包括一个左轮和一个右轮。
5.如权利要求4所述的系统,其中所述左轮和所述右轮包括至少一个万向轮。
6.如权利要求1所述的系统,其中所述轮子配置有至少一个驱动电机。
7.如权利要求6所述的系统,其中所述轮子与所述至少一个驱动电机之间通过轴毂或枢轴连接。
8.如权利要求1所述的系统,其中所述云台包含第一转轴、第二转轴和第三转轴,其中:
所述第一转轴控制围绕水平面内第一个轴的转动;
所述第二转轴控制围绕水平面内第二个轴的转动;并且
所述第三转轴控制围绕垂直于水平面的一个竖直轴的转动。
9.如权利要求8所述的系统,其中所述云台进一步包含一个缓冲杆,被配置为保持所述云台在所述竖直轴的稳定性。
10.一种方法,包括:
在处理器和云台之间、处理器和运动模块之间建立通信,所述运动模块包括第一类型传感器,所述云台包括第二类型传感器;
通过所述处理器分别从所述第二类型传感器和所述第一类型传感器获取信息;
通过所述处理器确定智能机器人的目的地和位置;
通过所述处理器,根据所述信息构建地图;
通过所述处理器,根据所述地图规划从智能机器人的所述位置到所述目的地的路径;
根据所述路径和所述信息确定所述运动模块和所述云台的控制参数;以及
根据所述控制参数控制智能机器人的移动和姿态;
所述方法进一步包括:
获取多个由一个图像传感器传来的帧,包含至少第一帧和第二帧;
获取与所述第一帧和/或所述第二帧相关的陀螺仪数据和加速度计数据;
根据与所述第一帧相关的加速度计数据确定第一角度信息;
根据所述第一角度信息和与所述第一帧相关的角度信息确定补偿角度信息;
根据所述补偿角度信息和与所述第二帧相关的陀螺仪数据确定第二角度信息;以及
根据所述第二角度信息,控制所述运动模块或所述图像传感器的平衡。
11.如权利要求10所述的方法,其中所述处理器分别采用应用程序接口与所述云台和/或所述运动模块通信。
12.如权利要求10所述的方法,进一步包括:
获取马达沿着旋转轴的第一竖直位移;
当所述马达的所述第一竖直位移大于一个阈值时,产生第一控制信号以使所述马达移动到一个初始位置;
当所述马达的所述第一竖直位移不大于一个阈值时,获取沿着所述旋转轴的第一加速度;
根据所述第一加速度产生第二加速度;
根据所述第二加速度确定第二竖直位移;以及
根据所述第二竖直位移产生第二控制信号以控制所述马达的移动。
13.如权利要求10所述的方法,其中所述运动模块包括轮子,所述轮子包括一个左轮和一个右轮。
14.如权利要求13所述的方法,其中所述左轮和所述右轮包括至少一个万向轮。
15.如权利要求13所述的方法,其中所述轮子配置有至少一个驱动电机。
16.如权利要求15所述的方法,其中所述轮子与所述至少一个驱动电机之间通过轴毂或枢轴连接。
17.如权利要求10所述的方法,其中所述云台包含第一转轴、第二转轴和第三转轴,其中:
所述第一转轴控制围绕水平面内第一个轴的转动;
所述第二转轴控制围绕水平面内第二个轴的转动;并且
所述第三转轴控制围绕一个竖直轴的转动。
18.如权利要求17所述的方法,其中所述云台进一步包含一个缓冲杆,被配置为保持所述云台在所述竖直轴的稳定性。
CN201780077308.8A 2017-01-22 2017-01-22 一种智能轮椅的机械传动控制方法与系统 Active CN110072501B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/072103 WO2018133076A1 (zh) 2017-01-22 2017-01-22 一种智能轮椅的机械传动控制方法与系统

Publications (2)

Publication Number Publication Date
CN110072501A CN110072501A (zh) 2019-07-30
CN110072501B true CN110072501B (zh) 2021-07-09

Family

ID=62907641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780077308.8A Active CN110072501B (zh) 2017-01-22 2017-01-22 一种智能轮椅的机械传动控制方法与系统

Country Status (3)

Country Link
US (1) US11314256B2 (zh)
CN (1) CN110072501B (zh)
WO (1) WO2018133076A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119152A (zh) * 2019-06-15 2019-08-13 大连亿斯德环境科技有限公司 一种多功能智能轮椅控制系统及相应的控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102188311A (zh) * 2010-12-09 2011-09-21 南昌大学 一种嵌入式智能轮椅视觉导航控制系统及方法
CN105325050A (zh) * 2014-05-29 2016-02-10 华为技术有限公司 一种网络节点间链路的处理装置及方法
CN105411490A (zh) * 2015-10-26 2016-03-23 曾彦平 移动机器人的实时定位方法及移动机器人
CN105681747A (zh) * 2015-12-10 2016-06-15 北京理工大学 一种远程呈现交互操作轮椅

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004321722A (ja) 2003-04-22 2004-11-18 Mizukoshi Keiki Kk 電動車椅子
AU2006306523B2 (en) * 2005-10-21 2011-05-19 Deere & Company Systems and methods for switching between autonomous and manual operation of a vehicle
CN101190158B (zh) * 2006-11-29 2010-12-01 上海电气集团股份有限公司 智能轮椅
US9858712B2 (en) * 2007-04-09 2018-01-02 Sam Stathis System and method capable of navigating and/or mapping any multi-dimensional space
US8577595B2 (en) * 2008-07-17 2013-11-05 Memsic, Inc. Location and path-map generation data acquisition and analysis systems
CN102323819B (zh) 2011-07-26 2013-06-19 重庆邮电大学 一种基于协调控制的智能轮椅室外导航方法
CN102631265B (zh) 2012-05-11 2014-06-18 重庆大学 一种智能轮椅的嵌入式控制系统
CN105203094B (zh) 2015-09-10 2019-03-08 联想(北京)有限公司 构建地图的方法和设备
CN105652870A (zh) 2016-01-19 2016-06-08 中国人民解放军国防科学技术大学 一种智能安保服务机器人自主巡逻控制系统及自主巡逻控制方法
CN106289285A (zh) 2016-08-20 2017-01-04 南京理工大学 一种关联场景的机器人侦察地图及构建方法
CN109982557B (zh) * 2016-08-29 2022-06-21 克劳克农场服务公司 机器人农业系统和方法
CN106334283A (zh) * 2016-10-10 2017-01-18 南京工程学院 一种灭火救援机器人系统及控制方法
CN106338996B (zh) 2016-10-20 2019-05-31 上海物景智能科技有限公司 一种移动机器人安全控制的方法及系统
US20210129345A1 (en) * 2017-01-22 2021-05-06 Sichuan Golden Ridge Intelligence Science & Technology Co., Ltd. Intelligent wheerchair system having medical monitoring and response function

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102188311A (zh) * 2010-12-09 2011-09-21 南昌大学 一种嵌入式智能轮椅视觉导航控制系统及方法
CN105325050A (zh) * 2014-05-29 2016-02-10 华为技术有限公司 一种网络节点间链路的处理装置及方法
CN105411490A (zh) * 2015-10-26 2016-03-23 曾彦平 移动机器人的实时定位方法及移动机器人
CN105681747A (zh) * 2015-12-10 2016-06-15 北京理工大学 一种远程呈现交互操作轮椅

Also Published As

Publication number Publication date
CN110072501A (zh) 2019-07-30
US11314256B2 (en) 2022-04-26
US20190391584A1 (en) 2019-12-26
WO2018133076A1 (zh) 2018-07-26

Similar Documents

Publication Publication Date Title
CN110225736B (zh) 一种智能轮椅的环境信息收集与反馈系统及方法
US11503428B2 (en) Systems and methods for co-localization of multiple devices
CN104714555B (zh) 一种基于边缘的三维自主探索方法
CN109906069B (zh) 一种具有医疗监测及反应功能的智能轮椅系统
KR101319525B1 (ko) 이동 로봇을 이용하여 목표물의 위치 정보를 제공하기 위한 시스템
CN111220148A (zh) 移动机器人的定位方法、系统、装置及移动机器人
WO2019221800A1 (en) System and method for spatially registering multiple augmented reality devices
WO2019183789A1 (zh) 无人机的控制方法、装置和无人机
CN110730934A (zh) 轨迹切换的方法和装置
KR101319526B1 (ko) 이동 로봇을 이용하여 목표물의 위치 정보를 제공하기 위한 방법
CN110072501B (zh) 一种智能轮椅的机械传动控制方法与系统
US11294379B2 (en) Systems and methods for controlling intelligent wheelchair
von Stumberg et al. Autonomous exploration with a low-cost quadrocopter using semi-dense monocular slam
WO2018133074A1 (zh) 一种基于大数据及人工智能的智能轮椅系统
WO2021210492A1 (ja) 情報処理装置、情報処理方法、およびプログラム
Li et al. A homography-based visual inertial fusion method for robust sensing of a Micro Aerial Vehicle
CN116423515B (zh) 一种多机器人的数字孪生控制系统及其定位与建图的方法
Jordan Visual Odometry and Traversability Analysis for Wheeled Robots in Complex Environments
Gohl et al. Vision-based Localization for a Swarm of Ground Mini-Robots with Relative and Absolute Measurements
Gariepy Quadrotor Position Estimation using Low Quality Images
Gomez‐Balderas et al. Quadrotor Vision‐Based Control
Browarnik Computer vision based flight control for the pole racing competition
Adachi et al. Self-Location Estimation of a Moving Camera Using the Map of Feature Points and Edges of Environment

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A mechanical transmission control method and system for intelligent wheelchair

Effective date of registration: 20220610

Granted publication date: 20210709

Pledgee: Industrial Bank Limited by Share Ltd. Chengdu branch

Pledgor: SICHUAN GOLDEN RIDGE INTELLIGENCE SCIENCE & TECHNOLOGY Co.,Ltd.

Registration number: Y2022510000162

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20231102

Granted publication date: 20210709

Pledgee: Industrial Bank Limited by Share Ltd. Chengdu branch

Pledgor: SICHUAN GOLDEN RIDGE INTELLIGENCE SCIENCE & TECHNOLOGY Co.,Ltd.

Registration number: Y2022510000162