自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (5)
  • 收藏
  • 关注

原创 cartographer_ros 代码分析1

cartographer ROS代码为两大部分:cartographer和cartographer_ros。cartographer主要负责处理来自雷达、IMU、里程计的数据并基于这些数据进行地图的构建,是cartographer理论的底层实现。cartographer_ros 则基于ros的通信机制获取传感器的数据并将它们转换成cartographer中定义的格式传递给cartographe...

2020-03-10 16:13:06 775

原创 4.Cartographer ros配置参数介绍

map_frame用于发布submaps的ROS坐标系ID,位姿的父坐标系,通常使用“map”tracking_frame由SLAM算法追踪的ROS坐标系ID,如果使用IMU,应该使用其坐标系,通常选择是 “imu_link”published_frame用于发布位姿子坐标系的ROS坐标系ID,例如“odom”坐标系,如果一个“odom”坐标系由系统的不同部分提供,在这种情况下...

2019-03-13 09:45:56 2112

原创 cartographer 代码分析

5.1激光数据处理流程1.入口文件:node_main.cc入口函数main,如下图: ::ros::init(argc, argv, "cartographer_node"); ::ros::start(); cartographer_ros::ScopedRosLogSink ros_log_sink; carto...

2019-03-13 09:43:44 818

原创 cartographer 安装编译

Ubuntu16.04 环境依赖sudo apt-get install -y \clang \g++ \git \google-mock \libboost-all-dev \libcairo2-dev \libcurl4-openssl-dev \libeigen3-dev \l...

2019-03-13 09:42:49 1164

原创 马斯克开源的grok AI大模型

Grok-1 开源仅过去了 10 个小时,该项目便获得了 超过16k 的 Star,成为众人关注的焦点所在。马斯克践行诺言,坚持开源原则,选择开源自家的 AI 大模型——Grok-1。后续继续更新,使用调试情况。

2024-03-18 16:52:34 1455

原创 vscode 远程连接报错

因为需要在底盘上自动安装一些东西,需要让底盘链接外网,再用vscode 链接即可。在ubuntu 下用vscode 远程修改机器人底盘,报错。

2023-05-16 15:09:44 495

转载 Eigen库学习

Eigen 基础部分Eigen 学习笔记(一)_逐梦者-CSDN博客_eigenEigen实现旋转矩阵、旋转向量(轴角)、四元数、欧拉角之间相互转换https://www.cnblogs.com/cc111/p/9354924.htmlEigen库中进行矩阵间的变换https://blog.csdn.net/wangxiao7474/article/details/103613334?utm_medium=distribute.pc_relevant.none-task-blog

2021-10-30 15:51:16 354

原创 c++11 新特性学习

1. lambda 表达式C++ 11 Lambda表达式 - 滴水瓦 - 博客园Lambda表达式完整的声明格式如下:[capture list] (params list) mutable exception-> return type { function body }各项具体含义如下capture list:捕获外部变量列表 params list:形参列表 mutable指示符:用来说用是否可以修改捕获的变量 exception:异常设定 return type

2021-09-26 20:29:54 651

原创 c++ 11 std::chrono 库的详解

C++11有了chrono库,可以很容易的实现定时功能。chrono:  chrono库主要包含了三种类型:时间间隔Duration、时钟Clocks和时间点Time point。Duration:  duration表示一段时间间隔,用来记录时间长度,可以表示几秒钟、几分钟或者几个小时的时间间隔,duration的原型是: template<class Rep, class Period = std::ratio<1>> class d...

2021-09-26 17:45:53 1268

原创 ubuntu 下使用vscode 进行cmake 编译c++ 工程

