自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 论文实现:Reactive Nonholonomic Trajectory Generation via Parametric Optimal Control

曲率:κsa0​a1​sa2​s2a3​s3a4​s4a5​s5​​机器人朝向:θsa0​s2a1​s2​3a2​s3​4a3​s4​5a4​s5​6a5​s6​​​轨迹:xs∫0s​cosθs))ds​​ys∫0s​sinθs))ds​​。

2024-12-31 23:24:20 850

原创 树莓派串口访问权限不够被拒绝访问

修改文件:sudo vim /etc/udev/rules.d/70-ttyusb.rules。系统:ubuntu22.04 server。访问串口:serial0, ttyUSBx。

2023-08-02 00:29:52 1111

原创 实时操作系统-NuttX学习笔记(2)-Code::Blocks IDE编译和调试技巧

视频教程地址1 安装工具step1 安装arm平台的gdb调试工具sudo apt-get install gdb-arm-none-eabi step2 安装集成开发环境code::blockssudo apt-get install codeblocksstep3 启动Code::Blocks执行sudo codeblocksstep4 配置Code::BlocksSettings--->Debugger--->GDB/CDB debugger--->Creat

2022-02-20 02:03:31 850

原创 实时操作系统-NuttX学习笔记(1)-开发环境搭建

1 简介1.1 背景学习NuttX视频教程,该视频教程语言为英文,为了在以后的工作学习中用到,在此记录学习内容,方便自己和大家查阅。1.2 开发环境虚拟机+系统:虚拟机VMware® Workstation 12 Pro+ubuntu 16.04LTS开发板:正点原子STM32F4探索者2 Nuttx开发环境搭建视频地址:https://www.youtube.com/watch?v=heSkSd-_70g&list=PLd73yQk5Fd8JEsVD-lhwYRQKVu6glfDa

2022-02-14 23:41:39 2657

原创 前置++和后置++重载

