frank909
码龄13年
关注
提问 私信
  • 博客:3,430,152
    社区:1,505
    问答:1,746
    动态:154
    3,433,557
    总访问量
  • 148
    原创
  • 2,145,310
    排名
  • 15,013
    粉丝
  • 17
    铁粉

个人简介:爱阅读的程序员,专注于技术思考和分享。关注架构设计、Android 开发、AI、数学、自动驾驶领域,个人公号:Frankcall

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2011-10-06
博客简介:

frank 的专栏

博客描述:
人类的一切智慧是包含在这四个字里面的:”等待“ 和 ”希望“。—— 《基督山伯爵》
查看详细资料
个人成就
  • 博客专家认证
  • 获得7,585次点赞
  • 内容获得2,130次评论
  • 获得16,405次收藏
  • 代码片获得6,456次分享
创作历程
  • 12篇
    2022年
  • 14篇
    2021年
  • 21篇
    2020年
  • 36篇
    2019年
  • 20篇
    2018年
  • 22篇
    2017年
  • 24篇
    2016年
成就勋章
TA的专栏
  • Java 高级反射轻松进阶系统
    付费
    6篇
  • Linux 多进程通信系列
    付费
    8篇
  • 软件架构
    6篇
  • 自动驾驶
    21篇
  • Apollo
    2篇
  • 深度学习入门
    13篇
  • 技术理解
    2篇
  • 死磕YOLO系列
    4篇
  • linux基本功
    3篇
  • 设计模式
    6篇
  • Linux多线程开发
    1篇
  • Android 中级进阶相关的知识点
    25篇
  • Tensorflow 从入门到进阶
    4篇
  • Android笔记
    33篇
  • Android开发异常汇总
    5篇
  • Android FrameWork疑点难点Tips
    2篇
  • Android实用开源库
    2篇
  • 开发工具使用技巧或疑难杂症
    1篇
  • Java 基础知识
    6篇
  • Kotlin 学习计划
    2篇
  • Android 自定义 View
    3篇
  • IT
    12篇
  • 机器学习
    4篇
  • 深度学习
    18篇
  • Tensorflow
    4篇
  • OpenCV学习笔记
    3篇
  • Python 基本功
    8篇
  • C/C++ 基本功
    15篇
  • 算法
    10篇
兴趣领域 设置
  • 人工智能
    opencv
个人介绍
公号:Frank909
专注于个人成长与独立思考。

----我的微博,点击本行----

加我微信,入群沟通
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

汽车软件通信中间件SOME/IP简述

文章目录1.SOME/IP 是中间件吗?2. SOME/IP 能干嘛?3. SOME/IP 与 CAN 的不同?通信速度通信负荷4. SOME/IP 和车载以太网、IP有什么关系?4. SOME/IP 和 Autosar、SOA 的关系?5. SOME/IP 的形态?6. SOME/IP 的消息格式?SOME/IP 消息结构Message IDRequest IDMessage TypeReturn CodePayloadEndianess7. SOME/IP 支持的数据结构类型基础数据类型结构化数据类型8
原创
发布博客 2022.05.26 ·
2253 阅读 ·
2 点赞 ·
2 评论 ·
37 收藏

用系统架构中的系统思维分析一个咖啡厅系统

此文是对《系统架构》中第2章系统思维的笔记,前前后后看了很多遍,为了达到活学活用,尝试用系统思维分析一个生动的现实生活中的案例,这样有助于更深刻的理解及现实的建模能力。现分享给大家一起讨论。1. 什么是系统思维?系统就是整体看待事情。把一个问题、一个现象、一种状态等等以更全面的视角去当成一个系统看待,关心它的结构和内部元素之间的关系。系统思维和其他思维是并列的,比如批判性思维、分析思维、创新思维等等。比如乘坐汽车去旅行,车发生意外冲到了路边差点撞到书。然后,不同的人看待这件事的时候,一般都会指责司机
原创
发布博客 2022.05.15 ·
1698 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

汽车软件通信中间件iceoryx和它的零拷贝技术

这是一头漂亮的"冰羚",它是一种用于汽车软件中的 ICP 通信中间件,由 Eclipse 基金会发布和维护。
原创
发布博客 2022.04.17 ·
6247 阅读 ·
6 点赞 ·
1 评论 ·
42 收藏