步骤一: c++ 工程含有正确的CMakeLists.txt , 使用vscode 打开工程在.vscode要建立三个json文件才能对Cmake工程进行编译和调试,分别是c_cpp_properties.json,launch.json和tasks.json步骤2: Ctrl+Shift+P,输入C/C++,选择C/C++: Edit Configurations(JSON) ,创建并修改c_cpp_properties.json文件,修改为如下:{ "configurations"

2021-09-26 14:10:57 1266

原创 cmake 学习参考网址

CMake学习笔记(二)——CMake语法 - 简书

2021-09-26 01:11:47 173

原创 ROS TF 常用接口函数

tf常见函数接口用法1.广播一个tf消息,transform旋转的组成,由欧拉角转到四元数,平移向量等。tf::TransformBroadcaster baselink_to_laserlink_broadcaster;geometry_msgs::TransformStamped bl_trans; //这个格式又是什么组成的bl_trans.header.stamp = ros::Time::now();bl_trans.header.frame_id = "base_link"

2021-09-13 09:52:04 2414

原创 gmapping源码分析2——粒子滤波

第一: 粒子定义/**所有粒子的滤波结构体数组*/typedef std::vector<Particle> ParticleVector; ParticleVector m_particles;/** 粒子滤波器中的粒子结构体 每个粒子有自己的地图、位姿、权重、轨迹* 轨迹是按照时间顺序排列的,叶子节点表示最近的节点*/ struct Particle{ //给定两个地图 一个高分辨率地图 一个低分辨率地图 Partic

2021-03-09 16:10:56 928

原创 linux cmake 编译总结

通常的CMakeLists结构是:cmake_minimum_required( VERSION 2.8 )project( projectname )find_packages( , )include_directories( )add_executable( , )target_link_libraries( , )前两行不谈,看看find_packagesfind_package写法对于OpenCV我们是这样写的:find_package( OpenCV 3.1 R

2020-12-04 14:16:20 193

原创 矩阵左乘与右乘的理解

https://blog.csdn.net/ningxuanyu5854/article/details/101905295

2020-08-29 16:12:41 7233

原创 matlab 基础学习(1)——数组,矩阵操作和绘图基础学习

一维数组(创建,赋值,取值,分割取值,四则运算等操作)创建一维数组>> A=[] %创建空的数组>> B=[1 2 3 4 5] %两种创建行向量,数组的方式>> C=[1,2,3,4,5] >> D=[1;2;3;4;5] %创建列向量,数组的方式结果:A = []B = 1 2 3 4 5C = 1 2 3 4 5D

2020-08-14 13:53:11 2104

原创 B站贝叶斯滤波和卡尔曼滤波视频学习记录(1)

视频地址https://www.bilibili.com/video/BV1tE41147ch第二讲总结1. 理解大数定律,在随机变量的独立实验中,当实验次数n 足够大时,事件A 发生的频率 约等于事件A 发生的概率,例如事件A 发生的次数为 ,则频率为 , 假设p是事件A发生的概率,则有如下定理,其中 >0 的正数。2. 独立实验 和随机过程的区分 独立实验是指在相同的实验环境下,可以重复多次的实验, 因此像气温变化,股票预测等实验,并不适合,因为环境随时间变化,...

2020-08-13 20:15:05 566

原创 ubuntu 16.04 安装编译opencv3.3

ubuntu 16.04 安装编译opencv3.3步骤一:先安装如下依赖包sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-

2020-08-11 16:25:38 448

原创 概率论总结(3)——高斯分布(正太分布)

一元高斯分布(正太分布)标准高斯分布(标准正太分布)二维高斯分布多维高斯分布高斯分布的四则运算加减法运算乘除运算...

2020-08-09 12:08:34 8129

原创 slam学习(1)——卡尔曼滤波

卡尔曼滤波作用 根据机器人上个时刻的状态估计出这个时刻的机器人状态(估计值)。然后根据在这一时刻传感器的观测值,来纠正更新估计值,等到更精准的置信值前提假设1. 卡尔曼滤波算法认为当前状态与上一时刻的状态是线性关系,即由于这个式子中包含噪声,所以无法准确的求出当前状态 ,但是我们可以求出 的概率分布,然后把这个概率分布的均值作为当前状态的估计,卡尔曼滤波就是根据这个思想,它算在当前的观测数据条件下的...

2020-08-07 15:19:45 1372 1

原创 概率论总结(2)——大数定理,极大似然估计

大数定理在实际应用中,当试验次数很大时,就可以用事件的频率代替事件的概率中心极限定理数理统计抽样分布参数估计点估计最大似然估计...

2020-08-04 16:12:42 651

原创 CmakeList.txt , makefile ,linux 动态库,静态库等编译问题

CmakeList.txt 编译1. 添加编译的连接库,和 头文件//添加头文件目录include_directories(/usr/local/protobuf3/include)//添加要连接的库目录LINK_DIRECTORIES(/usr/local/protobuf3/lib)//从上面添加的库目录中寻找protobuf pthread 库,然后连接到${PROJECT_NAME} 中link_libraries(${PROJECT_NAME} protobuf pthr.

2020-08-03 10:38:01 394

原创 高数总结(1)——基础知识总结

1. 导数与函数求导导数的含义: 在函数y=f(x) 某一点求导数,得到的是在这一个点的切线的斜率,即当斜率越大,则切线越陡,表明函数在这点变化越快,变化率越大,因此导数反应的是函数在这一点变化的快慢。导数定义...

2020-08-01 10:09:11 3345

原创 概率论总结(1)——基础概念理解

1.排列与组合排列: 从n个人中选出k个人排成一列组合: 从n 个人中选出k 个人,但不用排序, 即先计算从n人中选k 个人排成一列有多少中情况,然后再计算k个人中有多少中排法,相除即可2. 条件概率3. 全概率公式4. 贝叶斯公式对贝叶斯公式的简单理解对公式3,4,5 的理解,例子如下个人理解: 即从以往数据分析得到估计值是0.95 ,即先验概率, 再进行一次测量(第一件产品是合格品),即测量值,之后再重新修正的概率...

2020-07-30 10:48:15 873

原创 c++基础(7)——类的设计

类的设计以一个复数类作为例子进行说明1. 构造函数设计默认构造函数complex () { }带参构造函数//这里是将默认构造函数和带参构造函数融合了,并且使用序列化的形式complex (double r = 0, double i = 0): re (r), im (i) { }赋值构造函数Complex& operate=(const complex& c){ this->re = c.re; this->im =

2020-07-06 15:30:05 626

原创 ubuntu 无法识别HL340 串口的解决方法

1.到沁恒官网下载相应的驱动CH341SER_LINUX.ZIPhttp://www.wch.cn/download/CH341SER_MAC_ZIP.html2. 解压,进入相应目录编译make //编译make load //加载驱动到系统 make unload //卸载驱动注意:从下载地址下载源码,在ubuntu下编译时出现“signal_pending”和“wait_queue_t”的未定义错误。/home/seanoy/CH341SER_LINUX/c...

2020-07-06 09:27:53 1585

原创 cartograhper 中IMU 消息发布需要注意的东西

const imu_data_t* imu = &info->imu_data;//这里除以100 是由协议规定的,因为芯片为了防止传输浮点型数据,先乘以100后再传输的,//因此在stm32上获取数据后,需要除以100.0 才是真是的数据float yaw = imu->yaw/100.0f; float roll = imu->roll/100.0f;float pitch = imu->pitch/100.0f;//imu 芯片数据中的坐标系是左手定则,..

2020-06-17 19:32:59 830 2

原创 robot_pose_ekf 中陀螺仪与odom 的协方差配置

https://blog.csdn.net/EAIBOT/article/details/51405152

2020-06-17 17:51:28 1785

原创 ubuntu u盘手动挂载和卸载

1.插上u盘,查看u盘盘符cat /proc/partitions2. 将u盘挂载到 /mnt/usb 上,没有usb 目录就手动创建sudo mount /dev/sdc1 /mnt/usb3. 手动卸载挂载 cd /mnt/usb ls sudo umount /dev/sdc1 sudo umount /mnt/usb...

2020-06-10 17:41:21 403

原创 线性代数——欧拉角,旋转矩阵和四元数的关系

欧拉角与旋转矩阵的关系因此,一个坐标系

2020-06-06 11:55:47 1675 1

原创 c++基础(6)——c++类与对象基础

1.类的研究研究 C++编译器管理类和对象的方法 ===》避免死角 c++编译器对类对象的生命周期管理,对象创建、使用、销毁 c++面向对象模型初探 c++面向对象多态原理探究 操作符重载struct 和 class 关键字区别在用 struct 定义类时,所有成员的默认属性为 public 在用 class 定义类时,所有成员的默认属性为 private构造函数定义及调用1)C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数2)没有任何返回类型

2020-05-27 11:24:36 227

原创 c++基础(5)——c++ 风格的fstream 读写文件

c++ 风格的fstream 读写文件头文件:#include <fstream>fstream提供三种类,实现C++对文件的操作ofstream:写操作,由ostream引申而来 ifstream:读操作,由istream引申而来 fstream :同时读写操作,由iostream引申而来文件的类型:文本文件 和 二进制文件ios::in 为输入(读)而打开文件; ios::out 为输出(写)而打开文件; ios::ate 初始位置:文件尾; ios::

2020-05-25 15:29:10 598

原创 c++基础(4)——linux 文件读写(open, write, read)

open() : 打开文件头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>原型:int open(const char *pathname, int flags, mode_t mode);参数pathname:要打开或创建的目标文件名flags:对文件进行多种操作也就有有多个参数,这多个参数可以进行或运算,即就是flags参数:O_RDONLY:只读打开

2020-05-25 15:17:04 4004

原创 c++基础(3)——文件读写操作(fopen,fclose,fwrit,ftell,fseek,rewind)

fopen()函数:打开文件包含头文件:#include<stdio.h>FILE * fopen(const char * path,const char * mode);参数:path:需要打开的文件路径mode:文件打开方式r 以只读方式打开文件,该文件必须存在。 r+ 以可读写方式打开文件,该文件必须存在。 rb+ 读写打开一个二进制文件,允许读数据。 rt+ 读写打开一个文本文件,允许读和写。 w 打开只写文件,若...

2020-05-25 14:53:55 2130

原创 c++基础(2)—— string 字符串类详解

string 类常用函数所以在C++标准库里,通过类string从新自定义了字符串。头文件: #include <string>string直接支持字符串连接 string直接支持字符串的大小比较 string直接支持子串查找和提取 string直接支持字符串的插入和替换 string同时具备字符串数组的灵活性,可以通过[ ]重载操作符来访问每个字符 string类常用的构造函数string str; //生成一个空字符串string str (...

2020-05-25 10:34:32 404

原创 c++基础(1)——语法基础

1. 输入,输出#include <iostream>//using namespace std;int main(){ std::cout<<"enter two numbers: "<<std::endl; int v1,v2; std::cin>>v1>>v2; std::cout << "two num sum of " <<v1<<"+"<<v

2020-05-22 18:51:07 234

原创 Linux下open函数、read函数、write函数记录

Linux下open函数、read函数、write函数记录open()#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>int open( const char * pathname, int flags);int open( const char * pathname,int flags, mode_t mode);函数说明参数pathname 指向欲打开的文件路径字符串。下.

2020-05-19 16:19:53 268

原创 ros 建图导航参数配置

目录1.平滑减速功能包 yocs_velocity_smootherGmapping 建图参数Navigation 导航避障集合Move_base 参数Amcl 蒙特卡罗定位全局路径规划: global_planner局部路径规划:base_local_planner局部路径规划: teb_local_planner局部路径规划:dwa_global_planner代价地图 costmap_2d1.平滑减速功能包 yocs_velocity_smoother.

2020-05-14 15:04:57 4309

原创 gazebo 模拟仿真(1)

1. 创建urdf 机器人描述文件 对于ros或gazebo都是通过urdf 文件来描述机器人模型的,该文件的主要功能就是描述机器人各个部分(link)与关节(joint)的属性。link 机器人零部件属性link属性 机器人各个部分,例如,车身, 轮子,其包含如下属性 visual 这表示着我们是否可以在rviz或gazebo图形界面上观察到这个link,没有的话就观察不到,主要包含geometry标签 ...

2020-05-11 15:51:53 1291

原创 github 使用总结

github 常用指令:1.配置用户名和邮箱地址git config --global user.name "chenyf"git config --global user.email "chenyf@eaibot.com"2.克隆(下载)项目工程git clone http://192.168.111.201:8080/ROBOT_FIRMWARE/LEO.git3....

2020-04-28 10:39:35 185

qt creator快速入门

学习qt 的入门教程,有详细的图文讲解,有各种实验,希望能帮到你

2018-11-10

协防差矩阵的概念及意义

标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多

2018-08-02

DIV+CSS网页布局商业案例精粹(源代码).rar

学习前端的朋友可以照着例子练习一下CSS 的布局,非常有用

2015-08-10

linux 内核的结构分析图

想研究内核的朋友可以看一下,了解自己要研究内核的哪一个模块

2015-08-09

空空如也

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

TA关注的人

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