基于机器人的拍照方法、机器人及计算机可读存储介质
技术领域
本发明属于机器人技术领域,尤其涉及基于机器人的拍照方法、机器人及计算机可读存储介质。
背景技术
机器人在目前的科学技术发展和人类生活中已经有了很广泛的应用。它既可以接受人类指挥,又可以运行预先编排的程序,还可以根据以人工智能技术制定的原则纲领行动。通过机器人可以采集图像、视频等环境信息,尤其是在目标环境比较恶劣或者危险的情况下,通过机器人采集环境信息,并将该信息通过网络传输至接收装置,可以高效地提高数据采集和效率和安全性。
现有技术中通过在机器人上安装摄像装置来获取外界物体的图像信息,但现有技术中只是通过该摄像装置定点的获取外界物体某一部分的信息,并不能全面的获取到外界环境中的某个物体的信息,因此不能保证所获取的信息的全面性。
发明内容
有鉴于此,本发明实施例提供了一种基于机器人的拍照方法、机器人及计算机可读存储介质,以解决现有技术中不能全面的获取到外界环境中的某个物体的信息,因此不能保证所获取的信息的全面性。
本发明实施例的第一方面提供了一种基于机器人的拍照方法,包括:
获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度;
根据所述待拍摄目标信息进行绕圆转动,并获取所述机器人自身基于所述初始位置的实时转动角度;
若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
本发明实施例的第二方面提供了一种机器人,包括:
信息获取单元,用于获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度;
绕圆转动单元,用于根据所述待拍摄目标信息进行绕圆转动,并获取所述机器人自身基于所述初始位置的实时转动角度;
拍照单元,用于若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
本发明实施例的第三方面提供了一种机器人,包括:处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持装置执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本发明实施例与现有技术相比存在的有益效果是:通过获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度,根据待拍摄目标信息进行绕圆转动,并获取机器人自身基于初始位置的实时转动角度,若实时转动角度与期望拍照角度相等,则进行拍照。通过控制机器人根据待拍摄目标进行绕圆转动并获取机器人转动过程中的实时转动角度,以在实时转动角度与期望拍照角度相等时进行拍照,全面、精确地获取待拍摄目标不同角度的信息,提高所获取信息的精确性和完整性,为真实还原该待拍摄目标的原型提供完整的图像数据基础。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于机器人的拍照方法的流程图;
图2是本发明另一实施例提供的一种基于机器人的拍照方法的流程图;
图3是本发明实施例提供的机器人的示意图;
图4是本发明另一实施例提供的机器人的示意图;
图5是本发明实施例提供的机器人的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参见图1,图1是本发明实施例提供的一种基于机器人的拍照方法的示意流程图。本实施例中基于机器人的拍照方法的执行主体为机器人。图1所示的基于机器人的拍照方法可以包括以下步骤:
S101:获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度。
机器人在目前的科学技术发展和人类生活中已经有了很广泛的应用,通过机器人采集图像、视频等环境信息被广泛的应用在虚拟现实领域、智慧城市领域或者监控领域等。尤其是在目标环境比较恶劣或者危险的情况下,通过机器人采集环境信息,并将该信息通过网络传输至接收装置,提高了数据采集和效率和安全性。
在虚拟现实(Virtual Reality,VR)领域中,通过机器人实时采集环境图像、视频等数据,将这些数据传输至终端或者服务器,再由服务器根据这些数据进行数字图像的拼接、融合或者恢复等处理,将采集到的零碎数据整合成一个整体的图像或模型,以还原所采集数据对象的原型。进一步的,通过机器人采集数量更多、分辨率更高的图像信息,将拍摄对象的原型还原为3D模型,用以在对该模型进行仿真等处理。例如,将该模型用于VR游戏中,向游戏玩家提供更加真实的游戏场景,提供更高的用户体验;或者通过采集一个建筑物的图像信息,还原该建筑物的真实3D模型,用以对该建筑物各个出口进行安保、人员疏散、楼盘装饰等模拟策划安排。
在机器人根据目标进行绕圆拍照之前,先获取待拍摄目标的信息。其中,待拍摄目标可以为一个建筑物,例如一栋大楼;也可以为一个位于室内的物体或人,例如盆栽、座位等,此处不做限定。
待拍摄目标的信息包括待拍摄目标的位置信息、占地面积信息或者形状等信息。其中,待拍摄目标位置信息可以为待拍摄目标的经纬度信息,也可以为待拍摄目标相对于所处环境中其他参照物的位置,还可以为通过激光发射器等设备向某个目标点发射激光,机器人识别该激光的位置为待拍摄目标的位置信息。待拍摄目标的占地面积信息为待拍摄目标为一个相对较大的物体时,例如建筑物,通过获取该建筑物的占地面积信息,作为确定机器人在围绕该建筑物绕圆时的绕圆半径参考信息。
进一步的,对于形状不规整的待拍摄目标,需要获取该待拍摄目标的形状信息或者底面的形状信息,以给机器人围绕该待拍摄目标进行绕圆拍照时做以运动参考,控制该机器人根据待拍摄目标的形状进行运动。
需要说明的是,待拍摄目标信息为用户根据自身的需求、外界环境的影响或者机器人自身的设备参数进行获取,用于对之后机器人围绕待拍摄目标绕圆拍照进行运动控制参考,此处对待拍摄目标信息的类型不做限制。
在获取到待拍摄目标信息之后,还应获取机器人的初始位置,并获取基于该初始位置的至少两个期望拍照角度。期望拍照角度为机器人围绕待拍摄目标进行绕圈运动到该期望拍照角度时,针对该待拍摄目标进行拍照。其中,期望拍照角度可以为两个或者两个以上,此处不做限定。
期望拍照角度也可以是用户根据自身的需求、外界环境的特点或者机器人自身的设备参数进行自行的设定,此处不做限定。
进一步的,期望拍照角度也可以为具有不同优先级或者权重的多个角度,通过设定多个具有不同优先级的期望拍照角度,使机器人在转动到优先级较高的期望拍照角度时,拍摄多张照片,或者获取较高分辨率的照片,而在转动到优先级较低的期望拍照角度时,拍摄一张照片,或者获取较低分辨率的照片。通过这种分级别的期望拍照角度获取照片,可以更加人性化、多角度、有重点地突出待拍摄目标的重点信息,并能在保证图像质量的情况下,降低图像数据占机器人的存储空间比例,并提高获取图像数据之后传输该图像数据的传输效率。
S102:根据所述待拍摄目标信息进行绕圆转动,并获取所述机器人自身基于所述初始位置的实时转动角度。
在机器人获取到待拍摄目标信息以及基于初始位置的至少两个期望拍照角度之后,并根据这些数据进行绕圆拍照之前,机器人的状态可以是静止的,也可以是以其他方式进行运动的。在机器人获取到用户通过控制端发送给机器人的绕圆拍照触发指令时,机器人开始根据待拍摄目标信息进行绕圆转动。
其中,控制端可以为具有通信传输功能的设备或者装置,且机器人可以识别该控制端所传输的指令。示例性的,控制端可以为手机、平板电脑、计算机,也可以为服务器。
可选的,用户也可以在机器人中设定需要进行绕圆拍照的时刻,例如,设定该机器人需要在一天中的6:00、12:00、18:00以及24:00围绕某个物体进行绕圆拍照,以一天内的固定时刻获取待拍摄目标的变化参数,实现对该待拍摄目标的监控。当机器人在开启状态,并且识别到当前时刻为设定拍照的时刻时,便开始围绕该待拍摄目标进行绕圆转动。
机器人根据待拍摄目标进行转动时,是以该待拍摄目标的中心为绕圆圆心,其绕圆半径和绕圆速度可以为用户根据自身的需求、待拍摄目标的特点或者机器人自身的设备参数进行设定。
在机器人根据待拍摄目标进行转动的同时,通过获取机器人自身基于初始位置的实时转动角度,来确定机器人在转动过程中的位置。
可选的,在获取机器人的实时转动角度时,若机器人是以固定的角速度进行匀速转动,通过设置于机器人上的计时器,从机器人开始转动时计时,获取当前转动时间。再用当前转动时间乘以角速度,即可得到机器人的实时转动角度。通过这种方式,可以在确定机器人匀速转动的前提下,较快且精确地获取到机器人的实时转动角度。
S103:若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
在获取到实时转动角度之后,将该实时转动角度与期望拍照角度进行对比。若实时转动角度与期望拍照角度相等,则说明机器人当前所处的位置为需要拍照的位置,机器人对该待拍摄目标进行拍照。
可选的,在获取机器人的实时转动角度时,若机器人是以角速度a进行匀速转动,则可以通过期望拍照角度除以角速度,获取到机器人到达该期望拍照角度的时间。再通过设置于机器人上的计时器,从机器人开始转动时计时,若机器人当前已转动的时间与计算出的机器人到达该期望拍照角度的时间相等,即机器人的实时转动角度与期望拍照角度相等,则说明机器人当前已经到达该期望拍照角度,在此刻进行拍照。
进一步的,若用户在之前根据自己的需求设置了期望拍照角度和对应的优先级,则根据设置的期望拍照角度及其对应的优先级,对待拍摄目标进行拍照,其中,根据用户的设置,可以拍一张或多张,用高像素镜头拍或较低像素镜头拍,或者根据不同的期望拍照角度转换相机镜头的焦距长短、光圈大小等参数。通过这种根据期望拍照角度确定拍照形式的方法,可以更加贴切的满足用户的需求,并根据待拍摄目标的特点或重点着重进行图像数据的采集,保证了待拍摄目标信息采集的精确性。
上述方案,通过获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度,根据待拍摄目标信息进行绕圆转动,并获取机器人自身基于初始位置的实时转动角度,若实时转动角度与期望拍照角度相等,则进行拍照。通过控制机器人根据待拍摄目标进行绕圆转动并获取机器人转动过程中的实时转动角度,以在实时转动角度与期望拍照角度相等时进行拍照,全面、精确地获取待拍摄目标不同角度的信息,提高所获取信息的精确性和完整性,为真实还原该待拍摄目标的原型提供完整的图像数据基础。
参见图2,图2是本发明另一实施例提供的一种基于机器人的拍照方法的流程图。本实施例中基于机器人的拍照方法的执行主体为机器人。图2所示的基于机器人的拍照方法可以包括以下步骤:
S201:获取待拍摄目标信息、所述机器人转动之前的初始位置信息以及照片需求数目。
获取机器人需要拍摄的待拍摄目标信息,其中待拍摄目标信息包括待拍摄目标的位置信息。通过获取待拍摄目标的位置信息以使机器人根据该目标信息进行绕圆拍照。获取机器人在转动之前的初始位置信息,用以根据该初始位置信息确定机器人当前的实时转动角度。
同时,还需要获取的是照片需求数目,用以确定机器人在转动过程中拍照的期望拍照角度。其中照片需求数目可以是用户根据当前机器人的运行状况或者用户需求实时发送给机器人的一个数字,且该数字大于或者等于2,例如3、6或7等,机器人在获取到这些数字之后,将这些数字识别为照片需求数目,即需要3、6或7张照片。
进一步的,用户也可以根据自身的需求、外界环境的影响或者机器人自身的设备参数提前将照片需求数目设置在机器人中。这种提前设定照片需求数目的方式适合用于待拍摄目标固定的情况下,在机器人获取到固定的待拍摄目标信息、固定的照片需求数目之后,便可以根据用户的设定自行控制,针对待拍摄目标获取图像信息。通过这种方式,可以减少控制机器人获取照片信息的步骤,提高获取照片信息的效率。也可以将相同的设置方式用在其他机器人中,用于具有该功能的机器人的统一制造、生产或操控,提升本方法的市场利用率。
S202:根据所述待拍摄目标信息、所述初始位置信息和所述照片需求数目确定所述至少两个期望拍照角度。
在获取到待拍摄目标信息、机器人转动之前的初始位置信息以及照片需求数目之后,根据这些信息确定所述至少两个期望拍照角度。期望拍照角度用于控制机器人围绕待拍摄目标进行绕圈运动到该期望拍照角度时,针对该待拍摄目标进行拍照。具体包括:
根据所述照片需求数目确定所述机器人相邻两次拍照时的实时转动角度差值;
根据所述实时转动角度差值、所述待拍摄目标信息以及所述初始位置信息确定所述至少两个期望拍照角度。
首先,假设照片需求数目为n,则说明机器人需要拍照的次数为n次,期望拍照角度的个数为n个。通过360/n确定机器人相邻两次拍照时的实时转动角度差值,即机器人在相邻两次拍照时的间隔角度。根据实时转动角度差值、待拍摄目标的位置以及所述初始位置信息确定至少两个期望拍照角度。期望拍照角度用于控制机器人围绕待拍摄目标进行绕圈运动到该期望拍照角度时,针对该待拍摄目标进行拍照。
示例性的,当机器人接收到用户发送的照片需求数目为5时,则说明机器人需要拍照的次数为5次,期望拍照角度的个数为5个。通过360/5=72度,为机器人相邻两次拍照时的实时转动角度差值,即机器人在相邻两次拍照时的间隔角度。以待拍摄目标的位置为转动角度的角点,即机器人转动的圆心,以初始位置到圆心的连线为转动角度的一边,以机器人当前位置到圆心的角度为转动角度的另一条边,以初始位置为机器人转动的起点,按照顺时针的方向,期望拍照角度为5个,分别为72度、148度、216度、288度以及360度。
进一步的,设定不同期望角度对应拍摄不同的照片张数,以使机器人在同一位置拍摄2张或多张的照片。例如,在上述示例中,还可以设定机器人在72度和216度时连续拍摄两张照片;在148度和360度时,只拍摄一张照片;而在216度时连续拍摄3张照片。通过这种不同角度对应设置不同拍照张数的方式,以控制机器人针对拍摄目标的重要方向、位置或者角度多拍摄几张照片,进而采集到较多的图像信息,能更加清楚的获取到拍摄目标较重要的信息。
通过这种根据照片需求数目确定期望拍照角度的方式,可以使机器人根据获取到的用户实时发送的照片需求数目进行拍照,提高了用户对机器人的控制力,使机器人可以灵活的根据用户的指令拍照。
S203:根据所述待拍摄目标的信息,以所述待拍摄目标为圆心、所述机器人自身至所述拍摄目标的距离为半径并以预设速度进行绕圆转动。
机器人以待拍摄目标的中心为绕圆圆心、以机器人自身至拍摄目标的距离为绕圆半径、以预设速度进行绕圆转动。
进一步的,若机器人转动的环境为外界环境,将受到较大的干扰因素。因此在这种情况下,机器人需要实时的获取并识别转动时前方是否有障碍物,并进行适当的减速、刹车等操作;或者在用户需要捕捉某个图像,或者用户想要尽快获取到图像信息的情况下,需要进行适当加速。这里机器人的速度受自身控制或者受用户的控制。通过这种方式,可以增强机器人的控制力,使其灵活的获取图像信息,并能较大的满足用户需求。
S204:根据设置于所述机器人上的传感器采集到的数据和所述初始位置信息,并确定所述机器人自身基于所述初始位置的实时转动角度。
在机器人进行绕圆运动的过程中,尤其在机器人的速度受自身控制或者受用户的控制的情况下,机器人的转动速度是变化的且没有任何规律。因此,需要通过设置于机器人上的传感器采集机器人实时的运行数据。其中,运行数据可以为机器人的转动角速度,传感器可以为具有检测机器人转动角速度的装置,例如陀螺仪、转速计等装置。
示例性的,通过获取机器人在前一时刻的实时转动角度为α,以及陀螺仪测量得到当前角速度为ω。根据第一角度和角速度,通过以下公式计算得到机器人当前基于初始位置的实时转动角度为:
β=α+ω*dt;
其中,β表示当前基于初始位置的实时转动角度,α表示前一时刻的实时转动角度,ω表示当前角速度,dt表示实时转动角度对时间t的微分。在计算出当前基于初始位置的实时转动角度β之后,这里的β又会用于计算下一时刻的实时转动角度。通过陀螺仪获取机器人实时转动角度计算机器人的实时转动角度的方式,可以更精确地确定机器人当前的实时转动角度,尤其是机器人在变速度转动的情况下,通过陀螺仪可以精确的获得机器人的实时转动角速度,进而计算得到实时转动角度。
其中,传感器采集到的数据包括所述机器人转动时的实时角速度,根据设置于所述机器人上的传感器采集到的数据和所述初始位置信息,并确定所述机器人自身基于所述初始位置的实时转动角度,还包括:
若实时转动角度为360度,则将实时角速度归零。
测量角速度的陀螺仪有多个误差贡献因素,偏置不稳定性是其中之一。然而,与提供增强性能的分立器件相比,陀螺仪中的惯性测量单元(Inertial Measurement Unit,IMU)具有多方面优势。示例性的,六自由度IMU由多个惯性传感器组成,这些传感器经过温度补偿和校准,对齐在正交轴上。内置三轴陀螺仪测量绕一个已知点的旋转,而三轴加速度计测量位移。后处理步骤利用数字信号处理器或微控制器执行,从而在内部实现传感器融合。
由于陀螺仪中的器件固有的不足和噪声,陀螺仪的初始零点读数会随时间漂移,陀螺仪会受偏置不稳定性影响。偏置可重复性可以在IMU的已知温度范围内进行校准。然而,恒定偏置不稳定性的积分会引起角度误差。此类误差会随着陀螺仪旋转或角度估计的长期漂移而累积。漂移的不良后果是航向计算的误差会持续增加而不减退。
由于3D建模需要物体360度不同角度拍摄的物体照片作为模型训练集,该场景下需要机器人绕物体不同角度拍摄。陀螺仪具有高动态特性,它是一个间接测量角度的器件。它测量的是角度的导数,即角速度,要将角速度对时间积分才能得到角度。对陀螺仪角速度的积分是离散的,长时间的积分会出现漂移的情况。因此优化的方法为机器人每转一圈对陀螺仪角速度数据进行归零处理。这样机器人转一圈的时间相对较小,角度在新的一圈重新被计算,角速度对时间的积分漂移不会继续累加。
陀螺仪实施零角速度更新可以消除机器人在转动过程中使陀螺仪产生的漂移,在本方案中,在检测到机器人的实时转动角度为360度时,将该陀螺仪检测到的实时角速度进行归零调整。通过这种角速度归零的方式可以长期有效的消除机器人在转动过程中使陀螺仪产生的漂移情况,使陀螺仪能精确地测量机器人的实时转动角度。
可选的,还有一种传感器融合方法,即通过互补滤波算法作为其它场景的备选方法。由于加速度加磁力计计算的角度噪声较大,而陀螺仪计算的角度相对准确但是存在漂移,因此为了避免陀螺漂移和噪声的影响,陀螺仪输出仅适用于短时间间隔的方向变化,而磁力计或加速度计数据则作为长时间的支持信息。即加速度计和磁场传感器信号的低通滤波和陀螺仪信号的高通滤波。整体传感器融合公式为:fusedOrientation=(1-factor)*gyroscope+factor*accmag;其中,fusedOrientation为融合结果,factor为滤波系数常量,这里取0.02f,gyroscope为陀螺仪数据,accmag为加速度计和磁力计数据。
进一步的,若所述实时转动角度为360度,则将所述实时角速度归零之后,还包括:
若接收到停止拍照指令,则停止转动;
若未接收到停止拍照指令,则执行所述若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
在机器人转动360度之后,机器人已经获取到了拍摄目标一周的图像信息。若用户不再需要更多的照片信息,则发送停止拍照指令给机器人,机器人接收到该指令之后停止转动;若用户依旧需要机器人继续拍照,则不发送停止拍照指令,机器人执行所述若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
S205:若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
在获取到实时转动角度之后,将该实时转动角度与期望拍照角度进行对比。若实时转动角度与期望拍照角度相等,则说明机器人当前所处的位置为需要拍照的位置,机器人对该待拍摄目标进行拍照。
进一步的,在机器人拍照之后,可以对当前拍摄的照片进行编号,或者将编号作为当前照片的文件名。同时,将该照片存储至机器人自身的存储介质中。也可以在拍摄得到照片之后将照片传输给控制端的手机或者服务器,其传输时间可以为在获取到一张照片之后立即传输;也可以在机器人围绕待拍摄目标转动一周之后,将获取到的一组照片同时发送给控制端的手机或者服务器;还可以在用户控制机器人停止转动之后,将获取到的全部照片发送至控制端的手机或者服务器。通过这种传输方式,可以使用户根据自身的需求,更快的获取到拍摄目标的图像信息,提高了图像获取的效率。
用户在获取到这些照片之后,对获取到的照片进行图像拼接、融合、恢复等处理,或者将得到的一组物体360度不同角度的照片集用于后面的3D建模或展示。
上述方案,通过获取待拍摄目标信息、机器人转动之前的初始位置信息以及照片需求数目,并根据待拍摄目标信息、初始位置信息和照片需求数目确定至少两个期望拍照角度。以待拍摄目标为圆心、机器人自身至拍摄目标的距离为半径进行绕圆转动;根据设置于机器人上的传感器采集到的数据和初始位置信息,确定获取机器人自身基于初始位置的实时转动角度,并在检测到机器人转完一周之后对传感器的进行零角速度更新,保证确定机器人实时转动角度的精确性。最后在实时转动角度与期望拍照角度相等时进行拍照,全面、精确地获取待拍摄目标360度不同角度的信息,提高所获取信息的精确性和完整性。
参见图3,图3是本发明实施例提供的机器人的示意图。本实施例的终端300包括的各单元用于执行图1对应的实施例中的各步骤,具体请参阅图1及图1对应的实施例中的相关描述,此处不赘述。本实施例的终端300包括信息获取单元301、绕圆转动单元302及拍照单元303。
信息获取单元301,用于获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度;
绕圆转动单元302,用于根据所述待拍摄目标信息进行绕圆转动,并获取所述机器人自身基于所述初始位置的实时转动角度;
拍照单元303,用于若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
上述方案,通过获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度,根据待拍摄目标信息进行绕圆转动,并获取机器人自身基于初始位置的实时转动角度,若实时转动角度与期望拍照角度相等,则进行拍照。通过控制机器人根据待拍摄目标进行绕圆转动并获取机器人转动过程中的实时转动角度,以在实时转动角度与期望拍照角度相等时进行拍照,全面、精确地获取待拍摄目标不同角度的信息,提高所获取信息的精确性和完整性,为真实还原该待拍摄目标的原型提供完整的图像数据基础。
参见图4,图4是本发明实施例提供的机器人的示意图。本实施例的终端400包括的各单元用于执行图2对应的实施例中的各步骤,具体请参阅图2及图2对应的实施例中的相关描述,此处不赘述。本实施例的终端400包括目标获取单元401、期望角度确定单元402、绕圆转动单元403、实时角度确定单元404及图像获取单元405。
目标获取单元401,用于获取待拍摄目标信息、所述机器人转动之前的初始位置信息以及照片需求数目;
期望角度确定单元402,用于根据所述待拍摄目标信息、所述初始位置信息和所述照片需求数目确定所述至少两个期望拍照角度。
具体的,期望角度确定单元402还包括角度差值确定单元和期望角度确定单元。
角度差值确定单元用于根据所述照片需求数目确定所述机器人相邻两次拍照时的实时转动角度差值;
期望角度确定单元用于根据所述实时转动角度差值、所述待拍摄目标信息以及所述初始位置信息确定所述至少两个期望拍照角度。
绕圆转动单元403,用于根据所述待拍摄目标的信息,以所述待拍摄目标为圆心、所述机器人自身至所述拍摄目标的距离为半径并以预设速度进行绕圆转动;
实时角度确定单元404,用于根据设置于所述机器人上的传感器采集到的数据和所述初始位置信息,并确定所述机器人自身基于所述初始位置的实时转动角度。
具体的,实时角度确定单元404还包括角速度归零单元、停止转动单元及继续转动单元。
角速度归零单元用于若所述实时转动角度为360度,则将所述实时角速度归零。
停止转动单元若接收到停止拍照指令,则停止转动;
继续转动单元若未接收到停止拍照指令,则执行所述若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
图像获取单元405,用于若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
上述方案,通过获取待拍摄目标信息、机器人转动之前的初始位置信息以及照片需求数目,并根据待拍摄目标信息、初始位置信息和照片需求数目确定至少两个期望拍照角度。以待拍摄目标为圆心、机器人自身至拍摄目标的距离为半径进行绕圆转动;根据设置于机器人上的传感器采集到的数据和初始位置信息,确定获取机器人自身基于初始位置的实时转动角度,并在检测到机器人转完一周之后对传感器的进行零角速度更新,保证确定机器人实时转动角度的精确性。最后在实时转动角度与期望拍照角度相等时进行拍照,全面、精确地获取待拍摄目标360度不同角度的信息,提高所获取信息的精确性和完整性。
参见图5,图5是本发明再一实施例提供的一种机器人的示意图。如图5所示的本实施例中的机器人500可以包括:处理器501、存储器502以及存储在存储器502中并可在处理器501上运行的计算机程序503。处理器501执行计算机程序503时实现上述各个用于基于机器人的拍照方法实施例中的步骤。存储器502用于存储计算机程序,所述计算机程序包括程序指令。处理器501用于执行存储器502存储的程序指令。其中,处理器501被配置用于调用所述程序指令执行以下操作:
处理器501用于获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度;
处理器501还用于根据所述待拍摄目标信息进行绕圆转动,并获取所述机器人自身基于所述初始位置的实时转动角度;
处理器501还用于若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
处理器501具体用于获取待拍摄目标信息、所述机器人转动之前的初始位置信息以及照片需求数目;
处理器501具体用于根据所述待拍摄目标信息、所述初始位置信息和所述照片需求数目确定所述至少两个期望拍照角度。
处理器501具体用于根据所述照片需求数目确定所述机器人相邻两次拍照时的实时转动角度差值;
处理器501具体用于根据所述实时转动角度差值、所述待拍摄目标信息以及所述初始位置信息确定所述至少两个期望拍照角度。
处理器501具体用于根据所述待拍摄目标的信息,以所述待拍摄目标为圆心、所述机器人自身至所述拍摄目标的距离为半径并以预设速度进行绕圆转动;
处理器501具体用于根据设置于所述机器人上的传感器采集到的数据和所述初始位置信息,并确定所述机器人自身基于所述初始位置的实时转动角度。
处理器501具体用于若所述实时转动角度为360度,则将所述实时角速度归零。
处理器501具体用于若接收到停止拍照指令,则停止转动;
处理器501具体用于若未接收到停止拍照指令,则执行所述若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
上述方案,通过获取待拍摄目标信息、机器人转动之前的初始位置信息以及照片需求数目,并根据待拍摄目标信息、初始位置信息和照片需求数目确定至少两个期望拍照角度。以待拍摄目标为圆心、机器人自身至拍摄目标的距离为半径进行绕圆转动;根据设置于机器人上的传感器采集到的数据和初始位置信息,确定获取机器人自身基于初始位置的实时转动角度,并在检测到机器人转完一周之后对传感器的进行零角速度更新,保证确定机器人实时转动角度的精确性。最后在实时转动角度与期望拍照角度相等时进行拍照,全面、精确地获取待拍摄目标360度不同角度的信息,提高所获取信息的精确性和完整性。
应当理解,在本发明实施例中,所称处理器501可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器。例如,存储器502还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器501、存储器502、计算机程序503可执行本发明实施例提供的基于机器人的拍照方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:
获取待拍摄目标信息以及基于机器人初始位置的至少两个期望拍照角度;
根据所述待拍摄目标信息进行绕圆转动,并获取所述机器人自身基于所述初始位置的实时转动角度;
若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
进一步的,所述计算机程序被处理器执行时还实现:
获取待拍摄目标信息、所述机器人转动之前的初始位置信息以及照片需求数目;
根据所述待拍摄目标信息、所述初始位置信息和所述照片需求数目确定所述至少两个期望拍照角度。
进一步的,所述计算机程序被处理器执行时还实现:
根据所述照片需求数目确定所述机器人相邻两次拍照时的实时转动角度差值;
根据所述实时转动角度差值、所述待拍摄目标信息以及所述初始位置信息确定所述至少两个期望拍照角度。
进一步的,所述计算机程序被处理器执行时还实现:
根据所述待拍摄目标的信息,以所述待拍摄目标为圆心、所述机器人自身至所述拍摄目标的距离为半径并以预设速度进行绕圆转动;
根据设置于所述机器人上的传感器采集到的数据和所述初始位置信息,并确定所述机器人自身基于所述初始位置的实时转动角度。
进一步的,所述计算机程序被处理器执行时还实现:
若所述实时转动角度为360度,则将所述实时角速度归零。
进一步的,所述计算机程序被处理器执行时还实现:
若接收到停止拍照指令,则停止转动;
若未接收到停止拍照指令,则执行所述若所述实时转动角度与所述期望拍照角度相等,则进行拍照。
上述方案,通过获取待拍摄目标信息、机器人转动之前的初始位置信息以及照片需求数目,并根据待拍摄目标信息、初始位置信息和照片需求数目确定至少两个期望拍照角度。以待拍摄目标为圆心、机器人自身至拍摄目标的距离为半径进行绕圆转动;根据设置于机器人上的传感器采集到的数据和初始位置信息,确定获取机器人自身基于初始位置的实时转动角度,并在检测到机器人转完一周之后对传感器的进行零角速度更新,保证确定机器人实时转动角度的精确性。最后在实时转动角度与期望拍照角度相等时进行拍照,全面、精确地获取待拍摄目标360度不同角度的信息,提高所获取信息的精确性和完整性。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。