自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 Apollo开发-apollo介绍之Routing模块(六)

Routing类似于现在开车时用到的导航模块,通常考虑的是起点到终点的最优路径(通常是最短路径),Routing考虑的是起点到终点的最短路径,而Planning则是行驶过程中,当前一小段时间如何行驶,需要考虑当前路况,是否有障碍物。Routing模块则不需要考虑这些信息,只需要做一个长期的规划路径即可,过程如下:这也和我们开车类似,上车之后,首先搜索目的地,打开导航(Routing所做的事情),而开始驾车之后,则会根据当前路况,行人车辆信息来适当调整直到到达目的地(Planning所做的事情)。

2024-03-28 20:04:00 1273 5

原创 Apollo开发-apollo介绍之planning模块(四)

规划(planning)模块的作用是根据感知预测的结果,当前的车辆信息和路况规划出一条车辆能够行驶的轨迹,这个轨迹会交给控制(control)模块,控制模块通过油门,刹车和方向盘使得车辆按照规划的轨迹运行。规划模块的轨迹是短期轨迹,即车辆短期内行驶的轨迹,长期的轨迹是routing模块规划出的导航轨迹,即起点到目的地的轨迹,规划模块会先生成导航轨迹,然后根据导航轨迹和路况的情况,沿着短期轨迹行驶,直到目的地。

2024-03-28 15:36:03 406

原创 Apollo学习-apollo介绍之localization模块(三)

localization模块主要实现了以下2个功能:1.输出车辆的位置信息(planning模块使用)2.输出车辆的姿态,速度信息(control模块使用)其中apollo代码中分别实现了3种定位方法:1. GNSS + IMU定位2. NDT定位(点云定位)3. MSF(上面2种方式的融合定位)MSF方法并没有开发源码,是以动态库的方式提供的。

2024-03-28 15:34:42 962

原创 Apollo学习-apollo介绍之map模块(二)

下面是地图的道路信息,其中有2个标志(StopSign,YieldSign)是美国才有的,后来查看了下知乎发现对应到国内是(停,让),具体的含义都是一样,停车的意思是到路口先停止,看下有没有车,然后再开始启动,让车就是先让行,比如交汇路口,理应让直行的车辆先通过,然后再汇入道路。结构体主要是道路的不同组成部分,包括“人行横道,路口区域,车道,停车观察,信号灯,让路标志,重叠区域,禁止停车,减速带,道路,停车区域,路边的小路,或者行人走的路”。则实现了地图的加载,转换为程序中的Map对象。

2024-03-28 15:32:45 632

原创 Apollo开发-apollo介绍(一)

apollo是百度的自动驾驶开源框架,根据自动驾驶的功能划分为不同的模块,下面会根据目录结构和功能模块分别介绍和学习 apollo模块。下面主要对apollo学习过程中做下笔记,如果有错误或者补充,欢迎指正。

2024-03-28 15:28:52 370

原创 Apollo学习-apolloscape相关数据集

Apollo开放平台9.0专项技术公开课》《Apollo自动驾驶技术详解25讲》《自动驾驶新人之旅》

2024-03-28 15:27:07 979

原创 Apollo学习-算法升级之YOLOX3D模型解读

Apollo9.0将会为大家带来单目两阶段视觉检测器yolox3d,相比于历史版本中的单目视觉yolo模型,本次在实现思路、训练代码、模型部署方面做了不少探索与优化工作。为了能让大家基于该框架更快更好地进行算法的二次开发,本文将以yolox模型为例子,向用户介绍如何在新版本Apollo中新增一款视觉检测模型进行2D目标检测任务。KITTI数据集由德国卡尔斯鲁厄理工学院和丰田工业大学芝加哥分校联合赞助的用于自动驾驶领域研究的数据集,该数据集提供了光流、物体检测、深度估计等多种任务的Benchmark。

2024-03-28 15:23:19 1185

原创 Apollo开发-Dreamview+常见问题