通信中间件 Fast DDS 基础概念简述与通信示例

从事汽车软件开发,通信中间件绕不开,当前最火热的无非有 2 种:Some/IP 和 DDS。DDS 是一种分布式通信标准,有很多商业和开源的实现,Fast DDS 是其中的一种。它在 ROS2 中被应用,而 Apollo 中的 CyberRT 框架中也有它的身影。讲 Fast DDS 之前先讲什么是 DDS。1. 什么是 DDS ?DDS 是 OMG 组织发布的一种中间件协议和 API 标准,它将系统的组件集成在一起,提供业务和任务关键型物联网 (IoT) 应用程序所需的低延迟数据连接、极高的可靠性和
原创
发布博客 2022.04.10 ·
15855 阅读 ·
23 点赞 ·
9 评论 ·
173 收藏

自动驾驶Apollo源码分析系统,CyberRT篇(一):简述CyberRT框架基础概念

1. CyberRT 是什么?Apollo Cyber RT 是专为自动驾驶场景设计的开源、高性能运行时框架。 基于中心化计算模型,主要价值是提升自动驾驶系统的高并发、低延迟、高吞吐。Apollo 并不是一开始就使用 CyberRT,在 v3.0 之前用的都是基于 ROS 框架进行开发。但在之前的版本中发现了很多问题,随着 Apollo 的发展,对最高水平的稳健性和性能的需求, Apollo Cyber RT 应运而生,它满足了一个面向商业化的自动驾驶解决方案的基础需求。CyberRT 最明显的 3
原创
发布博客 2022.03.11 ·
14220 阅读 ·
46 点赞 ·
9 评论 ·
179 收藏

自动驾驶 Apollo 源码分析系列,系统监控篇(四):Monitor模块如何监控进程 Process 的存活状态?

本篇文章分析 Apollo 中监控模块中监控进程状态的相关代码。1. ProcessMonitorProcessMonitor 是一个普通的定时器组件,内部函数也只是常规的 RunOnce 和 UpdateStatus,所以,可以推断出它的逻辑非常简单。但要注意的是它引入的头文件有 hmi_mode 和 system_status 两个,这说明它要从中获取一些数据结构定义。上面的代码说明,ProcessMonitor 中的 RunOnce 每隔 1.5s 被触发一次。工作流程分为 4 个步骤
原创
发布博客 2022.02.26 ·
1873 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

自动驾驶 Apollo 源码分析系列,系统监控篇(三):Monitor模块如何监控通信中 channel 的时延?

上一篇文章分析了 Apollo 框架中 Monitor 模块如何监控硬件,这篇文章继续分析 Monitor 是如何监控软件的,数据通信中 channel 是本文主要分析对象。1. 受监控的内容上图是之前的文章总结的,可以看到软件监控有 8 类对象:Channel Monitor 数据通信频道监控Functional Safety Monitor 功能安全监控Latency Monitor 时延监控Localization Monitor 定位监控Module Monitor 模块监控Pr
原创
发布博客 2022.02.20 ·
1683 阅读 ·
0 点赞 ·
2 评论 ·
5 收藏

汽车软件架构学习笔记(二):理解系统架构中的系统思维

本文的目的是阐述应对系统架构相关工作当中的系统思维。1. 什么是系统?什么不是系统?先上定义。系统是由一组实体和这些实体之间的关系所构成的集合,其功能要大于这些实体各自的功能之和。 《系统架构》系统中包含很多实体,实体之间有相互的关系,因为有相互关系,所以会产生一些功能。一块板砖不是系统,但一堵墙可以看成是系统。板砖是墙中的实体,混凝土提供实体中的粘合关系,墙的功能是抗风、防贼等。宏观层面,一个人不是系统,但一个公司却算一个系统,人是公司员工是实体,员工之间的工作协同机制就是相互关系,一个公
原创
发布博客 2022.01.30 ·
519 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

自动驾驶 Apollo 源码分析系列,系统监控篇(二):Monitor模块如何监控硬件

