CN114924680A - 基于web前端可视化界面的港口无人驾驶地图生成方法 - Google Patents
基于web前端可视化界面的港口无人驾驶地图生成方法 Download PDFInfo
- Publication number
- CN114924680A CN114924680A CN202210591841.9A CN202210591841A CN114924680A CN 114924680 A CN114924680 A CN 114924680A CN 202210591841 A CN202210591841 A CN 202210591841A CN 114924680 A CN114924680 A CN 114924680A
- Authority
- CN
- China
- Prior art keywords
- data
- lane
- template
- point
- port
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种基于WEB前端可视化界面的港口无人驾驶地图生成方法,使用WEB前端界面导入高精地图基础数据和高精地图弯道模板数据通过arcgisjs服务,将激光点云图片和高精地图基础数据渲染到界面中,根据港口作业系统提供的作业任务得知船舶方向位置以及作业泊位号在WEB前端界面中选择设置高精地图弯道模板,处理模板切割,连接关系,拓扑关系的构建,并生成加密校验文件和高精地图数据。进行对不同港口上下码头面的高精地图进行处理和设置使其操作人员专注任务流程,降低操作的人工成本,同时覆盖不同港口上下码头面的不统一性,减少操作人员针对某一个港口进行不同的高精地图修改。
Description
技术领域
本申请涉及无人驾驶技术领域,尤其涉及一种基于WEB前端可视化界面的港口无人驾驶地图生成方法。
背景技术
港口集装箱的装卸过程通常会涉及货物通过岸桥设备,在码头面进行装卸船环节,但码头面船舶停靠方向和位置并不固定,因此无人驾驶集卡每次作业上下码头面的位置不确定性较强,把上下码头面的弯道全部制作到地图中,数据组织较复杂,也不易规划,现有技术一般是根据港口作业任务传达告知操作人员船舶的方向和位置,由人工去离线制图工具中绘制相应的上下码头面高精地图弯道,以满足每次的作业任务。
这种高精地图生成方法,在针对港口无人驾驶集卡中需要根据作业任务,船舶停靠方向和位置的情况,操作人员在离线制图工具软件中频繁修改高精地图上下码头面的弯道,且针对不同港口有引桥和无引桥的实际情况,只靠操作人员在离线制图工具中进行手动修改,不仅要学习离线制图工具还需下载相关程序,对作业流程熟悉,针对没有引桥特殊任务,人工处理精度不够,较为繁琐,操作复杂,人工成本高,导致无人驾驶集卡执行作业任务效率降低。
发明内容
为了解决上述技术问题,本申请实施例提供一种基于WEB前端可视化界面的港口无人驾驶地图生成方法,实现在WEB前端可视化界面针对不同港口码头面场景高效的完成无人驾驶集卡在上下码头面的高精地图生成。
本申请实施例提供了一种基于WEB前端可视化界面的港口无人驾驶地图生成方法,可包括:
S1)基于超文本标记语言HTML、层叠样式表CSS和JS服务组成前端可视化交互的人机界面结构;
S2)基于激光雷达获取点云数据作为地图基础数据,并基于ArcGIS服务开源的js服务结合点云数据在可视化界面构建激光点云底图及可视化高精地图数据;
S3)在可视化界面上导入地图基础数据,基于车道特点形成高精度车道模块,结合引桥道路或岸桥道路的特点构建弯道模板,并扩展反向弯道模板,形成高精地图弯道模板数据;
S4)基于港口作业任务内容,选取引桥模板数据或岸桥模板数据,结合高精地图弯道模板数据在可视化界面上构建车道拓扑关系、调整模板连接关系以及切割车道逻辑后加密处理并生成校验文件后形成港口对应的高精度地图。
进一步地,所述步骤S3)在车道模块和弯道模块的构建时,均分别创建一个对象数据类型的实例A将导入数据赋值给实例A,创建一个对象数据类型的实例B,其中实施例A导入数据,实施例B的初始作为空数据;
实例A是导入的数据,包含带有sectionID的点集合及限速等属性,为了将点集合组装成车道线集合循环遍历实例A,将包含的点数据集合和限速属性组装成线集合,并对其中的车道或者弯道进行序号编辑;
针对实施例A中的每一个车道序号sectoinID或者弯道序号sectoinID,判断实例B是否包含车道或者弯道序号sectoinID;如果不包含则将线组装,并添加同序号sctionID的属性(实例A是导入的数据,包含带有sectionID的点集合及限速等属性,遍历实例A是为了将点集合组装成车道线集合,实例B是构建的空数据,实例B是为了组装车道集合,车道集合包含车道线集合,如果包含sectionID的情况是属于当前车道线数据集合属于当前车道不需要添加新的sectionID,直接存储到车道集合中,如果实例B不包含当前车道线的sectionID则是新的车道,会组装新的车道集合并添加当前遍历所带的sectionID),如果包含则直接添加点集合到线集合内组装并加入至对应的数据集合中。
进一步地,所述步骤S3)组装车道后,通过arcgisjs导入依赖绘制所需的依赖包,构建一个对象实例,根据上述组装好的数据通过属性判断弯道和直线,左右边界车道并创建不同颜色的对象,添加数据属性,将所组装好的实例渲染到界面,生成不包含上下码头面的可视化港口高精地图;其中,arcgisjs中提供的依赖包其作用是通过使用依赖包中的方法将点,线等数据通过代码编程实现绘制在可视化界面中;
进一步地,所述步骤S3)中组装弯道后结合基础数据获取左绕弯道、右绕弯道以及直行弯道的属性和区间标识范围,区分车道序号sectionID是否在引桥道路的最小标识和最大标识内,如果在范围内将数据存入到引桥模板对象中,以此类推,分别形成上下码头面标准弯道模板,上下码头面左绕模板,上下码头面右绕模板,形成高精地图弯道模板数据。
进一步地,所述步骤S5)中,根据港口作业系统任务下发,得到作业所需要的指令,获取引桥信息,对于存在引桥的情况,对应设置引桥号,并添加该引桥对应的弯道模板。
进一步地,对引桥的处理以模板的左边界车道为判断依0据,首先判断上码头面,获取引桥左边界车道内第一个数据点,以及添加模板的最后一个数据点,下码头面获取引桥左边界车道内最后一个数据点,以及添加模板第一个数据点,判断两者的差值的绝对值是否大于0.005,则将模板数据中每个点减去这个差值,如果引桥有偏移值,计算出偏移角度后根据平移公式将引桥模板平移到指定位置,并让引桥模板的左右边界端点等于平移后的位置。
进一步地,所述步骤S5)中,在弯道模板加入车道时,对车道进行切割处理以及连接码头面车道关系处理,切割点作为两段车道线的起点和端点,生成一条新的车道线及新的sectionID和切割后剩余的车道线继承原有车道sectionID。
进一步地,所述步骤S5)构建车道拓扑关系中:
创建一个对象实例C,将添加的弯道模板数据,基础地图数据,码头面切割车道后的数据,初始化构建相邻车道和车道间的前驱数组和后继数组,循环遍历上述数据,判断车道的第一组数据车道边界数据和第二组数据车道边界数据类比,根据计算,将前驱数组和后继数组添加,将添加完前驱后继关系的数据组装完成并赋值给实例C,拓扑关系由车道的前驱后继关系表征,车道间的横向拓扑关系由sectionID顺序建立。
进一步地,所述步骤S5)调整模板连接关系中:
构建高精地图车道左右边界及车道中心线车道线数据点集合,添加属性,将车道左右边界数据点通过js接口将点集合数据绘制曲线路径,为确保每个点数据间隔平均,使用arcgisjs将曲线路径弧线每间隔0.5cm平均抽取曲线路径中的点数据组装起来,通过左右边界组装的点,计算出中心车道线点数据集合,将高精地图车道左右边界线数据及中心线车道数据组装,将实例C数据循环,添加属性前驱标识,后继标识,以及基础数据中所附带的自定义属性。
进一步地,对于港口无引桥的情况,与上述方法基本相同,对模板切割车道,1)采用的泊位号的点坐标来切割码头面车道,并将模板平移到泊位号与车道线切割的相交点,2)针对特定情况,例如作业任务上码头面的位置,在泊位号之间,这种情况,采用拖拽模板的方法,其原理是浏览器提供了鼠标的偏移的点坐标,根据arcgisjs提供的鼠标监听事件,点击相应模板后,在鼠标滑动过程中,模板会根据鼠标点坐标跟码头面做垂线得到相交点,通过这个相交点实施平移模板。
在本申请所涉及的方案可以实现通过浏览器直接根据港口作业系统的作业任务通过WEB前端高精地图界面,进行对不同港口上下码头面的高精地图进行处理和设置使其操作人员专注任务流程,降低操作的人工成本,同时覆盖不同港口上下码头面的不统一性,减少操作人员针对某一个港口进行不同的高精地图修改WEB前端高精地图界面可以和云端完美集成,完成对港口无人驾驶作业全流程的重要一环有效解决了操作繁琐,频繁手动处理,提高针对高精地图数据处理的精读,使其在港口无人驾驶集卡的运营成本降低。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是WEB前端高精地图数据处理流程图;
图2是WEB前端高精地图界面流程图;
图3是港口无引桥WEB前端界面;
图4是港口有引桥WEB前端界面;
图5是弯道WEB前端分类示意图。
具体实施方式
为使得本申请的申请目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面结合附图和具体实施例,进一步阐明本发明。
在本申请的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
本申请的基本构思是使用WEB前端界面导入高精地图基础数据和高精地图弯道模板数据通过arcgisjs服务,将激光点云图片和高精地图基础数据渲染到界面中,根据港口作业系统提供的作业任务得知船舶方向位置以及作业泊位号在WEB前端界面中选择设置高精地图弯道模板,处理模板切割,连接关系,拓扑关系的构建,并生成加密校验文件和高精地图数据。
WEB前端界面本方法的载体,由HTML(超文本标记语言)+CSS(层叠样式表)+JS组成的前端可视化交互的人机界面,操作人员直观通过WEB前端界面里进行弯道模板的设置,以及查看高精地图数据中车道线编号和附带属性,并提供加密和校验文件的生成,导出高精地图数据。
其中JS为一种ArcGIS(注:全面的地理信息系统平台)服务开源的js(注:javascript是开发Web页面的脚本语言简称js)服务,这里统称arcgisjs,是构建激光点云图片,以及将高精地图数据可视化展示在WEB前端界面,结合原生js来进行高精地图拓扑关系,模板连接关系处理,切割车道逻辑,加密处理并生成校验文件,以及展示每个车道编号属性等逻辑交互。
本申请所涉及的基于WEB前端可视化界面的港口无人驾驶地图生成方法,需要利用技术手段获取高精地图基础数据和高精地图弯道模板数据,其中:
高精地图基础数据:采用激光雷达获取激光点云,采用IMU(注:惯性测量单元)进行数据定位,结合GPS通过载波相位差分定位技术获取激光雷达参数,通过IMU测定激光雷达的姿态参数获取实时定位,再有激光雷达的外参和位姿决定每一帧点云的变换矩阵,将每帧点云从各自局部坐标通过变换矩阵转换到UTM(注:横轴墨卡托投影)统一全局坐标下,采用数据滤波算法对点云数据的高程信息进行滤波,识别出路面点和非路面点,从路面点中提取车,道线和道路标识,左右转标识,直行标识,待转区等标识,对于提取算法或者采集不佳的激光点云数据,例如车道线缺失,不完整,利用采集车的相机采集到的每帧图像信息采用人机交互进行矫正不足,生成不包含上下码头面弯道的基础模板
高精地图弯道模板数据:利用GPS和IMU组合导航系统采集集装箱卡车的行车轨迹,从行车轨迹中截取上下码头面左绕弯道数据,上下码头面左绕弯道数据,以及直行上下码头面的弯道数据,生成各个类型的弯道模板。
本方法的步骤如下:
S1)初始化界面通过浏览器访问web前端界面,html的此法分析,解析成dom(注:树形结构的节点)树,通过分析css生成css规则树,合并生成render树(注:就是把HTML按照一定的布局与样式显示出来),渲染布局,GPU(注:图形处理器)绘制,完成对界面的初始化,引入arcgisjs依赖包(arcgisjs依赖包是arcgisjs中提供的,其作用是通过使用依赖包中的方法将点,线等数据通过代码编程实现绘制在可视化界面中)并初始化,并生成前端可视化界面的结构,形成前端可视化交互的人机界面结构。
S2)激光点云地图在WEB前端可视化界面渲染,通过arcgisjs构建本地地图服务,创建连接得到高精地图基础数据中的激光点云图片,将上述成果通过arcgisjs的addLayer导入到arcgisjs的图层中,在WEB前端界面展示激光点云底图;激光点云地图与激光点云图片都是展示底图,为了方便操作人员定位位置,直观观察高精地图数据在实际港口的位置。
S3)导入高精地图基础数据和高精地图弯道模板数据,导入后通过文件后缀名称区分基础数据和弯道模板。
针对基础数据:
S3-1-1)创建一个对象数据类型的实例A将导入数据赋值给实例A,创建一个对象数据类型的实例B,循环遍历实例A首先将包含的点数据集合和限速等属性组装成线集合,判断B实例是否包含车道序号sectoinID,如果不包含则将线组装车道,并添加同车道序号sctionID的属性,这里实例A是导入的数据,包含带有车道序号sectionID的点集合及限速等属性,遍历实例A是为了将点集合组装成车道线集合,实例B是构建的空数据,实例B是为了组装车道集合,车道集合包含车道线集合,如果包含车道序号sectionID的情况是属于当前车道线数据集合属于当前车道不需要添加新的车道序号sectionID,直接存储到车道集合中,如果实例B不包含当前车道线的sectionID则是新的车道,会组装新的车道集合并添加当前遍历所带的sectionID;如果包含,则直接添加点集合到线集合内组装成车道线集合;
S3-1-2)通过叉乘公式对比每个车道线相对位置,并赋值,通过排序计算,区分车道排列顺序,完成组装车道;
S3-1-3)通过arcgisjs导入依赖绘制所需的依赖包,构建一个对象实例A,根据上述组装好的数据通过属性判断弯道和直线,左右边界车道并创建不同颜色的对象,添加道路标识,车道标识,转向灯等数据属性,将所组装好的实例A渲染到界面,生成不包含上下码头面的可视化港口高精地图;
针对弯道模板数据处理前两步同S3-1-1)和S3-1-2),但是后面有所不同:
S3-2-3)通过高精地图基础数据,得知左绕右绕直行弯道的属性和区间标识范围,区分sectionID是否在引桥道路的最小标识和最大标识内,如果在范围内将数据存入到引桥模板对象中,以此类推,分别将上下码头面标准弯道模板,上下码头面左绕模板,上下码头面右绕模板,对高精地图弯道模板数据组装完成;
S3-2-4)反向弯道模板处理(注:假设停靠船舶方向为由东向西,如果船舶方向由西向东,则需要将高精地图数据反向处理,人工处理较为繁琐)反向弯道模板及码头面反向高精地图数据处理,将上述数据对比,将数据的标识属性全部反向排列,并且通过js数组内置方法将车道左边界反向,车道右边界反向,并且将车道内部的车道线集合数据反向,并将反向处理后的码头面高精地图数据和反向模板高精地图数据存储。
S4)根据港口作业系统任务下发,得到作业所需要的指令,需要区分是否存在有引桥的情况。
港口作业任务系统下发指令主要是得知船舶停靠位置,停靠方向,以及作业任务的位置,根据不同的作业位置,可能需要从新设定高精地图的上码头面模板,而基础数据则是港口作业区域无人驾驶所有的道路的数据,模板是固定的弯道模板,也就是左绕右绕,上下码头面等,数据是固定的,位置方向任务点是不一样的,所以需要根据下发的任务修改高精地图数据,基础数据也是直接导入进来,一般很少去修改基础数据。
一般情况下都是存在引桥的,此时:
S4-1-1)设置引桥以及对应编号,根据引桥号添加弯道模板,选择引桥模板类型(注:上码头面或下码头面),在选择码头面(注:左绕右绕标准)弯道模板,选择引桥车道号用于放置弯道模板作用于哪个车道;
S4-1-2)根据所填设置的参数属性,新添加的弯道模板与添加模板的集合进行对比,判断是否有重复模板,或者相同桥梁和车道索引的模板,对添加的模板集合排序,对比数据,使用arcgisjs绘制接口通过属性判断模板弯道部分和引桥部分分别绘制不同颜色,以及添加属性,并在WEB前端界面上渲染;
S4-1-3)新设置的弯道模板平移位置和sectionID更新,分两个步骤:
S4-1-3-1)对引桥部分的模板处理,以模板的左边界车道为判断依据,首先判断上码头面,获取引桥左边界车道内第一个数据点,以及添加模板的最后一个数据点,下码头面获取引桥左边界车道内最后一个数据点,以及添加模板第一个数据点,判断两者的差值的绝对值是否大于0.005,则将模板数据中每个点减去这个差值,如果引桥有偏移值,根据数学公式Math.atan2(y2-y1,x2-x1)计算出角度,根据平移公式计算,将引桥模板平移到指定位置,并让引桥模板的左右边界端点等于平移后的位置;
S4-1-3-2)对弯道模板部分处理,同S4-1-3-1),此外每新生成弯道模板会生成新的sectionID,本发明新生成的弯道模板sectionID。
S4-2)弯道模板切割车道,以及连接码头面车道关系处理:
S4-2-1)构建基础地图数据对象实例A并赋值基础数据及sectionID,构建模板数据对象实例B并赋值模板数据及sectionID,并通过设置模板将属性给实例B中车道线赋值sectionid和车道id,构建码头面车道数据对象实例C;
S4-2-2)根据上下码头面去、模板属性,以及通过公式将模板的临近码头面车道线的端点,与车道线做垂线,找出相交的点与模板端差乘计算小于等于0的情况,将码头面的车道切割为两部分,并生成新的sectionID,其生成规则为1000-切割次数,每次切割时切割次数加1,并将切割点作为两段车道线的起点和端点,生成一条新的车道线及新的sectionID和切割后剩余的车道线继承原有车道sectionID;
S4-3)构建拓扑关系,创建一个对象实例A,将添加的弯道模板数据,基础地图数据,码头面切割车道后的数据,初始化构建相邻车道和车道间的前驱数组和后继数组(基于当前实例A,以构建拓扑关系这个函数方法导入进来后的数据循环遍历每一个车道集合中每一个车道线集合添加的空数据,命名为前驱数组和后继数组,两者在当前都是属于空数组集合,通过后续的代码计算,将计算后的结果存入到两个数组当中),循环遍历上述数据,判断车道的第一组数据车道边界数据和第二组数据车道边界数据类比,根据计算,将前驱数组和后继数组添加,将添加完前驱后继关系的数据组装完成并赋值给实例A,拓扑关系由车道的前驱后继关系表征,车道间的横向拓扑关系由sectionID顺序建立;
S4-4)构建高精地图数据组装:构建高精地图车道左右边界及车道中心线车道线数据点集合,添加实例A的属性,将车道左右边界数据点通过js接口将点集合数据绘制曲线路径,为确保每个点数据间隔平均,使用arcgisjs将曲线路径弧线每间隔0.5cm平均抽取曲线路径中的点数据组装起来,通过左右边界组装的点,计算出中心车道线点数据集合,(注:数据曲线拟合平均抽点点数的目的是使无人集卡规划控制更容易,并且车辆在行驶该高精地图路线时平稳通过),将高精地图车道左右边界线数据及中心线车道数据组装,将实例A数据循环,添加属性前驱标识,后继标识,以及基础数据中所附带的自定义属性
S4-5)高精地图数据生成,通过使用md5(信息摘要算法)将高精地图数据进行加密,并通过zip.js(js的一个依赖包提供压缩功能)将高精地图数据压缩生成带有校验文件和高精地图数据压缩包并导出;
对于港口无引桥的情况,与上述方法基本相同,对模板切割车道,1)采用的泊位号的点坐标来切割码头面车道,并将模板平移到泊位号与车道线切割的相交点,2)针对特定情况,例如作业任务上码头面的位置,在泊位号之间,这种情况,采用拖拽模板的方法,其原理是浏览器提供了鼠标的偏移的点坐标,根据arcgisjs提供的鼠标监听事件,点击相应模板后,在鼠标滑动过程中,模板会根据鼠标点坐标跟码头面做垂线得到相交点,通过这个相交点实施平移模板。
具体地,无引桥场景,根据泊位号(码头泊位是指沿码头线按停靠一艘设计船舶所需长度划分的装卸作业单元,每个作业单元的所对应的序号为泊位号,附带序号及所处位置的坐标数据)选择的情况下:
S4-1-1)根据港口作业系统下发任务,得到作业所处的泊位,在界面中选取所对应泊位号,选择模板类型:(注:上码头面或下码头面);
S4-1-2)处理与上述相同,无引桥部分不做处理;
S4-1-3)根据选择的泊位号所对应的泊位位置坐标点数据与码头面车道做垂线,得到相交点,以模板左边界车道为判断依据,首先判断上码头面情况,获取添加模板的左边界车道最后一个数据点,下码头面情况获取做边界车道内第一个数据点,根据平移公式计算将将模板平移到相交点位置,判断两者的差值的绝对值是否大于0.005,将模板数据中每个点减去这个差值,并将模板的端点等于平移后的位置;
后续步骤相同
无引桥场景,针对特定情况下:
S4-1-1)忽律选择泊位号,直接选择模板拖拽
S4-1-2)处理与上述相同,无引桥部分不做处理
S4-1-3)根据arcgisjs提供的鼠标事件监听,可以得到鼠标在可视化界面中位置所对应的实际坐标:
S4-1-3-1)当鼠标选中模板后,通过对鼠标移动的事件监听得到鼠标在可视化界面实时坐标,与码头面车道做垂线,得到相交点,通过平移公式将模板数据实时平移到相交点位置,并通过arcgisjs提供的方法代码编程将模板数据实时绘制在可视化界面中(绘制方法和上述相同),并将每次实时移动的模板动态删除(注:如果不删除会导致每次移动实时监听界面上会出现若干个鼠标鼠标移动轨迹留下的上下码头面模板),使得界面中移动的模板唯一,可以实时观察到模板在可视化界面中的模板位置
S4-1-3-2)当模板移动已抵达作业任务所对应的位置,鼠标摁下,通过鼠标摁下的事件监听得到摁下鼠标的坐标位置,根据鼠标坐标位置与码头面做垂线得到相交点,以模板左边界车道为判断依据,首先判断上码头面情况,获取添加模板的左边界车道最后一个数据点,下码头面情况获取做边界车道内第一个数据点,根据平移公式计算将将模板平移到相交点位置,判断两者的差值的绝对值是否大于0.005,将模板数据中每个点减去这个差值,并将模板的端点等于平移后的位置;
后续步骤相同。
在本申请所涉及的方案可以实现通过浏览器直接根据港口作业系统的作业任务通过WEB前端高精地图界面,进行对不同港口上下码头面的高精地图进行处理和设置使其操作人员专注任务流程,降低操作的人工成本,同时覆盖不同港口上下码头面的不统一性,减少操作人员针对某一个港口进行不同的高精地图修改WEB前端高精地图界面可以和云端完美集成,完成对港口无人驾驶作业全流程的重要一环有效解决了操作繁琐,频繁手动处理,提高针对高精地图数据处理的精读,使其在港口无人驾驶集卡的运营成本降低。
以上详细描述了本发明的优选实施方式,但是本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换(如数量、形状、位置等),这些等同变换均属于本发明的保护。
Claims (10)
1.一种基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:
S1)基于超文本标记语言HTML、层叠样式表CSS和JS服务组成前端可视化交互的人机界面结构;
S2)基于激光雷达获取点云数据作为地图基础数据,并基于ArcGIS服务开源的js服务结合点云数据在可视化界面构建激光点云底图及可视化高精地图数据;
S3)在可视化界面上导入地图基础数据,基于车道特点形成高精度车道模块,结合引桥道路或岸桥道路的特点构建弯道模板,并扩展反向弯道模板,形成高精地图弯道模板数据;
S4)基于港口作业任务内容,选取引桥模板数据或岸桥模板数据,结合高精地图弯道模板数据在可视化界面上构建车道拓扑关系、调整模板连接关系以及切割车道逻辑后加密处理并生成校验文件后形成港口对应的高精度地图。
2.根据权利要求1所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S3)在车道模块和弯道模块的构建时,分别创建一个对象数据类型的实例A,将导入数据赋值给实例A,创建一个对象数据类型的实例B,实施例B的初始作为空数据;
循环遍历实例A,将包含的点数据集合和限速属性组装成线集合,并对其中的车道或弯道进行序号编辑;
针对实施例A中的每一个车道或者弯道序号sectoinID,判断实例B是否包含车道或者弯道序号sectoinID;如果不包含则将线组装,并添加同序号sctionID的属性,如果包含则直接添加点集合到线集合内组装并加入至对应的数据集合中。
3.根据权利要求2所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S3)组装车道后,通过arcgisjs导入依赖绘制所需的依赖包,构建一个对象实例,根据上述组装好的数据通过属性判断弯道和直线,左右边界车道并创建不同颜色的对象,添加数据属性,将所组装好的实例渲染到界面,生成不包含上下码头面的可视化港口高精地图。
4.根据权利要求3所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S3)中组装弯道后结合基础数据获取左绕弯道、右绕弯道以及直行弯道的属性和区间标识范围,区分车道序号sectionID是否在引桥道路的最小标识和最大标识内,如果在范围内将数据存入到引桥模板对象中,以此类推,分别形成上下码头面标准弯道模板,上下码头面左绕模板,上下码头面右绕模板,最终形成高精地图弯道模板数据。
5.根据权利要求1所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S4)中,根据港口作业系统任务下发,得到作业所需要的指令,获取引桥信息,对于存在引桥的情况,对应设置引桥号,并添加该引桥对应的弯道模板。
6.根据权利要求5所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:对引桥的处理以模板的左边界车道为判断依据,首先判断上码头面,获取引桥左边界车道内第一个数据点,以及添加模板的最后一个数据点,下码头面获取引桥左边界车道内最后一个数据点,以及添加模板第一个数据点,判断两者的差值的绝对值是否大于0.005,则将模板数据中每个点减去这个差值,如果引桥有偏移值,计算出偏移角度后根据平移公式将引桥模板平移到指定位置,并让引桥模板的左右边界端点等于平移后的位置。
7.根据权利要求1所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S4)中,根据港口作业系统任务下发,得到作业所需要的指令,对无引桥的处理,基于选择的泊位号所对应的泊位位置坐标点数据与码头面车道做垂线,得到相交点,以模板左边界车道为判断依据,首先判断上码头面情况,获取添加模板的左边界车道最后一个数据点,下码头面情况获取做边界车道内第一个数据点,根据平移公式计算将将模板平移到相交点位置,判断两者的差值的绝对值是否大于0.005,将模板数据中每个点减去这个差值,并将模板的端点等于平移后的位置。
8.根据权利要求6所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S4)中,在弯道模板加入车道时,对车道进行切割处理以及连接码头面车道关系处理,切割点作为两段车道线的起点和端点,生成一条新的车道线及新的车道sectionID和切割后剩余的车道线继承原有车道sectionID。
9.根据权利要求8所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S4)构建车道拓扑关系中:
创建一个对象实例C,将添加的弯道模板数据,基础地图数据,码头面切割车道后的数据,初始化构建相邻车道和车道间的前驱数组和后继数组,循环遍历上述数据,判断车道的第一组数据车道边界数据和第二组数据车道边界数据类比,根据计算,将前驱数组和后继数组添加,将添加完前驱后继关系的数据组装完成并赋值给实例C,拓扑关系由车道的前驱后继关系表征,车道间的横向拓扑关系由车道sectionID顺序建立。
10.根据权利要求9所述的基于WEB前端可视化界面的港口无人驾驶地图生成方法,其特征在于:所述步骤S4)调整模板连接关系中:
构建高精地图车道左右边界及车道中心线车道线数据点集合并添加属性,将车道左右边界数据点通过js接口将点集合数据绘制曲线路径,为确保每个点数据间隔平均,使用arcgisjs将曲线路径弧线每间隔0.5cm平均抽取曲线路径中的点数据组装起来,通过左右边界组装的点,计算出中心车道线点数据集合,将高精地图车道左右边界线数据及中心线车道数据组装,将实例C数据循环,添加属性前驱标识,后继标识,以及基础数据中所附带的自定义属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210591841.9A CN114924680B (zh) | 2022-05-27 | 2022-05-27 | 基于web前端可视化界面的港口无人驾驶地图生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210591841.9A CN114924680B (zh) | 2022-05-27 | 2022-05-27 | 基于web前端可视化界面的港口无人驾驶地图生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114924680A true CN114924680A (zh) | 2022-08-19 |
CN114924680B CN114924680B (zh) | 2023-08-01 |
Family
ID=82810518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210591841.9A Active CN114924680B (zh) | 2022-05-27 | 2022-05-27 | 基于web前端可视化界面的港口无人驾驶地图生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114924680B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008148794A2 (en) * | 2007-06-08 | 2008-12-11 | Qualcomm Incorporated | Gnss positioning using pressure sensors |
US20180189578A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Lane Network Construction Using High Definition Maps for Autonomous Vehicles |
CN108298329A (zh) * | 2018-03-29 | 2018-07-20 | 中交第四航务工程勘察设计院有限公司 | 一种新型江海联运自动化集装箱码头装卸系统及平面布局 |
US20180224289A1 (en) * | 2017-02-03 | 2018-08-09 | Ushr, Inc. | Active driving map for self-driving road vehicle |
CN110147103A (zh) * | 2019-05-23 | 2019-08-20 | 北京主线科技有限公司 | 自动驾驶集装箱卡车在码头岸桥区域的车道定位方法 |
CN111626206A (zh) * | 2020-05-27 | 2020-09-04 | 北京百度网讯科技有限公司 | 高精地图构建方法、装置、电子设备及计算机存储介质 |
CN112782733A (zh) * | 2021-01-28 | 2021-05-11 | 北京斯年智驾科技有限公司 | 高精度定位方法、装置、系统、电子装置和存储介质 |
WO2021104180A1 (zh) * | 2019-11-29 | 2021-06-03 | 上海商汤临港智能科技有限公司 | 地图生成方法、定位方法、装置、设备、存储介质及计算机程序 |
CN113066009A (zh) * | 2021-03-24 | 2021-07-02 | 北京斯年智驾科技有限公司 | 港口高精度地图集的构建方法、装置、系统和存储介质 |
CN113449798A (zh) * | 2021-06-30 | 2021-09-28 | 上海西井信息科技有限公司 | 港口无人驾驶地图生成方法、装置、电子设备、存储介质 |
CN113835703A (zh) * | 2021-09-27 | 2021-12-24 | 北京斯年智驾科技有限公司 | 一种web前端绘制自动驾驶监控可视化地图的方法 |
CN113965720A (zh) * | 2020-07-15 | 2022-01-21 | 天津港(集团)有限公司 | 一种港口无人集卡中控平台系统 |
-
2022
- 2022-05-27 CN CN202210591841.9A patent/CN114924680B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008148794A2 (en) * | 2007-06-08 | 2008-12-11 | Qualcomm Incorporated | Gnss positioning using pressure sensors |
US20180189578A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Lane Network Construction Using High Definition Maps for Autonomous Vehicles |
US20210172756A1 (en) * | 2016-12-30 | 2021-06-10 | DeepMap Inc. | Lane line creation for high definition maps for autonomous vehicles |
US20180224289A1 (en) * | 2017-02-03 | 2018-08-09 | Ushr, Inc. | Active driving map for self-driving road vehicle |
CN108298329A (zh) * | 2018-03-29 | 2018-07-20 | 中交第四航务工程勘察设计院有限公司 | 一种新型江海联运自动化集装箱码头装卸系统及平面布局 |
CN110147103A (zh) * | 2019-05-23 | 2019-08-20 | 北京主线科技有限公司 | 自动驾驶集装箱卡车在码头岸桥区域的车道定位方法 |
WO2021104180A1 (zh) * | 2019-11-29 | 2021-06-03 | 上海商汤临港智能科技有限公司 | 地图生成方法、定位方法、装置、设备、存储介质及计算机程序 |
CN111626206A (zh) * | 2020-05-27 | 2020-09-04 | 北京百度网讯科技有限公司 | 高精地图构建方法、装置、电子设备及计算机存储介质 |
CN113965720A (zh) * | 2020-07-15 | 2022-01-21 | 天津港(集团)有限公司 | 一种港口无人集卡中控平台系统 |
CN112782733A (zh) * | 2021-01-28 | 2021-05-11 | 北京斯年智驾科技有限公司 | 高精度定位方法、装置、系统、电子装置和存储介质 |
CN113066009A (zh) * | 2021-03-24 | 2021-07-02 | 北京斯年智驾科技有限公司 | 港口高精度地图集的构建方法、装置、系统和存储介质 |
CN113449798A (zh) * | 2021-06-30 | 2021-09-28 | 上海西井信息科技有限公司 | 港口无人驾驶地图生成方法、装置、电子设备、存储介质 |
CN113835703A (zh) * | 2021-09-27 | 2021-12-24 | 北京斯年智驾科技有限公司 | 一种web前端绘制自动驾驶监控可视化地图的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114924680B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Waxman et al. | A visual navigation system for autonomous land vehicles | |
US11320823B2 (en) | Method of navigating a vehicle and system thereof | |
CN110176078B (zh) | 一种训练集数据的标注方法及装置 | |
US6744431B2 (en) | Storage medium for use with a three-dimensional map display device | |
CN108983781A (zh) | 一种无人车目标搜索系统中的环境探测方法 | |
CN112000754A (zh) | 地图构建方法、装置、存储介质及计算机设备 | |
CN106840148A (zh) | 室外作业环境下基于双目摄像机的可穿戴式定位与路径引导方法 | |
CN108280886A (zh) | 激光点云标注方法、装置及可读存储介质 | |
CN108805885A (zh) | 地块分割方法及终端、航线规划方法及移动装置控制方法 | |
Guilbert et al. | Terrain generalisation | |
CN112947485A (zh) | 路径规划方法及系统 | |
Davis et al. | Road boundary detection for autonomous vehicle navigation | |
CN113052369A (zh) | 智能农机作业管理方法及系统 | |
CN113626455A (zh) | 图库联动更新方法及装置、电子设备、存储介质 | |
CN111178170A (zh) | 一种手势识别方法和一种电子设备 | |
CN113763522A (zh) | 地图渲染方法、装置、设备和介质 | |
CN116540726A (zh) | 一种巡逻机器人智能避障方法、系统及介质 | |
CN111127582B (zh) | 一种轨迹重合段识别方法、装置、系统及存储介质 | |
JP3715420B2 (ja) | 無人搬送車の走行プログラム作成装置 | |
CN114924680A (zh) | 基于web前端可视化界面的港口无人驾驶地图生成方法 | |
CN112801012A (zh) | 交通元素的处理方法、装置、电子设备及存储介质 | |
CN117330058A (zh) | 一种车路联合精准定位方法、设备及存储介质 | |
Willrich | Quality control and updating of road data by GIS-driven road extraction from imagery | |
CN116468870A (zh) | 一种城市道路三维可视化建模方法及系统 | |
Lee et al. | Localization based on visibility sectors using range sensors |
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 |