A1:请确认是否已经安装最新版本 Dreamview+ 插件。场景json文件缺乏scenario.start(起点)、scenario.end(终点)、scenario.map_dir (地图信息)等,这个场景是不可用的。如果没有sim_obstacle进程:请确认本地是否已经安装sim_obstacle的包;A1:请确认场景集类型是否为线下测评场景集。Dreamview+ 插件只同步线下测评类型的场景集,线上仿真类型的场景集在本地不一定可用。如果有sim_obstacle进程,请进行下一步操作。

2024-03-28 15:19:42 450

原创 Apollo开发-ApolloScape数据集的下载和处理

使用apolloscape_to_kitti.py将apolloscape数据转化kitti格式,用于训练centerpoint模型。使用apolloscape_to_records.py将apolloscape转化成apollo records数据。在脚本代码中有apolloscape_to_records.py和apolloscape_to_kitti.py。adataset用于将apolloscape数据转化为apollo record格式,方便做端到端感知调试。ApolloScape的训练数据集。

2024-03-28 15:16:28 504

原创 Apollo开发-Profile插件安装指南

带有交通流信息的场景对于PnC仿真调试是非常重要的,Dreamview中没有制作交通流场景的功能,但ApolloStudio提供了场景编辑的功能,开发者可以通过场景编辑功能创建带有障碍物信息的交通流场景,然后通过Profile插件将该场景同步到的Dreamview上,这样就可以实现在Dreamview进行交通流场景仿真了,本文将主要介绍Profile插件的安装方法。

2024-03-28 15:10:34 834

原创 Apollo 9.0 PnC工程安装指南

为了便于初学者学习,本实践项目基于Apollo 9.0版发布了PnC示例工程,工程内已经编写好了PnC相关的依赖包(cyberfile.xml),安装更便捷。本版本对电脑最低要求4核 16G以上,GPU无要求。

2024-03-28 15:08:53 1073

原创 ONLYOFFICE:打造安全、便捷的在线办公环境

ONLYOFFICE是一款开源的在线办公套件,包含了文档编辑、表格处理、演示制作等功能。它支持多人实时协作,可以让团队成员在不同地点、不同设备上进行高效的工作。同时,ONLYOFFICE还提供了丰富的模板和扩展功能,满足各种办公需求。在现代工作环境中,不同的项目和任务往往需要不同的协作方式和权限设置。ONLYOFFICE协作空间充分考虑到了这一点,为用户提供了自定义房间的功能,以适应各种目的和用途。用户可以根据项目的具体需求,为房间设置不同的共享权限。

2024-02-21 12:55:22 2041 36

原创 Apollo智能驾驶|apollo8.0新特性讲解-感知框架(2)

百度Apollo开放平台自上线以来始终保持着创新和高频的自我迭代,从最开始聚焦于基础能力的搭建,走向侧重场景能力的发展,再升级为对平台工程易用性精益求精的追求。12月28日,百度Apollo开放平台面向所有开发者,正式推出了Apollo自动驾驶开放平台的全新升级版本——Apollo 8.0,进一步夯实了平台的易用性,让开发者操作更简单易上手。

2024-02-02 14:36:38 633 41

原创 Apollo智能驾驶|apollo8.0新特性讲解-软件包管理(1)

百度Apollo开放平台自上线以来始终保持着创新和高频的自我迭代,从最开始聚焦于基础能力的搭建,走向侧重场景能力的发展,再升级为对平台工程易用性精益求精的追求。12月28日,百度Apollo开放平台面向所有开发者,正式推出了Apollo自动驾驶开放平台的全新升级版本——Apollo 8.0,进一步夯实了平台的易用性,让开发者操作更简单易上手。

2024-02-02 14:28:59 473 6

原创 Apollo智能驾驶|引领未来出行方式的革命

总之,百度Apollo智能驾驶平台以其卓越的技术实力和广泛的场景应用,正引领着未来出行方式的革命。随着技术的不断进步和应用场景的拓展,相信Apollo平台将会为人们带来更加美好、安全的出行体验,为未来的交通出行方式带来深刻的变革。

2024-02-02 14:16:57 442 1

原创 Apollo智能驾驶|Apollo1.0到7.0版本快速了解