To distinguish between the prefix and postfix versions of the ++ operator, C++ adopted the convention of letting operator++() be the prefix version and operator++(int) be the suffix version;`iterator& operator++() // for ++it{pt = pt->p_next;ret

2021-10-01 16:03:53 195

原创 right four steps of SEIF SLAM

参考:SLAM Course - 08 - Sparse Extended Information Filter - Part 2 (2013/14; Cyrill Stachniss)

2021-06-02 22:08:40 179

原创 Inversion Lemma

来源:概率机器人

2021-06-01 10:37:39 137

原创 概率之排列组合

参考文献:<< statistical inference>>, p16

2021-03-18 20:30:21 296

原创 求过指定点和指定方向的直线方程

给定点:(x0,y0)(x_0, y_0)(x0​,y0​)给定方向:θ\thetaθ设直线方程为:y=kx+by = kx + by=kx+b则:k=tanθk = tan\thetak=tanθb=y0−x0tanθb = y_0 - x_0tan\thetab=y0​−x0​tanθ进而直线方程为:y=tanθx+y0−x0tanθy = tan\theta x+ y_0 - x_0tan\thetay=tanθx+y0​−x0​tanθ考虑到θ=±π2\

2021-03-16 17:18:12 1148

原创 点在直线上的投影点

直线方程:ax+by+c=0ax + by + c = 0ax+by+c=0点:(x0,y0)(x_0, y_0)(x0​,y0​)先求法线方程为:bx−ay+(−bx0+ay0)=0bx-ay+(-bx_0+ay_0) = 0bx−ay+(−bx0​+ay0​)=0在通过求直线和法线的交点即的点在直线上的投影点,即:(b(−bx0+ay0)+ac−a2−b2,bc−a(−bx0+ay0)−a2−b2)(\frac{b(-bx_0+ay_0) + ac}{-a^2 - b^2},

2021-03-16 16:34:08 5078

原创 两直线的交点

直线方程1:a0x+b0y+c0=0a_0x + b_0y + c_0 = 0a0​x+b0​y+c0​=0直线方程1的齐次表示:I0:(a0,b0,c0)I_0 : (a_0, b_0, c_0)I0​:(a0​,b0​,c0​)直线方程2:a1x+b1y+c1=0a_1x + b_1y + c_1 = 0a1​x+b1​y+c1​=0直线方程2的齐次表示:I1:(a1,b1,c1)I_1 : (a_1, b_1, c_1)I1​:(a1​,b1​,c1​)根据射影几何的相

2021-03-16 16:06:33 869

原创 给定点和直线,求过点的直线的法线方程

直线方程:ax+by+c=0ax + by + c = 0ax+by+c=0点:(x0,y0)(x_0, y_0)(x0​,y0​)过点的直线的法线方程:bx−ay+(−bx0+ay0)=0bx-ay+(-bx_0+ay_0) = 0bx−ay+(−bx0​+ay0​)=0

2021-03-16 15:34:39 2275

原创 点到直线的距离

直线方程:ax+by+c=0ax + by + c = 0ax+by+c=0点:(x0,y0)(x_0, y_0)(x0​,y0​)点到直线的距离:d=∣a∗x0+b∗y0+c∣a2+b2d = \frac{|a * x_0 + b * y_0 + c|}{\sqrt{a^2 + b^2}}d=a2+b2​∣a∗x0​+b∗y0​+c∣​

2021-03-16 15:20:49 196

原创 直线拟合(最小二乘法)

直线方程:y=ax+by=ax+by=ax+b实验测试获得一组数据,记为:(xi,yi) (x_i, y_i)(xi​,yi​)现需要根据测试数据,求直线方程参数a, b使得该直线最符合实验数据结果,即等价于问题:mina,bΣ[yi−(axi+b)]2\underset{a, b}{min} \Sigma[y_i - (ax_i + b)]^2a,bmin​Σ[yi​−(axi​+b)]2记:sum=\Sigma[y_i - (ax_i + b)]^2对a, b求导:dsumda=

2021-03-15 17:14:37 6067

转载 程序加速

FBOW (Fast Bag of Words) is an extremmely optimized version of the DBow2/DBow3 libraries. The library is highly optimized to speed up the Bag of Words creation using AVX,SSE and MMX instructions. In loading a vocabulary, fbow is ~80x faster than DBOW2 (see

2020-08-01 15:31:47 254

原创 在PC机ubuntu16.04系统下为树莓派4B交叉编译ROS应用程序包整到绝望-菜鸟的几天奋战经历

参考文献:[1] https://medium.com/@tahsincankose/cross-compiling-ros-project-for-arm-263642b405ac宿主机平台:虚拟机ubuntu16.04LTS系统目标运行平台:树莓派4B目标平台系统:Raspbian Buster with desktop and recommended software采用的方法:...

2020-05-03 12:07:48 1710

原创 在ubuntu14.04 LTS 上交叉编译ARM平台RK3326上运行的opencv2.4.9

PC系统:ubuntu14.04 LTS交叉编译工具链:gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnustep1:在opencv源代码目录创建文件夹:build,用于存放编译中间文件。step2:打开命令控制台,输入cmake-gui待续:参考:https://blog.youkuaiyun.com/lucifer615/article/de...

2020-04-28 17:42:51 1164

原创 C++类对象通过函数指针访问其成员函数的高级应用

应用源自OMPL库源代码:http://ompl.kavrakilab.org/index.html以下代码出自:RRTstar.cpp,位于ompl::geometric::RRTstar::RRTstar(const base::SpaceInformationPtr &si)函数中:Planner::declareParam<double>("range", this...

2020-04-25 11:29:40 482

原创 四元素基础理论及其应用

范德萨范德萨

2020-03-28 17:40:36 1952 1

原创 C++库函数收集

数值类型极限值std::numeric_limits<double>::max();

2020-03-27 14:36:42 253

原创 用bresenham算法求两点之间连线通过的栅格点

void GridLineTraversal::gridLineCore( IntPoint start, IntPoint end, GridLineTraversalLine *line ){ int dx, dy, incr1, incr2, d, x, y, xend, yend, xdirflag, ydirflag; int cnt = 0; dx = abs(end....

2020-03-27 12:04:31 2187

原创 根据旋转矩阵R求解欧拉角yaw,pitch,roll源代码

///Data storage for the matrix, each vector is a row of the matrix Vector3 m_el[3];/**@brief Get the matrix represented as euler angles around YXZ, roundtrip with setEulerYPR * @param yaw Yaw aroun...

2020-03-23 11:19:05 1893

原创 交叉编译opencv3.4之下载交叉编译工具链并编译(三)

环境:PC系统: ubuntu16.04LTS(64位)目标开发板: itop4412下载新版支持c++11的交叉编译器:网址:https://releases.linaro.org/components/toolchain/binaries/https://releases.linaro.org/components/toolchain/binaries/6.1-2016.08/a...

2019-10-27 23:02:35 903

原创 交叉编译opencv3.4之创建交叉编译工具链(二)

环境:PC系统: ubuntu16.04LTS目标开发板: itop4412源代码收集1.1 下载binutils网址:https://mirrors.tuna.tsinghua.edu.cn/gnu/binutils/binutils-2.26.1.tar.bz21.2 下载glibc两种源代码:网址:http://ftp.gnu.org/gnu/glibc/glibc-2....

2019-10-27 20:23:44 686

原创 交叉编译opencv3.4初探(一)

环境:PC系统: ubuntu16.04LTS目标开发板:itop4412交叉编译器:arm-none-linux-gnueabi-gcc(arm-2009q3)step1: 准备opencv3.4源代码step2: opencv3.4目录下创建子目录:build-armstep3:修改opencv3.4根目录下的CMakeLists.txt文件在开头加入:备注:此处已经提前交叉编译...

2019-10-27 11:39:29 984

原创 PID control笔记

P: Contributes to stability, medium-rate responsiveness;I: Tracking and disturbance rejection, slow rate responsiveness. May cause oscillations;D: Fast-rate responsiveness. Sensitive to noise.

2019-09-14 15:47:10 836

原创 Linux C++多线程编程学习笔记

1. thread header#include <thread>2. 构造函数原型default (1) thread() noexcept;initialization (2) template <class Fn, class... Args> explicit thread (Fn&& fn, Args&amp...

2019-04-06 10:08:00 447

原创 ORB_SLAM2中特征提取之图像金字塔尺度不变性理解

本文参考:泡泡机器人提供的带注释的ORB_SLAM2源代码转载本文请注明出处:在orb_slam2中,为了实现特征尺度不变性采用了图像金字塔,金字塔的缩放因子为1.2,。其思路就是对原始图形(第0层)依次进行1/1.2缩放比例进行降采样得到共计8张图片(包括原始图像),然后分别对得到的图像进行特征提取,并记录特征所在金字塔的第几层,这样得到一帧图像的特征点,如图1所示。现在假设在第二层中...

2019-02-13 18:58:06 11231 21

原创 C++在成员函数中创建thread多线程, 以成员函数作为回调函数时的范例

以下代码来自VSLAM开源算法ORB_SLAM2中的部分代码,其开源网址为https://github.com/raulmur/ORB_SLAM2回调函数&amp;成员函数:void Initializer::FindHomography(vector&lt;bool&gt; &amp;vbMatchesInliers, float &amp;score, cv::Mat &amp;H21)...

2019-02-02 23:21:56 1942 6

原创 MDK keil st_link "no target connected" 下载程序错误解决办法

环境:MDK4.74硬件:stm32f103vet6, ST_LINK/V2驱动:ST-Link_V2_USBdriver第一步:检测驱动是否安装正确,如下图正确第二步:确认调试器选择正确,如下图所示第三步:确认下图1,2,3处设置正确,出现此问题的主要原因是2处要选为“under Reset”选项,默认“Normal”选项设置,导致了“no target connected”下载程...

2019-01-11 17:26:41 8406 4

原创 CMAKE : INCLUDE命令

指令:include作用:从文件或模块加载并运行CMake代码。形式:include(&lt;file|module&gt; [OPTIONAL] [RESULT_VARIABLE ][NO_POLICY_SCOPE])说明:变量读写范围为调用此指令的调用者的范围,因此,具有动态范围即取决于调用者;如果“OPTIONAL”被指定,则指定的文件不存在时,不会产生任何错误;如果“RE...

2018-12-30 22:44:17 6903

原创 视觉SLAM十四讲 从理论到实践-第九讲实践:设计前端,关于Sophus库中SO3类构造函数使用疑惑

在练习视觉SLAM十四讲 从理论到实践-第九讲实践:设计前端实验时,碰到了关于一处使用Sophus库中SO3类构造函数的疑惑。Sophus库中:SO3::SO3(double rot_x, double rot_y, double rot_z){ unit_quaternion_ = (SO3::exp(Vector3d(rot_x, 0.f, 0.f)) ...

2018-12-24 21:47:11 1596 2

原创 算法收集(图像处理)1

目录1.图像内插算法图像内插算法1.1 双线性插值公式:https://blog.youkuaiyun.com/woxincd/article/details/6729425更新中。。。

2018-12-16 00:07:17 273

原创 算法收集(数学)1

随机数发生器1.1 高斯随机数发生器1.1.1 Marsaglia polar method (pseudo-random number sampling method)作用:产生高斯随机变量值。备注:wiki网址附有C++源码实现wiki网址:https://en.wikipedia.org/wiki/Marsaglia_polar_method...

2018-12-08 21:29:50 451

原创 开源库收集(机器人领域VSLAM)1

机器人领域中相关开源库资料汇总收集1. 矩阵运算1.1 系数矩阵计算算法SuiteSparse是一系列稀疏矩阵运算算法集,主要包含:•GraphBLAS: graph algorithms in the language of linear algebra•Mongoose: graph partitioning•ssget: MATLAB and Java interface to ...

2018-12-05 10:26:18 601

原创 VMWare虚拟机平台 ubuntu16.04 opencv3.4 获取usb摄像头图像失败,显示select timeout错误,解决了的方法

在运行opencv3.4的摄像头标定程序时, 出现USB摄像头打开成功,就是读不到图像,使得图像矩阵为空,出现对图像矩阵调用resize()方法时出现故障,通过判断图像矩阵是否为空解决此错误后,程序退出时提示select timeout故障提示。按博客https://blog.youkuaiyun.com/komonder/article/details/79992529中方法尝试,如下图修改虚拟机设置为U...

2018-11-22 00:24:49 3811 5

原创 第4讲 李群与李代数-部分习题解答

5.证明:Rp∧RT=(Rp)∧. Rp^{\wedge }R^{T} = (Rp)^{\wedge}. Rp∧RT=(Rp)∧.证明过程如下,纯属个人理解,仅供参考交流。

2018-11-19 11:03:12 2089 1

原创 第4讲 李群与李代数 - Sophus库安装

Sophus安装过程:$ git clone https://github.com/strasdat/Sophus.git$ cd Sophus$ git checkout a621ff$ mkdir build // 创建外部构建编译输出目录$ cd build$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local … /...

2018-11-18 18:29:09 1307

原创 基于光流模块的移动机器人运动学

注:本文参考了大连理工大学-硕士研究生:李世云的硕士学位论文(一种基于光流传感器的移动机器人定位方法),在对李世云先生表示衷心的感谢,如有错误,欢迎指正,谢谢!1. 光流模块定位原理**光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计...

2018-10-12 11:16:51 2841 2

转载 Build System

To build targets, the build system needs information such as the locations of tool chain components (e.g. C++ compiler), source code locations, code dependencies, external dependencies, where those de...

2018-08-07 09:02:50 2382

空空如也

空空如也

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

TA关注的人

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