前面的文章有分析,Monitor 模块监控的内容分为 Hardware 和 Software 两位。本篇分析硬件监控部分。首先,可以观察一下 Apollo 官方文档给出的硬件连接图。跟自动驾驶本身相关的无非是传感器和底盘。当前 Monitor 系统支持的硬件类监控有 4 个:ESD CANGPSResourceSOCKET CAN监控 ESD CANESD CAN 是一种 CanCard,在 Apollo 中通过 PCIe 接口连接到 6108 工控机上面,在 Apollo 1.
原创
发布博客 2022.01.17 ·
1571 阅读 ·
0 点赞 ·
0 评论 ·
12 收藏

自动驾驶 Apollo 源码分析系列,系统监控篇(一):简析Monitor模块工作机制

前面的文章分析了 Apollo 6.0 中的 Guardian 模块,引发了我对 Monitor 模块的好奇心。​我们可以看到 Guardian 除了接收 Control 模块的信息外,还要接收来自 Monitor 发过来的信息,事实上 Guardian 根据 Monitor 传输的 system status 信息判断是否需要紧急停车。​本篇文章的目的就是为了搞清楚 Monitor 的主要工作流程。​Monitor 的职责根据 Apollo 官方开发者文档提示,Monitor 模块主要作用
原创
发布博客 2022.01.13 ·
1402 阅读 ·
0 点赞 ·
0 评论 ·
13 收藏

自动驾驶 Apollo 源码分析系列,安全守护篇(一):为何紧急刹车?

这篇文章主要分析 Apollo 6.0 中一个简单的模块:Guardian。
原创
发布博客 2022.01.10 ·
1127 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

汽车软件架构学习笔记(一):九问软件架构

Q1.什么是软件架构?软件架构的定义没有一个统一的标准,各有各的看法。但可以参考来自SEI的定义:计算系统的软件架构是解释该系统所需要的结构体的集合,包括软件元素、元素的交互,以及两者各自的属性。可以从 2 个维度描述:静态结构,包括层次、模块划分以及更细节的数据结构体等等,代表一个系统的骨架,就如一幢建筑物的框架;动态行为,包括模块间的通信、交互机制,代表系统的行为。Q2.什么属于架构层面的内容?架构一般指的是软件系统宏观层面的设计部分,前面讲到架构是骨架,关注于整体,一般不会关注于
原创
发布博客 2022.01.09 ·
2502 阅读 ·
0 点赞 ·
0 评论 ·
16 收藏

ROS2 中的 launch 文件入门的 6 个疑问

本文记录了 ROS2 中 launch 文件学习过程中我个人觉得重要的 6 个基本问题,和大家分享,希望可以帮到初学者。疑问1:launch 文件有什么用?通过 launch 文件,ROS2 可以同时启动许多节点,这样简化了用命令行去多次启动不同的 Node。​疑问2:launch 文件怎么用?完整的命令:​ros2 launch <package_name> <launch_file_name>​也可以直接启动 launch 文件,像这样:​ros2 lau
原创
发布博客 2021.09.16 ·
1952 阅读 ·
3 点赞 ·
1 评论 ·
9 收藏

自动驾驶 Apollo 源码分析系列,感知篇(九):感知融合中的数据关联细节

前一篇文章讲了,Apollo 6.0 中融合的代码逻辑流程,但那是基于软件的角度进行梳理和分析的,这一篇文章基于上篇的成果进一步对算法进行较深入的分析,主要涉及到多目标跟踪中的数据关联和滤波算法。目标跟踪的基础知识概念为保持文章内容由浅入深,先做一些基础的概念介绍。卡尔曼滤波如何工作?数据融合最常见的算法是卡尔曼滤波及其变种。卡尔曼滤波是一个多次迭代的算法,一个周期内的工作如图所示:一个目标初始状态,经过 T 时间后,调用 Predict() 方法,初始状态会移植到预测状态,一般 Predic
原创
发布博客 2021.07.14 ·
4654 阅读 ·
20 点赞 ·
8 评论 ·
55 收藏

自动驾驶 Apollo 源码分析系列,感知篇(八):感知融合代码的基本流程

说起自动驾驶感知系统,大家都会谈论到感知融合,这涉及到不同传感器数据在时间、空间的对齐和融合,最终的结果将提升自动驾驶系统的感知能力,因为我们都知道单一的传感器都是有缺陷的。本篇文章梳理 Apollo 6.0 中的感知数据融合基本流程。感知架构文章开始前,还是需要先看一看 Apollo 中感知的整体架构。它有这么多传感器。那感知融合,最终要融合什么呢?Apollo 的感知系统的结果要以分为 2 个大类:障碍物检测(车、行人或者其它交通要素)红绿灯检测借助于激光雷达和深度学习,Apol
原创
发布博客 2021.06.22 ·
6233 阅读 ·
9 点赞 ·
9 评论 ·
72 收藏