Apollo官网:https://apollo.auto/先来看下Apollo各版本发布图:下面对各个版本做下介绍。Apollo 1.0: 循迹功能实现Apollo 1.0(也称为自动GPS航点跟踪)可在封闭的场地(例如测试跑道或停车场)中工作。必须进行此安装,以确保Apollo与您的车辆完美配合。下图列出了Apollo 1.0中的各个模块。Apollo 1.5: 巡航功能Apollo 1.5适用于固定车道巡航。

2024-01-31 11:03:24 33865 1

原创 Apollo智能驾驶|快速认识Apollo智能驾驶平台

Apollo是百度的自动驾驶开源框架,根据自动驾驶的功能划分为不同的模块主要分为6部分:●高精度地图 HD Maps、●定位 Localization●感知 Perception●预测 Prediction●规划 Planning●控制 Control1:高精度地图 HD Maps(High Definition Maps)2:定位 Localization: 汽车定位自己位置厘米级精度自定位 可以确定车辆的全球和本地位置。

2024-01-31 10:42:49 34056 1

原创 Apollo智能驾驶|百度Apollo开放平台-人才培养介绍(3)

作为自动驾驶领域的先行者,百度Apollo十分重视自动驾驶领域的教育和人才培养。通过Apollo Studio开发者社区,构建了课程、实验、赛事一站式学习实践平台。目前,Apollo Studio开发者社区在线学习人次超过3.8万,累计覆盖全国开设自动驾驶相关专业类的理工院校超70%,985,211理工类院校覆盖率68%,成为国内自动驾驶在线培训规模最大和最有影响力的社区。

2024-01-31 10:26:59 32687

原创 Apollo智能驾驶|百度Apollo开放平台-应用层介绍(2)

在RTK定位的基础上,增加激光点云SLAM定位方案,解决了园区场景中的树木、建筑物遮挡导致的定位漂移问题。开发者通过该方案可以解决如下图所示的树木遮挡导致的定位漂移问题,也可以适配短距离建筑物、桥梁遮挡等场景。遮挡环境下SLAM定位在感知方面,我们简化了Lidar与Camera融合的难度,同时使用百万级别的标注数据对模型进行训练,使得感知的准召率大幅提升。

2024-01-31 10:15:18 34197 2

原创 Apollo智能驾驶|百度Apollo开放平台-核心层介绍(1)

12月19日,百度正式推出了Apollo开放平台的全新升级版本--Apollo开放平台9.0,面向所有开发者和生态合作伙伴,以更强的算法能力、更灵活易用的工具框架,以及更易拓展的通用场景能力,继续构筑自动驾驶开发的领先优势。此外,在自动驾驶教育、生态合作伙伴等方面,Apollo开放平台也带来了最新进展。在Apollo开放平台9.0中,百度从工程、算法、工具和文档四个方向实现了全面升级,使得Apollo系统在使用上更简单、更灵活、更高效。

2024-01-30 22:24:08 32901

原创 回溯算法—图

search方法为回溯算法的核心实现,它利用"candidate"参数表示当前可选的顶点集合,依次考虑将"candidate"中的每个顶点加入当前团中,并递归地搜索下一层状态。时间复杂度分析:对于每个节点,可以选择加入或者不加入当前团中,因此搜索树的宽度为2。对于每个节点,在搜索下一层状态时需要遍历剩余所有顶点,因此搜索树的深度为n。最终的最大团即为搜索过程中遍历到的所有团中顶点数最多的一个。由于需要搜索所有可能的团,时间复杂度为指数级别。回溯算法的基本思想是搜索所有可能的解,并在搜索过程中剪枝。

2023-06-17 19:49:00 222 5

原创 动态规划——数塔

给出一个数塔,从该数塔的顶层出发,在每一个节点可以选择向左走或向右走,一直走到该数塔的最底层,找出一条路经,使得路径上的数值和最大,输出最大数值及其路径,输出时要求有文字说明。

2023-06-17 17:52:44 200

原创 贪心算法——二维数组

给出n个城市及任意两城市间的距离,要求旅行家在旅行者n个城市时,各个城市经历且仅经历一次然后回到出发城市,使得所走的路径最短。输出结果,

