自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Matplotlib error: No such file or directory: ‘latex‘: ‘latex‘

Matplotlib error: No such file or directory: ‘latex’: ‘latex’sudo apt install texlive-fonts-recommended texlive-fonts-extrasudo apt install dvipng链接:Matplotlib error: No such file or directory: ‘latex’: ‘latex’

2022-03-07 22:22:57 1015 1

原创 deque insert()函数几种用法

C++ deque insert()用法及代码示例

2021-02-02 15:33:59 1108

原创 用Ceres实现PnP

在ceres中实现PnP优化(仅优化位姿)

2021-01-19 11:36:59 439

原创 g2o编译报错

视觉slam g2o 编译出现 Cmake Error:By not providing “FindG2O.cmake” in CMAKE_MODULE_PATH错误

2021-01-16 17:43:33 334

原创 智能指针与构造函数调用

#include <memory>class FrontEndFlow{public: FrontEndFlow();};FrontEndFlow::FrontEndFlow(){ std::cout << "调用了构造函数!" << std::endl;}std::shared_ptr<FrontEndFlow> _front_end_flow_ptr;int main(int argc,char** argv){

2020-10-27 09:39:32 764

原创 第十二节 std::async深入谈

一、std::async深入谈1.1 std::async参数详述async用来创建一个异步任务#include <thread>#include <future>int mythread(){ cout << "mythread() start threadid = " << std::this_thread::get_id() << endl; return 1;}int main(){ cout

2020-09-16 17:45:19 434

原创 第十一节std::atomic原子操作

一、原子操作1.1原子操作概念例子互斥量:多线程编程中保护共享数据:锁,操作共享数据,开锁有两个线程,对一个变量进行操作,这个线程读,另一个线程往变量中写值。int atomvalue = 5;读线程A:int tmpvalue = atomvalue;//atomvalue代表的是多个线程之间要共享的变量写线程B:atomvalue = 6;结果:读出一个不可预料的中间值原子操作:可以把原子操作理解为一种:不需要用到互斥量加锁(无锁)技术的多线程编程方式多线程中不会被打断的程

2020-09-16 09:38:04 9735 1

原创 第十节 future其他成员函数、shared_future、atomic

一、std::future的其他成员函数引言#include <thread>#include <future>int mythread(){ cout << "mythread() start" << "threadid = " << std::this_thread::get_id() << endl; std::chrono::milliseconds dura(5000); std::this

2020-09-16 09:29:43 173

原创 async、future、packaged_task、promise

一、std::async、std::future创建后台任务并返回值希望线程返回一个结果;std::async是个函数模板,用来启动一个异步任务,启动起来一个异步任务之后,返回一个std::future对象“启动一个异步任务”:自动创建一个线程并开始执行对应的线程入口函数,它返回一个std::future对象,这个future对象里边就有含有线程入口函数锁返回的结果(线程返回的结果),我们可以通过调用future对象的成员函数get()来获取结果;“future”:将来的意思,有人也称呼std::

2020-09-14 22:55:12 85

原创 condition_variable、wait、notify_one、notify_all

一、条件变量std::condition_variable、wait()、notify_one()1.1 std::condition_variable线程A中:等待一个条件满足,之后执行;线程B中:线程B满足条件之后触发线程A。std::condition_variable my_cond; //生成一个条件对象class A{public: void inMsgRecvQueue() // 线程B入口函数 { for (int i = 0; i < 100000; ++i

2020-09-14 21:01:54 215

原创 单例设计模式共享数据分析、解决、call_once

引言互斥量是最通用的保护共享数据的机制,用起来不难,而且特别好用。当然也有其他保护共享数据的机制。一、设计模式大概谈“设计模式”:代码的一些写法(这些写法根常规写法不怎么一样):程序灵活,维护起来很方便,但是别人接管、阅读代码都会很痛苦;用“设计模式”理念写出来的代码是很晦涩的;老外应付特别大的项目的时候,把项目的开发经验、模块划分经验,总结成设计模式(现有开发需求,后又理论总结和整理)设计模式拿到中国来,不太一样,拿着一个程序(项目)往设计模式上套,一个小小的项目,非要弄几个设计模式进去,本

