Blog

Thinking will not overcome fear but action will.

汽车理论合集

AutoMotive

2022年学电动汽车理论技术时,本人录制的视频,视频全在B站。 手写理论相对较多,适合车辆大三学生初学者学习备考、企业工程师闲暇时回忆基础知识 1. 侧倾时垂直载荷的左右分配简化模型 视频链接 2. 前轮角阶跃输入下的瞬态响应 视频链接 3. 轮胎特性参数速成 视频链接 4. 电动汽车动力性分析1 视频链接 5. 电动汽车动力性分析2 视频链接 6. 电动汽车动力性分...

Git rebase&merge

git

最近没有时间,简单整个图 git rebase -i HEAD~2 squash 交互式操作

CICD基础

AutoMotive

首先感谢 浙大电院校友 Yinda Xu,如有疑问可以联系Yinda Xu 含义 某种意义上,CI/CD 的本质是:持续地针对每一个推到远端的 commit 进行 test/deployment。 CI/CD 的基础是 Test (关于 Testing)和 deployment。先搭建好 test/deployment,通过 CI/CD 去自动地、持续地运行。 CI: Contin...

ROS订阅流程分析2

ROS开发

分层订阅设计逻辑 上一篇文章重要是从订阅数据类型的角度进行了分析,这一篇从分层的角度继续深入。 1. NodeHandle层级的订阅任务 在上篇文章中,我介绍了下面的这个代码的一小部分,这次再详细介绍下这个代码 Subscriber NodeHandle::subscribe(SubscribeOptions& ops) { ops.topic = resolveName...

车载网络技术合集

CAN

2022年底学车载网络技术时,本人录制的车载网络技术视频,视频全在B站。 一共六个半小时,纯手写干货+理论推导,车载网络经典的ISO11898、SAEJ1939协议解析 1. CAN控制器SJA1000简述 视频链接 2. CAN Physical Layer物理层 视频链接 3. CAN位填充与报文收发 视频链接 4. CAN Data_Frame数据帧 视频链接 6....

ROS订阅流程分析1

ROS开发

ROS订阅调用的语句逻辑 1. 从显式调用层面理解订阅逻辑 经典的cpp-ros调用是如下所示的 subscriber = nh.subscribe("chatter", 10, &MyNode::cb, this); 而不是显示的调用下面的方式 subscriber = nh.subscribe<std_msgs::String, MyNode>("chatte...

图论算法加强版

迪杰斯特拉

力扣743题 网络延迟时间 有 n 个网络节点,标记为 1 到 n。 给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (u(i), v(i), w(i)),其中 u(i) 是源节点,v(i) 是目标节点, w(i) 是一个信号从源节点传递到目标节点的时间。 现在,从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,...

SOMEIP技术详解

SOA

SOME/IP协议简述 SOME/IP 协议是一个基于SOA架构的车载以太网应用层协议,并且被正式纳入了AUTOSAR规范。SOME/IP协议是架构在TCP/IP协议之上的应用层协议,它是一类轻量级的通信协议,通过定义SOME/IP报头(Header)来实现各类特性。 基本类型 事件:通常表示一部分数据发生了更新,或者经过了特定的时间间隔。在基于事件的通信过程中...

虚函数技术分析

多态

多态场景 多态这个词能看到这个博客的肯定都很熟了,这边来回顾下。 class Base { public: virtual void func1() { /* Base's func1 */ } virtual void func2() { /* Base's func2 */ } int base_data; }; class Derived : public...

线程池手撕

池式组件

线程池技术简介 线程池是一种并发编程的技术,用于有效地管理和复用线程资源。它由一组预先创建的线程组成,这些线程可以在需要时执行任务,并在任务完成后返回线程池中等待下一个任务。 线程池的主要目的是避免反复创建和销毁线程的开销,以及有效地控制并发线程的数量。通过使用线程池,可以降低系统的负载,并提高任务执行的效率。 以下是线程池的一些关键特点: 线程池包含一个线程队列和任务队列,任务...

内存池技术

池式组件


图论算法手撕题合集

图论算法

图论算法属于量大管饱,模板硬套 200. 岛屿数量 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例一 输入: grid = [ ['1','1','1','1','0'], ['1','1','0','...

经典手撕代码题合集(一)

动态规划

写在前面 动态规划的题目主要的步骤是: 搭记忆化搜索+DFS框架 明确递推的方程,从后往前推 明确递归的边界,明确记忆化的数组的尺寸 但是很多复杂的题目,实际上要涉及到二维,边界的考量因素比较困难,如果递推关系都找不出来,那更加麻烦,只能说是要慢慢积累 198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的...

强化学习入门1.1

马尔可夫过程

原文 https://www.cnblogs.com/hitwherznchjy/p/15927190.html 博客园用markdown语法写的第一篇文章,在这里非常感谢 小么VinVin对我的帮助。 我先在这里分享一下写强化学习的原因。大三上学期,学院开设了智能车辆规划与决策课程,由于学时的限制,最后决策部分的内容只讲了有限状态机和马尔可夫决策。我利用寒假这段时间,继续补充了强化学习...