c/c++
文章平均质量分 70
hjwang1
让Robot走入社会、融入生活,方便人与人、人与物、物与物之间的沟通,丰富人们的生活
======
人工智能是分主观与客观的,是硬币的两个方面
客观智能是世界的本质描述,是物理的是数学的
主观智能是来自于客观智能,是哲学的是宗教的
如果抛开物理与数学只去讲方法是绝对走不远的
而单讲物理与数学只会得到一个静默缤纷的世界
展开
-
常微分方程组之龙格-库塔法
对于方程y'=f(x,y),初始条件:y(x0)=y0,#include<stdio.h>FILE *fp=fopen("ex的值.dat","w");double func(double x){ return x; }void tworder(double x_0, double h, double t_0, double t_n){ double n=(t_n-t_0)/h; double t=t_0, x=x_转载 2020-07-02 10:28:11 · 2353 阅读 · 0 评论 -
姿态系统的动力学方程and Mahony filter
// Rate of change of quaternion from gyroscopeqDot1 = 0.5f * (-q1 * gx - q2 * gy - q3 * gz);qDot2 = 0.5f * (q0 * gx + q2 * gz - q3 * gy);qDot3 = 0.5f * (q0 * gy - q1 * gz + q3 * gx);qDot4 = 0.5f * (q0 * gz + q1 * gy - q2 * gx);原创 2020-06-29 17:49:01 · 914 阅读 · 0 评论 -
浅谈陀螺仪和加速度计的互补滤波
ref:https://blog.csdn.net/zhaojun1204/article/details/52790697结合加速度计和陀螺仪的平衡解决方案首先通过ADC采样,读出陀螺仪和编码器的电压值,并将其转化为可用单位:1.偏移(offset):让陀螺仪静止,加速度计保持水平并静止,这时候读到电压值,就是偏移值。如果读数不稳定,取平均值即可。2.转换系数(scale):传感器输出电压值乘以系数,得到我们想要的单位,这个系数可以在传感器的数据手册(datasheet)中找到。关于加速度计根转载 2020-06-29 15:10:26 · 3520 阅读 · 1 评论 -
IMU Data Fusing: Complementary, Kalman, and Mahony Filter
ref:http://www.olliw.eu/2013/imu-data-fusing/Mahony’s Filter in Quaternion Form as Implemented by Madgwick (code: madgwick_algorithm_c.zip)Madgwick’s 6DOF IMU Filter (wo gyro drift correction) (code: madgwick_algorithm_c.zip)转载 2020-06-29 14:40:35 · 391 阅读 · 0 评论 -
IMU姿态融合(MPU9250从校正到滤波步骤)
ref:https://blog.csdn.net/u013236946/article/details/72934934一、动机MPU9250包括三轴加速度计、三轴陀螺仪和三轴磁力计。因为加速度/磁力计具有高频噪声(需要低通滤波),将加速度/磁力计的信号看成是音频信号,它们的信号会有很多“毛刺“,也就是说它们的瞬时值不够精确,解算出来的姿态会震荡,但长期来看姿态方向是对的。而陀螺仪具有低频噪声(需要高通滤波),即每个时刻的得到的角速度是比较精确的,使用积分就能得到旋转角度(姿态),但是积分会累积误转载 2020-06-24 18:32:51 · 8315 阅读 · 7 评论 -
Eigen中四元数Quaterniond的初始
Quaterniond的初始Eigen::Quaterniond q1(w, x, y, z);// 第一种方式Eigen::Quaterniond q2(Vector4d(x, y, z, w));// 第二种方式Eigen::Quaterniond q2(Matrix3d(R));// 第三种方式以上两种方式是不同的,在Quaternion内部的保存中,虚部在前,实部在后,如果以第一种方式构造四元数,则实部是w, 虚部是[x,y,z];对于第二种方式,则实部是w,虚部是[x,y原创 2020-06-14 22:12:46 · 26015 阅读 · 0 评论 -
图像的矩特征
转自:https://www.cnblogs.com/ronny/p/3985810.html3. 利用OpenCV计算Hu矩opencv里对Hu矩的计算有直接的API,它分为了两个函数:moments()函数用于计算中心矩,HuMoments函数用于由中心矩计算Hu矩。Moments moments(InputArray array, bool binaryImage=false )参数说明输入参数:array是一幅单通道,8-bits的图像,或一个二维浮点数组(Point .转载 2020-05-27 20:25:24 · 438 阅读 · 0 评论 -
c++ 11 14 17 20标准
c++ 标准的语言特性与lib库ref:https://github.com/AnthonyCalandra/modern-cpp-featureshttps://en.cppreference.com/w/http://www.cplusplus.com/原创 2020-05-26 14:19:08 · 1307 阅读 · 0 评论 -
sift算法c语言实现
转自:http://blog.csdn.net/lsh_2013/article/details/46826141前段时间在做三维测量方面的研究,需要得到物体表面三维数据,sift算法是立体匹配中的经典算法,下面是对RobHess的SIFT源代码的注释。部分内容参考网上,在这里向各位大神表示感谢!头文件及函数声明#include "sift.h"#include "imgfeatures.h"#include "utils.h"#include <cxcore.h>#inc转载 2020-05-12 10:07:36 · 1054 阅读 · 0 评论 -
C++11中的时间库std::chrono(引发关于时间的思考)
转自:https://www.jb51.net/article/184639.htm前言时间是宝贵的,我们无时无刻不在和时间打交道,这个任务明天下班前截止,你点的外卖还有5分钟才能送到,那个程序已经运行了整整48个小时,既然时间和我们联系这么紧密,我们总要定义一些术语来描述它,像前面说到的明天下班前、5分钟、48个小时都是对时间的描述,程序代码构建的程序世界也需要定义一些术语来描述时间。...转载 2020-05-03 23:41:42 · 1732 阅读 · 0 评论 -
C++ 使用jsoncpp 封装及解析 json字符串(包含复杂数组)
C++ 使用jsoncpp 封装及解析 json字符串(包含复杂数组)转自:https://blog.csdn.net/centnetHY/article/details/83310331?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3&utm_sour...转载 2020-04-15 10:52:28 · 5519 阅读 · 0 评论 -
c++ 阻止拷贝构造与拷贝赋值copy constructor & copy assignment operator
ref: C++ primerstruct NoCopy { NoCopy() = default; NoCopy(const NoCopy&) = delete; NoCopy& operator=(const NoCopy&) = delete; ~NoCopy() = default;};move constructor...原创 2019-12-13 15:06:38 · 300 阅读 · 0 评论 -
PatchELF 修改linux下elf文件library搜索路径runpath
ref:https://blog.csdn.net/force_eagle/article/details/48263365Source==>http://nixos.org/patchelf.htmlsudo apt install patchelf修改前readelf -d cc1Dynamic section at offset 0xd49728 contain...转载 2019-12-11 11:49:17 · 1669 阅读 · 0 评论 -
C++中typename关键字的使用方法和注意事项
ref:https://blog.csdn.net/vanturman/article/details/80269081起因近日,看到这样一行代码:typedef typename __type_traits<T>::has_trivial_destructor trivial_destructor;虽说已经有多年C++经验,但上面这短短一行代码却看得我头皮发麻。看...转载 2019-12-06 15:09:21 · 415 阅读 · 0 评论 -
CMAKE和RPATH
什么是RPATH?在Linux环境下,使用动态链接的程序在运行时会自动链接ld.so这个库(OS X上是dyld),然后通过ld.so来查找链接其它的库。而RPATH就是编译的时候链接到执行文件的链接库路径。OS X在RPATH的设置上和Linux还是有点出入的,OS X的RPATH采用的是绝对路径。ld.so搜索路径的优先级是这样的:1.RPATH,编译链...转载 2019-11-29 18:29:12 · 543 阅读 · 0 评论 -
nm 命令输出项解析
ref:https://blog.csdn.net/USBdrivers/article/details/7928004Linux下的nm命令详解nm命令的输出包含三个部分:1 符号值。默认显示十六进制,也可以指定; 2 符号类型。小写表示是本地符号,大写表示全局符号(external); 3 符号名称。 给个例子:00000000 b .bss00000000 d .data000...转载 2019-11-27 09:27:38 · 2124 阅读 · 0 评论 -
YUV格式图像基础
ref:https://www.jianshu.com/p/4f31bcc6da791.YUV基础yuv是一种类似rgb的颜色模型,起源于黑白和彩电的过渡时期。其中Y代表亮度,uv组合起来可以表示色度。yuv信息只有y的信息就足以显示黑白的图片,yuv和YCbCr表示相同的东西,且Cb严格对应U,Cr严格对应V,yuv和rgb可以通过固定公式进行转换。yuv转rgb:yuv转r...转载 2019-11-21 10:25:13 · 529 阅读 · 0 评论 -
The Accelerometer and Gyroscope
ref:https://www.instructables.com/id/Accelerometer-Gyro-Tutorial/Step 1: The AccelerometerTo understand this unit we'll start with the accelerometer. When thinking about accelerometers it is oft...转载 2019-11-19 19:01:08 · 1420 阅读 · 0 评论 -
Reading a IMU Without Kalman: The Complementary Filter
ref:http://www.pieter-jan.com/node/11https://github.com/GruffyPuffy/imutesthttps://dev.intelrealsense.com/docs/rs-motionhttps://github.com/IntelRealsense/librealsenseSubmitted by Pieter-Jan on...转载 2019-11-19 18:41:02 · 593 阅读 · 0 评论 -
gcc使用-Wl,-rpath解决so库版本冲突
ref:https://www.dyxmq.cn/linux/gcc-option-wl-rpath.html一、 问题描述最近工作中遇到了一个问题:项目需要合入其他部门的模块,但是其中的一个共用共享库被更新了。因为项目很大,如果直接在我们的环境中替换更新这个库,很有可能会影响到其他模块。祖传的代码流传了差不多20年,涉及的模块也十分之多,贸然升级的风险很难评估。但是不替换这个库第三方模块...转载 2019-11-06 21:31:55 · 1781 阅读 · 0 评论 -
最近邻搜索算法flann Marius Muja and David G. Lowe
最近邻搜索算法flann repohttps://github.com/mariusmuja/flannhttp://www.qhull.org/原创 2019-10-21 10:38:36 · 295 阅读 · 0 评论 -
OpenMesh 8.0 android compile 交叉编译
/home/os/Android/Sdk/cmake/3.10.2.4988404/bin/cmake \-DCMAKE_TOOLCHAIN_FILE=/home/os/Android/Sdk/ndk/20.0.5594570/build/cmake/android.toolchain.cmake \-DEigen3_DIR=/usr/lib/cmake/eigen3 \-DANDROID_...原创 2019-10-18 10:52:38 · 350 阅读 · 0 评论 -
Linux多线程服务端编程
Linux多线程服务端编程使用muduo C++网络库https://vdisk.weibo.com/s/z9WvbkO4kQ81e原创 2019-10-13 21:35:53 · 261 阅读 · 0 评论 -
Cartographer理论及实现浅析--泡泡机器人原创专栏
转自:http://mp.weixin.qq.com/s/LdbFp-Zvkr02-_25ILb16g本文概述了Cartographer的理论及简要的梳理了其开源实现代码的逻辑,目的在于起到抛砖引玉的作用,为选择性的研究相关理论及实现提供参考。1. Cartographer理论概述Cartographer主要理论是通过闭环检测来消除构图过程中产生的累积误差[1]转载 2017-03-08 17:50:47 · 2189 阅读 · 0 评论 -
C++11 标准新特性:Defaulted 和 Deleted 函数及constexpr
转自:http://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/http://blog.csdn.net/csxiaoshui/article/details/39473419转载 2017-03-05 19:56:36 · 406 阅读 · 0 评论 -
C++ explicit关键字详解
转自:http://www.cnblogs.com/ymy124/p/3632634.html首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区转载 2017-03-05 20:06:22 · 391 阅读 · 0 评论 -
CUDA编程入门
转自:http://blog.csdn.net/zyazky/article/details/52456503 首先看一下CPU和GPU的微架构和计算能力对比。例如我的笔记本lenovo Y480,4核CPU,NVIDIA GT650M显卡384个CUDA核。计算能力对比:CPU: 4 * 2.5=10GFLOPSGPU: 384 * 0.转载 2017-03-09 17:35:53 · 1449 阅读 · 0 评论 -
Google开源SLAM软件cartographer中使用的UKF滤波器解析
转自:http://www.cnblogs.com/location-sensing/p/6208557.html在Google开源SLAM软件cartographer中,相对《SLAM for dummies》使用了更为复杂、性能更好的Scan匹配与UKF算法,这里简单介绍下cartographer中使用的UKF算法。 (一)滤波器参数设定 constex转载 2017-03-19 17:27:35 · 2251 阅读 · 0 评论 -
在ROS中使用Cartographer进行SLAM
转自:http://blog.csdn.net/zhangrelay/article/details/52757573ROS_Kinetic_27 在ROS中使用Cartographer进行SLAMCartographer是谷歌新開源的通用的2D和3D定位與構圖同步的SLAM工具,並提供ROS接口。论文Real-Time Loop Closure转载 2017-03-07 13:46:22 · 1643 阅读 · 0 评论 -
谈了这么久的Project Tango?我们终于把它讲清楚
转自:http://www.cnbeta.com/articles/tech/503593.htm2016年05月22日 15:49 10425 次阅读 稿源:雷锋网Project Tango发布初期曾经一度被称为黑科技,但现如今已慢慢走进我们的生活。如果说Kinect是3D感应技术的开创者,那么Project Tango就算是3D感应技术领路人了。Project Ta转载 2017-03-20 20:32:28 · 1598 阅读 · 0 评论 -
C++文件读写详解(ofstream,ifstream,fstream)
转自:http://blog.csdn.net/kingstar158/article/details/6859379/在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容:[java] view转载 2017-03-28 10:28:43 · 596 阅读 · 0 评论 -
Eigen使用快速参考
转自:http://blog.csdn.net/yuxiangyunei/article/details/50220287from:http://eigen.tuxfamily.org/dox/AsciiQuickReference.txtEigen 矩阵定义[cpp] view plain copy#include转载 2017-03-13 14:36:00 · 767 阅读 · 0 评论 -
cartographer的运行
source install_isolated/setup.bash# Download the 2D backpack example bag.wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsche原创 2017-03-13 16:23:36 · 1456 阅读 · 1 评论 -
机器视觉之路径规划
首发:今日头条号之机器人视觉机器视觉,在认知层面是个非定域性问题,在感知层面应该是个定域性问题,最直接的任务或应用就是路径规划。机器视觉之路径规划的特点不绕远路路径平滑路径安全可控可调基于测地线的数理模型基于机器视觉的路径规划原创 2017-04-09 19:32:46 · 3107 阅读 · 0 评论 -
基于谷歌Cartographer SLAM集成机器视觉
首发:今日头条号之机器人视觉从工程的角度来看,Google开源的SLAM真是上乘之作,当然算法及实现也是大公司级手笔,鉴于当前中文介绍较少,就把近来看的源码分析介绍出来,也许能给某些人以方便。这篇文章里,仅从ROS及Cartographer SLAM本身的调用流程讲起,关于算法等细节另开文章再详加说明。首先,编译、安装,把代码跑起来,先一探究竟,如下图所示,2D环境下的原创 2017-03-15 19:36:01 · 6663 阅读 · 3 评论 -
谷歌近期开源的SLAM方案在下一盘怎样的大棋?
转自:https://news.cnblogs.com/n/555239/10 秒总结全文:Cartographer 是谷歌刚刚开源的使用激光雷达进行 2D/3D SLAM 的算法库。其算法本身未必拔萃,但从设计到实现都是产品级的,很可能会在 SLAM 相关业界带来不小的反响。相关业者或许需要认真审视技术路线和商业模式。作者介绍:邵天兰,清华大学软件学院本科,慕尼黑工大硕士转载 2017-03-15 19:50:28 · 2039 阅读 · 0 评论 -
2D激光SLAM算法比较+cartographer
转自:http://blog.csdn.net/u012700322/article/details/52953768http://blog.csdn.net/zyh821351004/article/details/47381135最近找到一篇论文比较了一下 目前ros下2D激光slam的开源代码效果比较:详细参见论文: An evaluation of 2D S转载 2017-03-15 20:02:08 · 12802 阅读 · 1 评论 -
ros 编写 helloworld 程序
转自:https://www.douban.com/note/519918637/1 先建立工作空间~/catkin_ws参阅www.douban.com/note/516838470/ 下的创建工作空间(转自python培训)2 在工作空间~/catkin_ws下创建包pkg目录beginner_tutorials好处是通过创建包自动生成package.xml和CMake转载 2017-04-11 16:38:10 · 3022 阅读 · 1 评论 -
计算机视觉、机器视觉感知与SLAM比较
转自头条号:http://www.toutiao.com/i6418025683863208449/生物及人类的视觉原理是什么,至今在科技界也无确切的研究清楚,一个三维物体,人眼从不同的角度看过后,得到真实三维物体的一个“开覆盖”,这个“开覆盖”在人类大脑里就有了这个物体所唯一对应的一个视觉感知,这个感知在大脑里的存储是二维的还是多维的?存储的信息是曲率还是轮廓线?这里的“唯一对应原创 2017-05-11 11:02:04 · 9534 阅读 · 0 评论 -
类人的普适的计算机视觉是如何感知这个世界的?
转自:http://www.toutiao.com/i6451471217718198797/视觉在智能的范畴里,份量是不言而喻的,相比语音的听觉及其他感官来讲,在信息量方面视觉所要处理的数据占比应该在60%以上,足见视觉的重要性。这里先上物体视觉感知与运动感知的Demo效果图(后续的SDK会陆续公开,部分算法理论可参阅本头条号的其他文章,后续也会一直更新)捕捉手臂挥动的运原创 2017-08-08 10:33:08 · 942 阅读 · 0 评论