自动驾驶 Apollo 源码分析系列,感知篇(七):Lidar 障碍物检测基本流程

Apollo 系统传感器是以 Lidar 为主的,本文整理在 Apollo 6.0 中 Lidar 的基本代码流程。1. 从 Component 出发因为有了之前红绿灯检测代码分析的经验,我们自然能够知道感知任务先从它的 component 开始。lidar 检测的 component 是modules/perception/onboard/component/detection_component.cc梳理代码可以得到基础的流程框架:1.1 initConfiginitConfig 从本地
原创
发布博客 2021.06.14 ·
3724 阅读 ·
10 点赞 ·
2 评论 ·
33 收藏

关于中国自动驾驶国标中 L3 等级的 5 个思考点

2021 年随着众多自动驾驶车型发布,越来越多的普通消费者开始了解高级别自动驾驶。之前大家讨论说 L3 车型不能落地是因为法律法规不允许,可实际上中国已经有了自动驾驶标准《汽车驾驶自动化分级》,由工信部发布,于 2021 年 1 月 1 日正式执行。近期,我认真阅读了该标准并结合我对行业的认识产生了一些疑问,归纳成 5 个问题。问题1:中国自动驾驶标准依据什么制定?很大程度应该是参考 SAE J3016 标准,然后在此基础上做了针对国情的修整。并且, J3016 是行业标准,但《汽车驾驶自动化分级》
原创
发布博客 2021.05.08 ·
2042 阅读 ·
5 点赞 ·
7 评论 ·
10 收藏

自动驾驶激光点云 3D 目标检测 PointPillar 论文简述

之前有针对 VoxelNet 这篇论文做过简述,今天的主题是 PointPillar。PointPillar 是 2019 年提出来的模型,相比于之前的点云处理模型,它有 3 个要点:提出 Pillar 这个概念,将类 PointNets 模型能够以 Pillar 为基础单位学习点云特征运用标准化的 2D 卷积进行后续处理快,满足实时要求,最快的版本到达 105 HzPointPillar 和前辈处理点云最先需要大量的手工作业,后来 VoxelNet 第一次引入了真正的端到端的特征学习。但
原创
发布博客 2021.04.11 ·
5421 阅读 ·
12 点赞 ·
2 评论 ·
45 收藏

自动驾驶激光点云 3D 目标检测 VoxelNet 论文简述

自动驾驶感知视觉有 2 个流派,分别是摄像头视觉和激光雷达视觉,本文分析激光雷达视觉当中经典的算法模型 VoxelNet。论文:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection这是 2017 年的论文出自苹果公司算法团队,这篇论文对于刚学习激光雷达目标检测的同学来讲非常有参考价值。图像和点云摄像头对环境进行测量,产生的一般是 RGB 格式图片,图片上的一个像素通常有 rgb 3 个颜色通道的数据。一般说图
原创
发布博客 2021.03.31 ·
2103 阅读 ·
4 点赞 ·
1 评论 ·
18 收藏

自动驾驶 Apollo 源码分析系列,感知篇(六):车道线 Dark SCNN 算法简述及车道线后处理代码细节简述

本文大纲自动驾驶中的车道线检测思路SCNN 算法思想Apollo 中对应的 dark scnn 代码逻辑LRUD 对应模型结构heatmap 对应代码逻辑车道线存在性预测分支代码mask 曲线拟合车道线表示2D 车道线检测3D 车道线检测总结优点不足自动驾驶中的车道线检测思路车道线检测是 ADAS 领域和高级别自动驾驶都非常重要的一环,属于环境感知和定位中的核心项。人可以轻易分辨道路上的车道线,但是对于机器而言,却非常的难,人脑有先验知识,有极速的上下文理解能力,但机器而言只有一张 2 维的图片,然后
原创
发布博客 2021.02.27 ·
7041 阅读 ·
19 点赞 ·
7 评论 ·
84 收藏
加载更多