自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ROS学习(二)

话题通信——创建发布方ros中节点之间的通信通过话题发布/订阅实现,节点之间是通过ros master节点进行建立连接,发布者与订阅者的话题必须一致方可建立连接。建立起连接之后即可实现两个节点的消息通讯。#include"ros/ros.h"

2022-04-16 21:32:48 253

原创 ROS学习(一)

以下过程描述了如何建立一个ros工作空间,并实现程序运行。1、新建文件夹,用于存放功能包及相关代码mkdir -p catkin_ws/src2、编译工作空间执行catkin_make,之后会在当前文件夹下生成相关编译文件。3、创建功能包catkin_create_pkg sayhello roscpp rospy std_msgs其中,sayhello为功能包的名称,后三项为依赖。4、创建源码在sayhello文件夹下创建hello.cpp文件#include"ros/ros.h"i

2022-04-15 21:36:17 296

原创 路径规划——RRT算法实现

路径规划算法RRT代码实现

2022-03-30 16:42:42 1443 1

原创 判断指定点与凸多边形的位置关系

判断某点是否在凸多边形内部

2022-03-26 21:41:43 809

原创 win10安装mingw

mingw32不支持thread线程库,要使用该库需要安装mingw64,并且安装过程中将threads选项设置为posix,具体可参考该文章进行安装——https://zhuanlan.zhihu.com/p/355510947

2021-11-07 16:00:23 278

原创 Udacity-MPC部分代码段讲解

2021-10-17 11:25:40 414

原创 优化方法——0.618法(黄金分割法)

#include <iostream>using namespace std;//0.618法class Solution{public: Solution(double x, double y) :a(x), b(y) { cout << "init parameter success\n"; } double func(double& x) const//计算函数值 { return x*(x + 2); } double solve(do

2021-10-16 16:19:49 755

原创 栈在括号匹配中的应用(C语言)

#include<stdio.h>#define MaxSize 10typedef char ElemType;typedef struct{ ElemType data[MaxSize];//数据域 int top;//栈顶指针(类似指针的作用,并非指针)}SqStack;//初始化栈bool InitStack(SqStack &L){ L.top = -1;//仅作初始化 return true;}//判空bool IsEmp

2021-06-02 23:10:45 200

原创 栈的顺序存储实现(C语言)

#include<stdio.h>#define MaxSize 10typedef struct{ int data[MaxSize];//数据域 int top;//栈顶指针(类似指针的作用,并非指针)}SqStack;//初始化栈bool InitStack(SqStack &L){ L.top = -1;//仅作初始化 return true;}//判空bool IsEmpty(SqStack &L){ if(

2021-06-02 22:05:22 110

原创 顺序表

顺序表的静态分配实现://顺序表的静态分配实现#define MaxSize 10typedef struct { int length; int data[MaxSize];}SqList;void InitSqList(SqList &L){ int i=0; for(i=0;i<L.MaxSize;i++)//重置内存数据 不是L.length { L.data[i]=0; } L.length=0;}void Insert(SqList &am

2021-05-10 22:03:33 50

原创 Lane Change Path

[参考文献]:Path Planning and Fault-tolerant Control Based on Resistance Network for Autonomous Driving代码实现:x1=20;x2=80;y1=0;y2=20;xp=0:0.05:100;yp=zeros(1,length(xp));for i=1:length(xp) if xp(i)<x1 yp(1,i)=y1; end if xp(i)>=.

2021-04-19 20:24:22 189

原创 ackermann_msgs

运行环境为Ubuntu 18.04.ROS下编译时遇到如下错误:– Could NOT find ackermann_msgs (missing: ackermann_msgs_DIR)– Could not find the required component ‘ackermann_msgs’. The following CMake error indicates that you either need to install the package with the same name or

2021-04-11 13:58:49 2122 4

原创 gazebo模型存放路径

gazebo模型gazebo仿真环境模型存放于~/.gazebo/models文件夹下,可以称之为模型包。如果自己搭建了新的仿真环境模型,可以将其复制到models文件夹,完成导入。则在其他工程中都可以调用该仿真模型。...

2021-04-11 11:51:08 3922 5

原创 ESP车身稳定系统

ESP是英文Electronic Stability Program的缩写,中文称作车身稳定系统,还有叫做ESC或其他叫法。其工作原理是通过监测轮胎打滑和车身动态,实现限制打滑和失控的系统。当车辆经过摩擦力较小的路面或紧急转向情况时,容易发生转向过度或转向不足,导致无法受驾驶员控制,这时候ESP就会通过对某一车轮进行制动,利用产生的横摆力矩使车身保持稳定。一、监测车身状态方向盘角度传感器用于检测车轮转角与车辆实际行驶方向是否一致;横摆传感器监测车辆在z轴方向的横摆角速度,当车辆失控时,横摆角速度会产

2021-03-26 21:29:20 1745

原创 从零开始自动驾驶-gazebo学习入门02

在空白世界里放一个立方体一、导入模型建立catkin工作空间mkdir -p catkin_ws/srccd catkin_wscatkin_make建立一个box功能包:catkin_create_pkg box将https://github.com/czhherry/self-driving-vehicle-101中的04_intro_to_urdf工程下的两个文件clone到cartkin_ws/src/box目录下,使用如下命令,可在gazebo中打开一个立方体:roslaun

2021-03-06 14:08:06 307

原创 从零开始自动驾驶-gazebo学习入门01

使用Gazebo搭建空白世界一、打开gazebo1>.在terminal输入gazebo打开一个空白世界2>.在gazebo中有自带的世界,可以使用roslaunch命令打开roslaunch gazebo_ros [回车] //会自动显示自带的多种世界下图为自带的mud_world,其他的世界可以按照提示命令去打开。二、查看launch文件内容想要查看launch文件的内容,可以使用roscd进入gazebo路径查看roscd gazebo_ros/launch使用l