2020-09-13 22:53:30 213

原创 unique_lock详解

一、unique_lock取代lock_guardunique_lock是个类模板,工作中,一般lock_guard(推荐使用);lock_guard取代了mutex的lock()和unlock()。unique_lock比lock_guard灵活很多灵活很多;效率上差一点,内存占用多一点。std::lock_guard<std::mutex> sbguard(my_mutex);直接换成std::unique_lock<std::mutex> sbguard(my_mute

2020-09-13 21:06:11 995

原创 多线程共享数据的保护+互斥量概念、用法、死锁演示及解决详解(std::lock()、std::adopt_lock)

#include <list>#include <thread>class A{public: //把收到的消息(玩家命令)入到一个队列的线程 void inMsgRecvQueue() { for (int i = 0;i < 100000;++i) { cout << "inMsgRecvQueue()执行,插入一个元素" << i << endl;

2020-09-09 22:52:48 1037 1

原创 阿波罗定位信息

modules/common/proto/header.proto:message Header { // Message publishing time in seconds. optional double timestamp_sec = 1; // Module name. optional string module_name = 2; // Sequence number for each message. Each module maintains its own co

2020-08-24 23:29:31 405

原创 读RTK数据遇到的一些问题

ERROR: (08-19 16:25:32.010) /apollo/RS_SDK_V1.2/rs_read_RTK/BUILD:22:1: Linking of rule '//RS_SDK_V1.2/rs_read_RTK:read_RTK' failed (Exit 1).bazel-out/local-fastbuild/bin/RS_SDK_V1.2/rs_read_RTK/_objs/read_RTK/RS_SDK_V1.2/rs_read_RTK/src/read_RTK.pic.o: I

2020-08-20 02:41:07 1008

原创 Apollo下的Cyber RT通信

目录结构: |-- BUILD|-- proto| |-- BUILD| `-- examples.proto`-- talker.ccproto文件下:BUILD(bazel配置proto)package(default_visibility = ["//visibility:public"])#生成两种库,examples_cc_proto和examples_proto#依赖中冒号是什么意思cc_proto_library( name = "examples_

2020-08-19 14:11:05 965

原创 C++右值

[c++11]我理解的右值引用、移动语义和完美转发

2020-08-17 17:33:47 130

原创 bazel一些用法

1.编译东西 要在根目录下,和WORKSPACE在同一级例如,对于bazelbuild/examples而BUILD文件一般与源文件并列examples└── cpp-tutorial ├──stage1 │ └── main │ ├── BUILD │ ├── hello-world.cc │ └── WORKSPACE进入到cpp-tutorial/stage1目录下(要进入到这个目录后可以直接看到WORKSPACE),然后运行

2020-08-16 16:05:35 1872

原创 如何从Gihub仓库中下载单个文件

如何从 GitHub 上下载单个文件夹?将 /tree/master/ 换成 /trunk/ .svn checkout https://github.com/…

2020-08-13 19:54:55 230

原创 阿波罗安装过程

Apollo快速安装视频教程

2020-08-13 17:23:34 509

原创 Ubuntu安装Typora查看md文件

wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -# add Typora's repositorysudo add-apt-repository 'deb https://typora.io/linux ./'sudo apt-get update# install typorasudo apt-get install typora

2020-08-10 21:34:19 911

原创 智能指针学习

智能指针:1.用起来像指针2.会自己对资源进行释放#include <iostream>using namespace std;class CStudent{public: CStudent() {} void test() { cout << "CStudent" << endl; }private: char* m_pszBuf; int m_nSex;};int main(in

2020-08-10 21:26:18 104

原创 ch13报错

../../lib/libmyslam.so:对‘myslam::Config::config_’未定义的引用collect2: error: ld returned 1 exit statusapp/CMakeFiles/run_kitti_stereo.dir/build.make:151: recipe for target '../bin/run_kitti_stereo' failedmake[2]: *** [../bin/run_kitti_stereo] Error 1CMakeFi

2020-08-09 11:56:44 273

原创 ch13 cmake

概括:一.总的CMakeLists.txt指定可执行文件存放目录为ch13/bin:set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)指定生成的库存放目录为ch13/lib:set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)找第三方库,并包含它们的头文件把第三方库文件的库重命名成THIRD_PARTY_LIBS:set(THIRD_PARTY_LIBS …)不知道干啥:似乎是告诉工程

