- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 ros2和gazebo仿真简单的数据交换
1.根据官方的教程创建简单的模型velodyne激光雷达 velodyne.world<?xml version="1.0" ?><sdf version="1.5"> <world name="default"> <!-- A global light source --> <include> <uri>model://sun</uri> </include>
2021-10-12 19:38:19
456
2
原创 KDL轨迹规划总结:(1)
1.在orocos_kinematics_dynamics-master\orocos_kdl\examples\trajectory_example.cpp插入中间路径点总结:首先调用了Add,内部的流程是首先调用判断是否是(1)起始点(2)中间点(3)指定点(传入的参数)开始算距离,这里调用Norm简化了欧几里得距离,其实就是根据向量中的最大值进行了化简接着进行两条线之间的的角度判断,判断是否需要圆弧的过度接着就是进入直线或者圆弧过度的选择,将中间点放入结构体Pat...
2021-07-21 11:17:30
1212
原创 qt for android中导入Poco库(主要使用poco中的websocket在安卓中进行通信)
说明:(1)编译主要是在乌班图18.04下1.准备的工具(1)poco1.90 https://github.com/pocoproject/poco/tree/poco-1.9.0(2)ndk(android-ndk-r21e-linux-x86_64)交叉编译工具 https://developer.android.com/ndk/downloads?hl=zh-cn2.开始配置文件(1)进入ndk目录(E:\qml\Android\android-ndk-r21e) 我这里..
2021-07-08 10:57:27
748
原创 muduo中threadpool中一些理解
void threadPool_unittest(){threadPool pool("MainThreadPool");pool.setMaxQueueSize(1);pool.start(5);pool.run(print);pool.run(print);for (int i = 0; i < 1000; ++i){char buf[32];snprintf(buf, sizeof buf, "task %d", i);pool...
2021-06-15 10:48:50
150
原创 3轴机械臂动力学辨识-牛顿欧拉线性化(Matlab)
Matlab代码写成τ=Yp的形式(τ-关节扭矩 p-参数集)% 三连杆机械臂瞬态运动的牛顿-欧拉递归逆动力学求解:% 参数:(运动指令)各关节运动角度, 关节速度, 关节加速度(3*1矩阵)% 返回值:各关节力矩(3*1矩阵)function tau = min_Three_link_manipulator(theta,theta_d,theta_dd)% 改进D-H参数th(1)=theta(1)*pi/180;d(1)=0;a(1)=0;alp(1)=0;th(2)=th...
2021-03-07 19:00:43
1965
3
原创 2020-12-30
坐标转换案例在C++中利用Eigen库对图像中的点进行旋转平移,以达到对图像的基本操作。#include <iostream>#include <Eigen/Dense>#include <math.h&g...
2020-12-30 09:21:01
136
原创 2020-11-18
这段代码解决Python中cv.boxPoints的替换问题,C++ 中请使用新的API函数。以及画出最小轮廓的方法。#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;int main() { cv::Mat image = cv::imread("./data/pic9.png"); Mat image_copy(image)
2020-11-18 16:04:29
200
原创 Linux线程小结
1.线程的概念lwp:light weight process轻量级进程,本质上仍是进程,线程让然拥有自己的PCB进程控制块。线程与进程共享资源,通过三级页表指向统一资源。线程是可执行的最小单位。但是,栈空间是不共享的,errorno不共享,信号不共享(可用信号屏蔽字)。2.有关线程的函数创建:pthread_create(线程id,线程属性,线程调用的函数,...
2019-04-08 17:21:16
178
转载 设计模式
1.依赖关系(类图):做另一个类的参数或者返回值2.开闭原则:增加代码,而不是修改代码3.倒置依赖原则:向接口层靠拢4.迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.5.实现单例的常用步骤:1.构造函数私有化 2....
2019-01-29 18:14:28
200
转载 C与C++总结
int a=10;int b=20;1.在C语言中(a<b?a:b)=30; //编译不通过,因为数值(a或者b)放在寄存器中,而C语言的寄存器返回的是一个数,数不能做左值*(a<b?&a:&b)=30; //编译通过,与C++同样2.在C++中(a<b?a:b)=30; //编译通过,因为返回的...
2019-01-08 17:47:26
470
转载 关于C++中的greater编译问题
C++ “greater”: 未声明的标识符错误 本人Visual Studio 2015,在使用C++ STL中的set,multiset时定义multiset <int,std::greater<int>> m 报错C++ “greater”: 未声明的标识符错误解决方案:在头文件中加入#include<functional>即可解决...
2019-01-07 23:07:27
1388
2
转载 C语言结构体学习小结
1.首先,数据类型是固定大小内存块的别名。typedef struct man //这里的struct man 相当于一个类型{int age;//man man1; //失败,因为递归调用自己,并不知道自己的大小,分配不了内存}man; typedef struct man{int age;str...
2019-01-03 17:52:12
428
原创 C++类中为什么要调用成员函数?
#include "iostream" using namespace std;class MyCircle{public: double m_r; double m_pi = 3.14; double m_s=m_pi*m_r*m_r;};void main(){ MyCircle c1; double r; cout << "Ple...
2018-06-24 07:11:02
338
原创 逆向工程核心原理 pe文件EXPORT表小结
线上一张图,然后再说明:我们的目的是找到库里的函数,所以首先应该了解基本的流程:先是Address of Names,找到数组,再从数组中用公式(书中有)找到目标函数————》Address of NameOrdinals中找到Ordinal(序号,顺序的意思)————》再比较Ordinal和Address of Functons中函数的顺序(有时候会不一样),找到目标函数————》最后用Ordi...
2018-05-22 12:59:04
324
原创 逆向工程核心原理 pe文件(小试牛刀)小结
在开始这篇pe文件格式时,我阅读到其中的练习时感到比较混乱,在这里我推荐大家先使用PeViews这款软件进行学习。首先应该理清思路然后再自己找一遍。PeViews如下图:首先看着课本能分清楚基本的结构:DOS头——》DOS存根——》NT头(NT文件头和NT可选头)——》各种节区头(其中的.text .data .rsrc等)其次,要能够找的到IMAGEBASE(映射基础),然后再在各个节区头中找到...
2018-05-21 17:38:22
1393
原创 逆向工程核心原理 小结
首先,先说明我在阅读和动手过程中的第一个问题。1.如果要跟着书上的过程进行调试,并且你是用的是VS,那么建议你关闭C/C++优化。因为优化后的.exe会省略很多细节,不利于小白进行分析。具体关闭细节如下:在解决方案资源管理器中选中项目名称,——》右键点击“”属性“”选择“”C/C++“”选择优化关闭即可,再次运行调试,并用ollydbg调试即可。...
2018-05-21 12:52:15
2014
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人