2021-03-05 19:25:49 409

原创 ROS自定义msg及使用

一、创建msg文件msg是用来描述ROS message的简单文本,用来生成不同语言的消息源代码。可以看作是将一些ros内置类型进行重命名定义。进入ROS工作空间中,创建一个存放msg文件的包(此处以博主所用的实际工程为例)。$ cd Control/src/controller $ mkdir msg && cd msg$ touch car_state.msg //博主ROS工程中所用的在car_staete.msg中输入如下:float64 xfloat64 yfl

2021-02-10 00:28:42 4022 2

原创 ROS创建工作空间(一)

ros创建工作空间:mkdir -p catkin_init/srccd srccatkin_init_workspace //初始化工作空间

2020-12-11 21:05:49 109

原创 C++多文件联合编程

.h头文件用于存放函数声明,在其他.cpp源文件中调用该函数时,只需要#include头文件即可,若.cpp源文件中为.h中单个函数的定义,可不加#include,因为函数的定义即是一种声明。在Ubuntu下使用g++编译时,需要将所有.cpp源文件进行联合编译,比如:g++ main.cpp 1.cpp 2.cpp源码可参考:https://github.com/linitau/Cpp/tree/master/7_multi_files...

2020-11-08 10:55:59 450

原创 C++类的构造函数

默认构造函数C++类的构造函数是类的成员函数,在创建类时,会自动生成一个默认构造函数,执行时自动调用,如果不对默认构造函数进行修改,则不执行任何功能。一般可用构造函数进行成员变量的初始化。1.1 定义构造函数的一般形式:class 类名{public: 类名(形参表) ; //构造函数的原型 //类的其它成员};类名::类名(形参表) //构造函数的实现{ //函数体}...

2020-10-30 21:01:31 356 1

原创 std::cin和std::getline(std::cin,variable)

std::cin和std::getline(std::cin,variable)当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取,多余的字符将写入缓冲区,被下一个cin读取。(即:从第一个非空字符开始读取,遇到空白字符即结束,)。#include<iostream>#include<string>int main(){ std::string ss; s

2020-10-06 13:57:19 799

原创 package.xml文件介绍

package.xml文件介绍在ROS中创建功能包时,会自动生成package.xml文件,pacakge.xml 包含了package的名称、 版本号、 内容描述、 维护人员、 软件许可、 编译构建工具、 编译依赖、 运行依赖等信息。使用rospack find 、 rosdep 等命令之所以能快速定位和分析出package的依赖项信息, 就是直接读取了每一个pacakge中的 package.xml 文件。 它为用户提供了快速了解一个pacakge的渠道。1精简版xml文件介绍:<?x

2020-10-01 10:23:00 1314

原创 STL之*max_element/*min_element

两个函数都包含在algorithm头文件里,要想使用需要先include。具体实例如下://一般用法#include<iostream>#include<algorithm>using namespace std;int main(){ int a[] = {1,2,3,4,5,6,7}; cout<<*max_element(a,a+7)<<endl; cout<<*min_element(a,a+7)<<

2020-07-26 23:58:51 86

原创 车辆参数

车辆参数车辆参数包括模态参数和物理参数。模态参数主要是指固有频率,阻尼比,振型。物理参数有实际的物理意义,其中比较重要的几个参数就是悬架的刚度、阻尼、簧上质量、簧下质量、侧倾旋转惯量、俯仰旋转惯量、轮胎刚度及相关的几何参数等参数。...

2019-10-20 19:26:09 472

原创 Matplotlib基础入门(2)

本篇介绍figure函数的用法figure首先思考一个问题:若我们有两个函数,y1=2*x+1、y2=x^2+1,我们想将这两个函数的图形放在不同的坐标轴窗口显示,那么该如何实现呢?这就需要用到本篇即将介绍的figure函数。figure 语法figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, ...

2019-10-10 12:43:27 116

原创 Matplotlib基础入门(1)

matplotlib介绍Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。(摘自搜狗百科)简单地说,就是具有强大的绘图功能,可视化功能强大基本用法下面示范一个简单的示例,使用matplotlib画出y=x^...

2019-10-10 09:23:36 100

原创 numpy&pandas基础入门(3)

numpy的基础运算2一些基本运算函数import numpy as npa=np.array([[1,2,4],[6,3,1],[7,4,9]])print(a)np.argmin(a) #返回a中最小值元素的索引np.argmax(a) #返回a中最大值元素的索引np.mean(a) #返回均值np.average(a) #返回均值np.cumsum(a...

2019-10-08 12:44:14 109

原创 numpy&pandas基础入门(2)

numpy的基础运算1在numpy中的基本运算,常用的有:+、-、*、/、**(乘方)、.dot(矩阵乘法)import numpy as npa=np.array([1,2,3])b=np.array([4,8,6])c1=a-b #减法运算,对应位置元素相减c2=a+b #加法运算,对应位置元素相加c3=a*b #乘法运算,对应位置元素相乘c4=a/b ...

2019-10-06 16:57:24 155

原创 numpy&pandas基础入门(1)

numpy基础入门1numpy简介numpy的导入numpy创建arraynp.array()np.arange()reshape()函数linspace()函数numpy简介numpy是Python包含的一个扩展包,其主要用于数据处理,拥有强大的多维数组运算能力。说的直白一点,就是其在解决像线性代数这样包含数组、矩阵的问题上很强大,与Matlab有类似之处。numpy的导入import ...

2019-10-05 17:39:23 236

空空如也

空空如也

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

TA关注的人

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