2023-06-17 17:12:25 287

原创 简治——淘汰赛

如果初始没有选手参加竞技淘汰赛,则无法进行比赛,也就不会有冠军产生。以上代码实现了一个简单的随机比赛过程,并输出了每轮比赛的结果和最终的冠军信息。该算法的时间复杂度为O(log n),其中n为选手数量,因为每一轮比赛都会将选手数量减半,直到只剩下一名冠军。空间复杂度为O(1),因为算法只需要存储少量的变量数据。

2023-06-17 16:30:10 194

原创 减治算法——堆排序

在堆排序的过程中,需要进行n次heapify操作,每次操作的时间复杂度为O(logn),因此堆排序的总时间复杂度为O(nlogn)。

2023-06-17 16:06:38 94

原创 归并与快排

对于归并排序,我们将原序列不断拆分成两个子序列,直到只剩下一个元素或空序列,然后再将它们合并为有序序列。因此,归并排序的时间复杂度为 O(nlogn),空间复杂度为 O(n)。对于快速排序,我们先通过 partition 方法将序列划分成两个部分,左边的小于等于 pivot,右边的大于 pivot。然后分别对这两个部分进行递归排序。最优情况下的时间复杂度是 O(nlogn),即每次 partition 的结果都平均划。

2023-06-17 15:59:21 62 1

原创 分治法——堆

方法递归地将金碟从起始柱子移动到目标柱子,并根据题目要求进行大小排序。当只有一个金碟时,直接将它从起始柱子移动到目标柱子;否则将它上面的金碟先移动到借助柱子,然后再将自己移动到目标柱子,最后将借助柱子上的金碟移动到目标柱子。空间复杂度为O(n),因为递归调用占用的栈空间最大深度为n。算法复杂度分析:该算法的时间复杂度为O(2。

2023-06-17 15:36:16 71

原创 分治法-数组

以下是Java语言实现数字旋转方的程序,对给定的初始数进行数字填充并输出结果,并分析其时间复杂度。该程序通过四个变量leftrighttop和bottom来控制数字填充的边界范围。在每一轮填充中,首先从左到右填充一行,然后将上界加1;接着从上到下填充一列,然后将右界减1;如果上界仍然小于等于下界,则从右到左填充一行,然后将下界减1;如果左界仍然小于等于右界,则从下到上填充一列,然后将左界加1。程序继续循环直到所有数字都填充完毕。对于一个n×n的矩阵,该程序总共需要填充n2)。

2023-06-17 15:06:54 103

原创 选择冒泡蛮力算法

冒泡排序的核心思想是不断地比较相邻两个元素的大小,如果它们的顺序错误就交换它们的位置。由于需要将整个未排序部分都遍历一遍才能找到最大元素,并且每次找到一个最大元素都要进行n-i-1次比较操作,因此冒泡排序的时间复杂度也为O(n^2)。选择排序的核心思想是从未排序的部分中找到最小元素并将其放置在已排序部分的最后面。具体来说,选择排序每次会遍历未排序部分中的所有元素,找到其中最小的元素,并将其交换至已排序部分的末尾。由于需要将整个未排序部分都遍历一遍才能找到最小元素,因此选择排序的时间复杂度为O(n^2)。

2023-06-17 11:34:20 48

原创 数理基础与串匹配BF算法

首先,我们来介绍BF算法(Brute-Force Algorithm),也称为朴素匹配算法。该算法基于暴力枚举的思想,逐个比较主串S的每一个字符与模式串T的每一个字符是否相同,直到找到完全匹配或者遍历完整个主串。以上代码中,bfSearch方法用于实现BF算法,其中i表示主串S中当前比较位置的下标,j表示模式串T中当前比较位置的下标。当T中所有字符都与S中当前位置开始的一段子串对应相同时,返回该子串在S中的起始下标i。

2023-06-17 11:29:36 80

原创 servlet

