自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 加入[无人驾驶吕同学]Apollo专属课程领礼品啦!

之前我已写过几篇Apollo控制模块的代码解析,但是无人驾驶知识不够全面,没有形成完整体系。借助本次Apollo领航官专属课程,结合自身所学无人驾驶知识和Apollo社区丰富的视频、文章、实验资源,全方面解析Apollo官方开源代码,整理出一门系统化、实战化的无人驾驶教程。

2023-08-09 20:32:57 168

原创 六篇文章带你解析Apollo控制模块 - Part 3:车辆动力学模型

动力学模型分析是整个无人车控制模块的基础,同时也是动力学模型是否准确也直接影响控制模块的精度。本文首先介绍了车辆的轮胎坐标系模型,明确参考系的正方向,描述侧偏力、侧偏角以及侧偏刚度之间的关系;之后,计算推导车辆二自由度模型中横向加速度、横摆角加速度与轮胎转角之间得状态空间方程;最后,由二自由度模型计算车辆与参考路径得横向误差以及航向角误差,推导出其状态方程。

2023-03-17 20:12:13 1931

原创 六篇文章带你解析Apollo控制模块 - Part 2:控制器管理

本文介绍了Apollo控制模块所使用的控制方式,包括横向控制器+纵向控制器和MPC控制器两种方式。通过代码介绍了控制器初始化方式、控制器管理方式以及如何通过c++多态特性创建不同控制器对象

2023-03-06 23:53:38 1165

原创 六篇文章带你解析Apollo控制模块 - Part 1:基础架构介绍

本文介绍控制模块入口组件ControlComponent,文件位置为"modules/control/control_component.h"。本文未涉及到控制部分的核心算法,只是讲解Apollo控制模块的最外层包装处理部分,但是读懂这些代码对Apollo整个架构有帮助,能了解到Apollo一些参数载入方式、通用数据处理方式和数据封装方式。

2023-03-05 16:06:15 1380

原创 Apollo学习(2)-- Proto消息文件类型

Apollo学习(2)-- Proto文件规范、编译方法及消息方法函数,如set_(),get_(),mutable_()等函数

2023-02-22 22:45:35 631

原创 Apollo学习(1)-- Cyber模块解析

Apollo学习(1)-- Cyber架构talk-listener机制和Component机制原理及示例代码解析

2023-02-20 23:00:01 924

原创 计算车辆纵向误差Compute Longitudinal Errors

#ComputeLongitudinalErrors主函数void LonController::ComputeLongitudinalErrors( const TrajectoryAnalyzer *trajectory_analyzer, const double preview_time, const double ts, SimpleLongitudinalDebug *debug) { // the decomposed vehicle motion onto Frenet

2020-05-11 11:00:33 947

原创 Apollo5.5规划代码分析(4)-frenet和cartesian坐标转换

#pragma once#include <array>#include "modules/common/math/vec2d.h"namespace apollo {namespace common {namespace math {// Notations:// s_condition = [s, s_dot, s_ddot]// s: longitudin...

2020-04-12 11:17:20 2673

原创 Apollo5.5规划代码分析(3)