2020-08-09 11:51:32 513

原创 ch13问题

1.g2o_types.h外参*T

2020-08-07 20:01:51 975

原创 virtual override

添个坑,日后补上

2020-08-07 15:23:03 107

原创 vscode配置

C/C++: Edit Configurations(JSON){ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", ], "defines": [], "compilerPath": "/usr/bin/gcc",

2020-08-07 09:45:29 118

原创 智能指针

expired 用于检测所管理的对象是否已经释放, 如果已经释放, 返回 true; 否则返回 false.

2020-08-06 15:01:00 78

原创 Eigen

template cast并用由于cast()是模板成员函数,因此在模板代码中必须在其前面加上template关键字:Eigen c++ casting

2020-08-06 11:42:01 533

原创 一些vscode自动提示报错

通常是由于类声明了但是没有定义造成的,需要做的是在错误文件里面引用下这个类:class Test;

2020-08-06 11:05:24 2143

原创 终端上网顺序

先打开ss在保持代理关的情况下,打开终端代理手动

2020-08-05 20:02:19 133

原创 DBoW3

DBoW3常见数据类型和API:【泡泡机器人原创专栏】DBoW3 视觉词袋模型、视觉字典和图像数据库分析

2020-07-27 20:30:26 204

原创 ORB-SLAM地址

ORB-SLAMORB-SLAM2

2020-07-25 14:52:19 91

原创 ceres常见错误

步骤:1.构建代价函数的计算模型2.构建最小二乘寻优问题 ceres::Problem3.配置并运行求解器 ceres::Solver::Options ceres::Solver::Summary常见错误1.仿函数后必须有cosnt2.仿函数中求参差注意要用上模板类T3.仿函数要return true;4.构建最小二乘寻优问题AutoDiffFunction前一定要有newceres::CostFunction* cost_function =new ceres::Auto

2020-07-20 00:44:35 697

原创 OpenCV

Opencv Mat矩阵中data、size等属性的理解

2020-06-16 15:24:59 131

原创 xacro宏中*参数块用法

7.MacrosThe main feature of xacro is its support for macros. Define macros with the macro tag, and specify the macro name and the list of parameters. The list of parameters should be whitespace separ...

2020-05-05 21:27:17 1263

原创 Husky Jackal仿真

Husky官方教程:HUSKY UGV TUTORIALS$ sudo apt-get install ros-kinetic-husky-simulator$ roslaunch husky_gazebo husky_empty_world.launch$ roslaunch husky_gazebo husky_playpen.launchGitHub:husky/husky G...

2020-05-02 14:04:50 812

原创 ROS URDF use_gui

[WARN] [1588255172.551253]: The ‘use_gui’ parameter was specified, which is deprecated. We’ll attempt to find and run the GUI, but if this fails you should install the ‘joint_state_publisher_gui’ pac...

2020-05-01 00:45:12 635

原创 LeGO-LOAM资料整理

LeGO-LOAM学习,资源整合(里面包含了注释版代码注释版代码)

2020-04-24 17:23:08 502

原创 loam讲解资料整理

LOAM_velodyne学习(一)LOAM_velodyne学习(二)LOAM_velodyne学习(三)LOAM_velodyne学习(四)其他资料见https://blog.csdn.net/HelloJinYe/article/details/102709990

2020-04-24 10:57:49 513

空空如也

空空如也

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

TA关注的人

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