Servlet是一种Java程序,它能够在Web服务器上接收和处理客户端请求并生成响应。Servlet通常用于创建动态Web页面或提供Web服务。Servlet是基于Java的服务器端技术,可以通过编写Java代码来控制Web应用程序的行为。与使用CGI(公共网关接口)相比,Servlet具有更好的性能和可扩展性。Servlet可以接收任何类型的请求,例如GET、POST、PUT和DELETE等。并且可以从HTTP请求中读取数据,并生成基于HTTP的响应。

2023-06-15 17:32:17 77

原创 javabean

为什么要引入javabeanJavaBean 是一种 Java 类,它遵循特定的命名约定并实现特定接口和规范。使用 JavaBean 可以将数据封装成对象,这样可以方便地进行操作和管理。引入 JavaBean 的主要目的是为了提高 Java 代码的可维护性和可重用性。JavaBean 具有以下几个优点:封装性:将数据封装在对象内,只暴露必要的属性和方法,屏蔽内部实现细节,提高安全性。可重用性:JavaBean 可以被其他程序调用,使得代码具有更好的可重用性,减少了代码的冗余。

2023-06-15 16:56:19 3220

原创 其他内置对象

请注意,第二种方法可能会导致变量名冲突,并且不同的JSP容器实现的JSP内置对象可能会略有不同。因此,建议使用第一种方式获取PageContext对象。

2023-06-15 16:55:28 57

原创 jsp内置对象(5)

在上面的代码中,首先通过调用方法获取了定义在web.xml文件中的三个应用程序初始化参数:dbUrl、dbUsername和dbPassword。然后使用这些参数建立一个数据库连接。需要注意的是,方法只能用于访问应用程序初始化参数。如果想要存储或访问其他类型的数据,需要使用ServletContext对象的其他方法,比如setAttribute()和getAttribute()等。

2023-06-15 16:54:57 55

原创 jsp内置对象(4)-session

在 JSP 中,可以通过内置对象session来创建和获取客户的会话。在上面的代码中,方法将返回当前请求的会话,如果没有会话存在则返回null。可以通过检查返回的值来确定是否需要提示用户登录或注册。在上面的代码中,和方法用于存储和检索与会话相关联的数据。这些数据将在整个会话期间保持不变,直到会话结束为止。

2023-06-13 22:15:55 617

原创 jsp内置对象(3)-response

在 JSP 中,可以通过 response 对象的方法来重定向到另一个网页。该方法需要传入一个字符串参数,即重定向到的目标网页的 URL。此代码将重定向到 http://example.com/newpage.jsp 网页。

2023-06-13 21:49:42 161

原创 jsp内置对象(2)-request

在 JSP 中,请求参数可以通过request对象来获取。我们可以使用如下方式从request在上面的代码中,方法接收一个字符串类型的参数,该参数是要获取的请求参数的名称。该方法会返回一个字符串,即请求参数的值。例如,在以下 JSP 页面中,我们可以获取name

2023-06-13 21:44:39 2215

原创 jsp内置对象(1)

​。

2023-06-13 21:41:03 49

原创 jsp基础语法

JSP(JavaServer Pages)是一种用于创建动态Web页面的技术,它允许开发者通过在HTML中嵌入Java代码来生成动态内容。该页面由HTML标签和JSP脚本构成。其中,<%= ... %>表示输出表达式的结果,而<% ... %>则表示执行一段Java代码。:定义文档类型为HTML。<html><head>和<title>:常规HTML标签,用于定义页面的结构和标题。<body>:包含了页面的主要内容。<h1>和<p>:用于定义标题和段落的HTML标签。

2023-06-12 22:39:50 1294

原创 前端开发基础(3)—JavaScript

1.什么是JavaScriptJavaScript是一种广泛用于Web开发的编程语言,它可以实现动态网页效果、交互式用户界面和数据验证等功能。JavaScript是一种解释型语言,不需要编译器,而是由浏览器直接解释执行。JavaScript最初由Netscape公司的Brendan Eich于1995年创建,当时它被称为LiveScript。后来,它被重命名为JavaScript,并在1996年被提交给ECMA(欧洲计算机制造商协会)进行标准化。

2023-06-12 22:35:16 1440

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除