- 博客(15)
- 资源 (33)
- 收藏
- 关注
原创 Socket:UDP协议小白
UDP(user datagram protocol)用户数据报协议,属于传输层。首先要搞清楚网络通信的几个层次:OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”。OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI 只是存在于概念和理论上的一种模型,它的缺点是分层太多,增加了网络工作的复杂性,所以没有大规模应用。后来人们对 OSI 进行了简化,合并了一些层,最终只保留了 4 层
2020-10-31 18:12:57 975
原创 随笔:送给初次使用PCL库的小伙伴
写在前面:PCL库,之前在使用他的时候,只是各种掉库,觉得自己会调库了,根据案例可以跑出来自己想要的结果(比如计算一个点云的边界,使用RANSAC拟合三维直线等)觉得自己就是掌握了,其实并不然,这样的话只是懵懵懂懂的浅显的入门了而已,而有的时候并没有把简单的掉库代码读懂,只是按照案例代码复制粘贴导入自己的数据出来了自己想要的结果,并没有搞懂每一句话是什么意思,这样的话连一个搬运者也算不上罢了,只是停留在表面的知道功能。最近通过摸索尝试着去读一下他的底层各个类结构以及API函数的底层代码,才觉得自己原来.
2020-10-24 22:03:13 1192 3
原创 基于多线雷达的数据异常检测:检查测第去条线序出错
基于多线雷达的数据异常检测:原始数据展示:/*强度异常点检测:虚点(0),(255)*/#pragma warning(disable:4996)#include <iostream>#include <fstream>#include <vector>#include <string>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#inc
2020-10-19 15:38:47 119
原创 基于近距离的测距感知传感器调研以及扩展介绍
首先想实现的目的是:(有两个,第一个是距离检测;第二个是已完成的码垛箱体边缘位置检测。)1、在码垛机器人的三面装上传感器,实现前、左、右的距离感知。(环境是:机器人需要进入码头的大集装箱里边,实现在集装箱内部的码垛,该集装箱内部是类似于锯齿状的结构,所以左右不能用点激光来进行距离的检测,至少应该是线激光。前边要检测的是距离已完成的码垛箱体的距离位置。)2、找到已完成的部分码垛的箱体的边缘位置,从而引导下一步码垛时的位置矫正。---------------------1针对于第一个问题的调研:
2020-10-19 11:18:59 1489
转载 C++中的.hpp理解
什么是hpp文件 以往在编写 C++ 程序时,如果需要分模块,一般我们是编写一个 .h 文件,在里面放上函数的声明,再编写一个 .cpp 文件,在里面添加函数的相关实现,这样子在使用的时候包含头文件,再把 .cpp 加到当前工程下编译即可,如果此时 .cpp 忘记添加到当前工程下编译,经常就会出现函数找不到的情况。如果你的 .h 是模板类的声明,.cpp 是模板类函数的实现,由于模板两次编译的机制,直接包含头文件就出现找不到函数的情况了,这种情况需要把实现和声明放在一起,才能找到函数的定义...
2020-10-16 14:33:57 2018
原创 C++:随笔7---运算符重载
当我们进行a+b操作时,他返回的是a-b。例子:实现复数的加法。//用C++类的方法实现复数加法#include<string>#include<iostream>class Plus//定义一个复数类{public: //构造函数有两种情况,一种是对这个类有初始化;另一种是没有初始化(没有初始化的话把他们都赋值为0) Plus(); Plus(double r,double i); virtual ~Plus();//析构函数 Plus add(Pl
2020-10-16 14:30:07 186
原创 (曲率系列3:)PCL:PCL库中的两种曲率表示方法pcl::NormalEstimation和PrincipalCurvaturesEstimation
PCL里有两个计算曲率的调用函数:(1)pcl::NormalEstimation 这里边计算的曲率不是数学上定义的曲率。(2)pcl::PrincipalCurvaturesEstimation计算主曲率的。其中该种方法对应的英文文献链接为:
2020-10-16 14:28:51 3832
原创 (曲率系列2:)Paper6:Curvature Estimation of 3D Point Cloud Surfaces Through the Fitting of Normal
文献下载链接:简单说明原理就是:用一个点邻域内点的法向量计算该点的法曲率,根据欧拉公式得法曲率与主曲率的关系,最后用最小二乘优化得到主曲率。(通过拟合正截面曲率估算三维点云曲面的曲率,正截面曲率就是法曲率)不管他概念说的有多抽象,反正最终处理的只是数学上定义的xyz的三维坐标而已。问:就这个啊,i表示p点周围的邻域是从1到m,那么n没有具体含义就是表示与法线有关的计算?,n是法线我知道,我的意思就是这里的下标n没有变化,不像i一样从1到m的变化,n就一直是n,是为了说明法曲率的计算是与法线有
2020-10-16 13:50:24 984 2
原创 C++:随笔9----模板/内联函数/容器
C++设计范型:(到目前为止已经学习了两种C++设计范型)(1)面向过程:按照面向过程式范型吧程序划分成不同的函数。(2)面向对象:按照面向对象式范型把代码和数据组织成各种各样的类,并建立类之间的继承关系。另一种范型:范型编程。(3)泛型编程:泛型编程技术支持程序员创建函数和类的蓝图(即模板,template),而不是具体的函数和类。PS:关键字class并不意味着这个是个类,这只是一种约定俗成的写法。在告诉计算机T是一种类型之后,就可以像对待一种普通数据类型那样使用他了。(写法是先写.
2020-10-14 15:57:50 210
原创 C++:随笔8---命名空间
实现部分放在源文件.cpp里面。模块化实例:头文件(里边是函数和类的声明)//Rational.h头文件的名称//Create by Yuan创建者名字//头文件作用:这个头文件声明了有理数类(Rational class)//类里对四则运算进行重数,以实现分数运算#include<iostream>//需要引进来一个头文件,因为下边用到了stdclass Rational{ public: Rational(int num,int de...
2020-10-14 09:22:05 120
原创 C++:随笔6---new\delete\虚方法\抽象方法
指针是一种专门用来存储内存地址的数据类型。(他存储的不是具体的数据而是别人的地址)常用做法是:创建一个变量,再把这个变量的地址赋值给一个指针,然后就可以用指针去访问这个变量的值。事实上在C和C++中,我们完全可以在没有创建变量的情况下,为有关数据分配内存,也就是直接创建一个指针,并让她指向新分配的内存块。int *pointer=new int;//int *pointer表示一个指向整型变量的指针,指针的名字叫做pointer,我们用new给他创建一个内存这个内存是什么类型呢?是int型。(
2020-10-11 15:22:21 143
转载 c++成员函数的重载、覆盖、隐藏区别
c++成员函数的重载、覆盖、隐藏区别成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关...
2020-10-11 14:20:02 313
原创 C++:随笔5---this指针和类的继承
this指针:(通过一个典型的例子来认识他)class Human{ char fishc; Human(char fishc);//构造函数};Human::Human(char fishc)//对构造函数进行初始化{ fishc=fishc;//意图就是把这个传入参数赋值给这个上边类属性的fishc}//但是这样赋值的话,他们的名字一样,这样的话构造器就有可能认不出来,(因为他不知道你是要把属性去覆盖参数,还是把传入的参数去覆盖给属性,因为两者的名字一样,但是语
2020-10-09 16:02:50 347
原创 文件操作
文件操作:#include <iostream>#include <fstream>#include <windows.h> // 为了使用Sleep()函数 using namespace std;struct FishOil//1定义一个结构{ std::string name; std::string uid; char sex;};bool InitFishC();//声明一个初始化的函数bool ReadFishC
2020-10-09 13:53:17 898 3
原创 C++:随笔4--对象
类是一个模型,当我们为这个类创建实例的时候也就是对象的本身。对象的内部可以有变量和函数,而结构通常只是由各种变量构成。对象与结构有很多相似之处,但是对象还可以有他们自己的函数。类由变量和函数组成,对象将使用哪些变量来存储信息,调用哪些函数来完成操作,所以习惯上类里边变量成为属性,函数成为方法。OOP(面向对象编程过程):第一步:创建一个类(每个类跟变量一样都有一个名字,类名的第一个字母通常采用大写)“::”作用域解析符作用是告诉编译器这个方法存在于何处,或者说是属于哪一个类。std:
2020-10-03 18:25:41 119
自己实地项目,关于通信:与安川控制器P3000通信模块代码
2022-07-03
解析波士顿Handle机器人背后的技术 - 硬创公开课-超清720P(2893481).mp4
2021-09-06
PCL-Principal-Curvature-CAN-master.zip
2020-11-27
基于coco格式的MaskRCNN完整训练过程
2020-11-27
Curvature Estimation
2020-10-12
Point Feature Extraction on 3D Range Scans Taking into Account
2020-09-05
HOUGH_LINE.cpp
2020-06-29
Fast 3D Line Segment Detection From Unorganized Point Cloud.pdf
2020-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人