← 返回列表

基于Intel RealSense的汽车虚拟驾驶应用的开发方法及系统

申请号: CN201711010835.5
申请人: 天津科技大学
申请日期: 2017年10月26日

摘要文本

本发明涉及基于Intel RealSense汽车虚拟驾驶应用的开发方法及系统,该方法包括在Unity引擎中创建虚拟驾驶地形场景,制作道路;并制作汽车3D模型,置于上述场景中;通过Intel Realsense SDK完成Unity下感知设备的数据接入,并创建汽车前进、左转和右转的脚本;借助Intel Realsense 3D Camera跟踪和捕捉预设的用户手势动作,实现汽车虚拟驾驶。本发明实施例提供的开发方法,使得开发者编写少量代码来实现汽车虚拟驾驶,大大减少开发人员的工作量,且用户无需穿戴任何设备操作该应用,能够给用户带来娱乐性的驾驶体验,增强了趣味性。 百度搜索马 克 数 据 网

专利详细信息

项目 内容
专利名称 基于Intel RealSense的汽车虚拟驾驶应用的开发方法及系统
专利类型 发明授权
申请号 CN201711010835.5
申请日 2017年10月26日
公告号 CN107844195B
公开日 2024年2月6日
IPC主分类号 G06F3/01
权利人 天津科技大学
发明人 司占军; 董春侠
地址 天津市河西区大沽南路1038号

专利主权项内容

1.基于Intel RealSense汽车虚拟驾驶应用的开发方法,其特征在于,包括:在Unity引擎中创建虚拟驾驶地形场景,并在所述场景中制作道路;制作汽车3D模型,将所述汽车3D模型导入Unity中并将其置于所述场景中;通过Intel Realsense SDK完成Unity下感知设备的数据接入,并创建汽车前进、左转和右转的脚本;借助Intel Realsense 3D Camera跟踪和捕捉预设的用户手势动作信息,根据所述用户手势动作信息,实现汽车虚拟驾驶;在创建汽车前进、左转和右转的脚本之后,所述方法还包括:添加汽车声音组件,使其在虚拟驾驶过程中发出发动机引擎的声音;通过第二预设的操作方式实现对所述虚拟驾驶地形场景和/或所述汽车3D模型的切换;第二预设的操作方式,包括手势、键盘和鼠标三种方式;所述借助Intel Realsense 3D Camera跟踪和捕捉预设的用户手势动作信息,根据所述用户手势动作信息,实现汽车虚拟驾驶,包括:使用UnityToolkit的SendMessage组件,借助Unity发送信息的功能设置预设的用户手势动作为触发条件,当通过Intel Realsense 3D Camera跟踪捕捉到用户双手展开、左手向左偏转和右手向右偏转的动作,根据所述用户双手展开、左手向左偏转和右手向右偏转的动作实现双手控制汽车的直线行驶、左手控制汽车左转和右手控制汽车右转;所述方法还包括:在Unity引擎中创建虚拟驾驶地形场景之后,还包括:添加相机;初始化时获取相机与汽车的相对偏移量,根据所述偏移量设置第一人称和第三人称驾驶视角,并通过第一预设的操作方式实现所述第一人称和第三人称驾驶视角的切换;在虚拟驾驶地形场景切换中,利用SceneManger.LoadScene场景切换函数实现场景的切换,当利用鼠标切换场景时,通过给按钮添加点击事件,并传入所要跳转的场景名称,实现场景切换;利用键盘切换场景时,通过检测用户输入的按键而跳转不同的场景,选择键盘的1-6数字代表不同汽车3D模型,按下其中任意数字可选择车型,并可查看车型的详细信息;利用手势切换场景时,需要为摄像机添加SendMessage组件,并选择EventSource,选择大拇指向上ThumbUp和大拇指向下ThumbDown实现场景向上一级和下一级的切换,在FunctionName中选择场景切换的函数;SendMessage是一次性定制的触发条件动作,在同一场景中实现多种手势控制,为场景中的对象添加多个SendMessage组件,并在FunctionName中传入函数,当摄像头检测到设定的手势,即可执行所传入的函数;所述方法还包括:创建UI控制器脚本、音频控制器脚本、模型切换控制器脚本、颜色切换控制器脚本和手势控制脚本;在UI界面的交互方面,根据系统的功能,设计各级界面,并通过鼠标或手势操作实现场景的切换;音频控制器脚本包含对背景音乐和汽车发动机引擎声音的处理;模型切换控制器脚本、颜色切换控制器脚本,包含对汽车类型以及颜色切换的处理;手势控制脚本的实现过程为,所述手势控制需要经过四个步骤:初始化和配置手势模块,实现主处理循环,访问手动跟踪数据,处理手势:(1)初始化和配置手势模块在跟踪手势之前,初始化SenseManager以进行手势跟踪和配置手势,初始化SenseManager和手势模块;(2)实现主处理循环初始化和配置手势模块后,启动主处理循环,主处理循环用来在线获取每个图像帧并管理手势跟踪过程,同时响应每一帧中检测到的手部动作和手势;实现主处理循环的方式有两种:同步函数和异步函数,同步函数跟踪和处理每一帧的输出,异步函数实现和注册一个或多个事件处理器,并初始化一个用于处理跟踪的新线程;(3)访问手动跟踪数据在主处理循环中,处理当前帧的手势跟踪数据,包括访问手部位置、手势跟踪状态、关节数据,手势数据由IHand接口表示,从HandData对象获取指定的手势数据;(4)手势处理手势处理是对具体的手部动作或姿势进行处理,应用程序只响应预先定义的手势,而不处理原始数据;手势的处理在手势被触发时,利用回调函数调用已注册的手势进行处理程序,或者在主处理循环中轮询手势。 来源:马 克 团 队