/* * @brief: * This class solve an optimization problem: * Y * | * | P(x1, y1) P(x2, y2) * | P(x0, y0) ... P(x(k-1), y(k-1)) * |P(start)...

2020-04-09 12:40:20 1321

原创 Apollo5.5规划代码分析(2)

cos_theta_smoother.h(用户可以调用这个函数CosThetaSmoother::Solve()函数优化自己的路径)#pragma once#include <utility>#include <vector>#include "modules/planning/proto/cos_theta_smoother_config.pb.h"nam...

2020-04-09 11:12:05 1181 1

原创 Apollo5.5规划代码分析(1)

modules目录下的子目录├─ calibration// 标定模块,现在已经实现自动标定的功能├─ canbus // can总线相关的模块├─common // 公共源码模块如日志,工厂模式的实现,日志系统,监控模块,数学算法等├── control // 幅度和度的相互转换├── data // 数据的收集,存储和处理├── dreamview // 可视化模块,查看规划的轨迹...

2020-04-08 12:34:53 2425

原创 2.C++Vector容器

vector可以动态扩展(拷贝到新空间,释放原空间)Vector容器的迭代器是支持随机访问的迭代器Vector构造函数vector赋值容量和大小插入和删除数据存取互换容器v2.swap(v1);实际用途:收缩内存预留空间...

2020-04-05 15:18:57 90

原创 1.c++的string容器

string容器构造函数原型:stringstring(const char* s)string (const string& str)string(int n,char c)string赋值操作string& operator=(const char* s)string& operator=(const string &s)string&...

2020-04-04 22:32:18 106

原创 代码学习(1)

http://git.bitfsd.cn:3000/Map.msg(地图,路标位置)std_msgs/Header header //时间戳fsd_common_msgs/Cone[] cone_redfsd_common_msgs/Cone[] cone_bluefsd_common_msgs/Cone[] cone_yellowfsd_common_msgs/Cone[] ...

2020-04-04 21:44:24 472

原创 机器学习课程(吴恩达)编程答案(2)

plotData.mfunction plotData(X, y)%PLOTDATA Plots the data points X and y into a new figure % PLOTDATA(x,y) plots the data points with + for the positive examples% and o for the negative exampl...

2020-03-30 16:43:52 332

原创 Real-Time Trajectory Planning for Autonomous Urban Driving: Framework, Algorithms, and Verifications

Real-Time Trajectory Planning for Autonomous Urban Driving: Framework, Algorithms, and Verifications目的generating dynamically feasible trajectories in real time with limited onboard computational res...

2020-03-26 16:55:26 680

原创 机器学习课程(吴恩达)学习笔记(3)—分类算法和正则化

Logistic Regression

2020-03-16 20:56:47 172

原创 机器学习课程(吴恩达)学习笔记(2)—MATLAB和Octave代码

MATLAB和Octave代码(通用)cd 'D:\matlab\'A=[1,2;3,4;5,6];B=A(2,:);C=A([1,3],:);sz=size(A);size1=size(A,1);size2=size(A,2);D=[A,[100;200;300]];E=A(:);v=[1 2 3 4 5 6];length1=length(v);load X....

2020-03-09 21:44:11 325

原创 W: 仓库 “http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial Release” 没有 Rele

sudo apt-get updateW: 仓库 “http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu xenial Release” 没有 Release 文件。把勾去掉

2020-03-04 09:33:24 2482 2

原创 论文学习:《Accurate, Low-Latency Visual Perception for Autonomous Racing》

(一)摘要The key components of DUT18D include YOLOv3-based object detection, pose estimation and time synchronization on its dual stereovision/monovision camera setupOf critical importance in autonomous...

2020-03-03 23:05:56 227

原创 机器学习课程(吴恩达)学习笔记(1)—机器学习

(一)机器学习分类监督学习Supervised Learning数据集+标记(正确的答案)Regression:回归问题(结果为连续值)Classfication:分类问题(结果为离散值)无监督学习Unsupervised LearningCluster Algorithms聚类算法The Cocktail party Algorithm(二)线性回归The Cost Funct...

2020-03-02 15:16:33 115

原创 STM32F103固件库编程(8)—CAN通讯

CAN寄存器工作模式正常模式:可向总线发送和接收静默模式:不能向总线发送,但可接收回环模式:能向总线发送,接收的是发送端的数据(收不到总线的数据)回环静默模式:不能向总线发送和接收位序接收筛选器CAN的初始化结构体typedef struct{ uint16_t CAN_Prescaler; uint8_t CAN_Mode; ...

2020-02-26 11:50:10 327

原创 ROS基础知识学习笔记(10)—Robot_Localization代码

Boost用法详解原博客链接:https://blog.csdn.net/Windgs_YF/article/details/81201456

2020-02-21 20:39:31 1494

原创 ROS基础知识学习笔记(9)—Robot_Localization

https://wiki.ros.org/tf2_geometry_msgshttps://wiki.ros.org/tf2_bullet

2020-02-20 20:36:51 3942

原创 单目摄像头实现实时3D位姿估计

Real-time 3D Pose Estimationwitha Monocular Camera Using Deep Learning and Object Priors On an Autonomous RacecarTo this end, we propose a low-latency real-time pipeline to detect and estimate 3D pos...

2020-02-19 19:58:16 1803

原创 ROS基础知识学习笔记(8)—发布订阅和客户端服务

(一)发布器与订阅器发布节点#include "ros/ros.h"#include "std_msgs/String.h"#include <sstream>int main(int argc, char **argv){ ros::init(argc, argv, "talker"); ros::NodeHandle n; ros::Publishe...

2020-02-16 16:53:07 624

原创 ROS基础知识学习笔记(7)—C++模板和引用

模板特点:模板只是一个框架,不可以直接使用模板不是万能的泛型编程函数模板和类模板template <typename T>//函数声明或定义//typename可以用class代替...

2020-02-15 16:18:42 312

原创 ROS基础知识学习笔记(6)—三维空间刚体旋转

ROS基础知识学习笔记(6)—三维空间刚体旋转(一)旋转矩阵内积和外积欧式变换R就是旋转矩阵(二)变换矩阵与齐次坐标(三)旋转向量(四)欧拉角(五)四元数(Quaternion)四元数既是紧凑的,也没有奇异性...

2020-02-14 09:50:31 274

原创 ROS基础知识学习笔记(5)—TF2 Package

1.安装TF功能包sudo apt-get install ros-$ROS_DISTRO-turtle-tf2 ros-$ROS_DISTRO-tf2-tools ros-$ROS_DISTRO-tf2.功能包提供的例子roslaunch turtle_tf2 turtle_tf2_demo.launch这个例子是键盘控制turtle1,然后turtle2会追赶turtle13....

2020-02-13 20:21:20 970

原创 ROS基础知识学习笔记(4)—C++类和对象(2)

(一)C++对象模型和this指针成员变量和成员函数分开存储空对象占用内存为1每个空对象有个独一无二的内存地址非静态成员变量,属于类的对象上静态成员变量,不属于类的对象上非静态成员函数,不属于类的对象上非静态成员变量,属于类的对象上this指针概念this指针指向被调用的成员函数所属的对象解决名称冲突返回对象本身*this空指针可以调用成员函数const 可以修饰...

2020-02-13 09:50:46 244

原创 ROS基础知识学习笔记(3)—C++类和对象

(一)C++面向对象三大特性:封装、继承、多态C++认为万物都为对象,对象有属性和行为类中的属性和行为,统一称为成员属性—成员属性—成员变量行为—成员函数—成员方法#include <iostream>using namespace std;class Student{public: string Name; int Id; void ...

2020-02-12 17:56:35 558

原创 ROS基础知识学习笔记(2)—C++指针

(一)指针#include <iostream>using namespace std;int main(){ int a=10; int* p; p=&a; cout<<"变量a的值\t"<<a<<endl; cout<<"变量a的地址\t"<<&a&lt...

2020-02-11 17:57:37 459

原创 ROS基础知识学习笔记(1)—数据类型

ROS学习笔记(1)—数据类型std_msgs(Standard ROS Messages)标准数据类型参考网站:http://wiki.ros.org/std_msgsROS Message TypesBoolByteByteMultiArrayCharColorRGBADurationEmptyFloat32Float32MultiArrayFloat64Float...

2020-02-10 14:42:47 2116

原创 e2fsprogs : 预依赖: e2fslibs (= 1.42.13-1ubuntu1) 但是 1.42.13-1ubuntu1.1 正要被安装 E: 有未能满足的依赖关系

问题1.E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?2.下列软件包有未满足的依赖关系:e2fsprogs : 预依赖: e2fslibs (= 1.42.13-1ubuntu1) 但是 1.42.13-1ubuntu1.1 正要被安装E: 有未能满足的依...

2020-02-07 10:20:21 1657

原创 STM32F103固件库编程(7)—SPI

STM32F103固件库编程(7)—SPI(一)SPI硬件SPI architecture(SPI 架构)(二)SPI协议层(三)SPI通讯过程1.当发送完一帧数据的时候,“状态寄存器SR”中的“TXE标志位”会被置1,表示传输完一帧,发送缓冲区已空;类似地,当接收完一帧数据的时候,“RXNE标志位”会被置1,表示传输完一帧,接收缓冲区非空;2.等待到“TXE标志位”为1时,若还要...

2020-02-06 12:08:38 629

原创 STM32F103固件库编程(6)—I2C

STM32F103固件库编程(6)—I2C

2020-02-04 11:56:39 920

原创 STM32F103固件库编程(5)—USART

STM32F103固件库编程(5)—USART(一)USART寄存器映象(二)时钟函数及其参数USART1在APB2(高速)USART2、USART3、USART4、USART5在APB1(低速)void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState){ /* Check the ...

2020-02-02 19:08:40 498

原创 STM32F103固件库编程(4)—中断服务

系统异常,体现在内核水平外部中断,体现在外设水平NVIC:嵌套向量中断控制器,属于内核外设

2020-02-01 15:14:31 564

原创 STM32F103固件库编程(3)—STM32的生命线(时钟树)

STM32固件库编程(1)—时钟树(RCC)STM32F103最高72MHSE时钟(High Speed External Clock signal):高速外部时钟来源:无源晶振(4-16M)通常使用8M控制:RCC_CR时钟控制寄存器的位16:HSEON控制一般9倍频,8*9=72MHSI:高速内部时钟,精度低,受温度影响大(备胎)来源:芯片内部控制:RCC_CR时钟控制寄存器的...

2020-01-31 15:44:47 380

原创 STM32F103固件库编程(2)—位带操作

STM32F103固件库编程(2)—位带操作与51单片机对比STM32F103的位带操作相当于51单片机的sbit。因为STM32F103每次操作都是4个字节(32位),所以我们要把一个位变成32位,其中膨胀后的最后一位就是原来的位。这样之后,通过赋值0或1,就能控制最后一位(即原来的位)。STM32F103的位带区位带区和位带别名区地址转换一个位膨胀成四个字节,这样便于STM32以...

2020-01-31 10:14:04 2795

空空如也

空空如也

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

TA关注的人

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