自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度相机障碍检测

【代码】深度相机障碍检测。

2024-06-12 11:25:36 134

原创 设备树配置gpio

【代码】设备树配置gpio。

2024-01-31 10:33:40 456

转载 抖音爱心特效代码

,html 爱心特效,把张小名改为你喜欢人的名字就好。

2022-10-22 11:06:15 11841 57

原创 c语言状态机例程

通过状态机的状态不断切换跳转,在线程处理的时候。

2022-10-17 15:57:42 580

原创 pid控制

误差的变化+I*误差的积分。ros通过pid控制贴墙走。

2022-09-23 01:26:49 207

原创 c语言位域

有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。位域的宽度不能超过它所依附的数据类型的长度。通俗地讲,成员变量都是有类型的,这个类型限制了成员变量的最大长度,:后面的数字不能超过这个长度。变量prnt被储存在int大小的内存单元中,但是在本例中只使用了其中的4位。位域通过一个结构声明来建立:该结构声明为每个字段提供标签,并确定该字段的宽度。根据该声明, prnt包含4个1位的字段。位域是操控位的一种方法(操控位的另一种方法是使用按位运算符,按位运算符将在之后的笔记中做介绍)。

2022-09-15 11:36:02 135

原创 ubuntu 20 找不到适配器

网上说Linux4.14的内核已经支持rtl8822be了,但好像4.18又不支持了。可我电脑无线网卡正好是rtl8822be的,需要更新内核到linux5.4在网上找了一堆方法,不过已经过时了,就是不适合的电脑这种直接没有驱动的情况的。找了一圈以后把几种方法合并,终于完美驱动。你看到的这篇文章就是在Ubuntu下使用Wifi连网发表的。第一步:更新系统。第二步:安装依赖,更新内核到linux5.4第三步:检出并编译网卡驱动检出。

2022-09-09 10:52:03 656

原创 详解ROS中TF函数的使用

详解ROS中TF函数的使用:https://www.codenong.com/cs105494587/

2022-06-27 22:00:20 134

原创 关于ros --tf2的使用

在tf2系统中,将包分为tf2和tf2_ros。tf2用来进行坐标旋转,以及tf、msg两种四元素数据结构的变换;tf2_ros负责与ROS数据通信打交道,负责发布tf或订阅tf,即发布者和订阅者是在tf2_ros命名空间下的。1、tf2 (姿态变换和tf格式转换)1.1 四元数的组成一个四元素有4个成员(x,y,z,w)。不绕xyz轴旋转的常用单位四元数为(0,0,0,1)。注意: w 是最后一个,但是一些库像 Eigen 把 w 放在第一的位置。四元数的大小应为1。 如果数值错误导致四元数的大小不

2022-06-27 21:57:21 2947

原创 ros通过监听机器人当前位姿

获取机器人当前位姿

2022-06-27 21:27:20 371

原创 sensor_msgs::LaserScan消息的解释

Header :是一个结构体,包含seq、stamp、frame_id。seq扫描顺序增加的id序列,stamp激光数据的时间戳,frame_id 是扫描数据的名字。angle-min:激光开始扫描的角度angle-max:激光结束扫描的角度angle-increment:激光每次扫描增加的角度time-increment: 激光测量的时间间隔scan-time :激光扫描的时间间隔range-min:激光测距的最小值range-max:激光测距的最大值ranges:距离数据,是一个长度360的距离数组,

2022-06-27 10:17:29 1330

原创 ros 虚拟墙yocs_virtual_sensor的包的使用

虚拟墙是在turtlebot2那里调包出来修改的,主要在RVIZ上面布置一些虚拟的墙体,并加进去虚拟的激光,好让虚拟的墙体也拥有膨胀区域,机器人到达虚拟墙体能够进行避障。发布虚拟激光1、安装好yocs_virtual_sensor的包,这个包需要安装比较多的依赖文件2、编译yovs_virtual_sensor包,这个包需要自己更改CMakeLists.txt文件,不然启动launch文件时候会提示找不到节点,主要更改下面这几句:3、配置standalone.launch文件,需要添加yaml文件进去,

2022-06-24 22:18:24 773 1

原创 ros角度与四元素的转换与TF程序包相关

Yaw角到QuaternionQuaternion到Yaw角返回的是弧度该链接重要ROS TF2 中的 四元数 基础部分:https://blog.csdn.net/qq_32761549/article/details/109110598TF程序包相关的命令行使用以上主要是数据显示根据当前的tf树创建一个pdf图:$ 这个工具首先订阅/tf,订阅5秒钟,根据这段时间接受到的tf信息,绘制成一张tf tree,然后创建成一个pdf图。将会以图形的形式显示出TF树中所有的frame和两个fram

2022-06-24 19:42:35 1935

原创 c语言与数据库的创建使用

c语言与数据库的创建使用

2022-06-23 00:35:02 727

原创 机器人自转与eband_local_planner源码

eband_local_planner源码解读:https://blog.csdn.net/WangQiang319670/article/details/78910828获取机器人当前角度,参考rotate_recovery.cppangles.h 的用法https://blog.csdn.net/u011608180/article/details/108962700怎么控制自转rotate_recovery.........

2022-06-17 21:22:46 360

原创 navigation导航框架

base_local_planner 的得分计算公式/*创建我们要打分的局部轨迹规划*/3.导航框架move_base的重要函数这是move中重要的几个成员3.1 setplanmove_base.cpp调用局部规划算法时,调用的对象是boost::shared_ptr tc_;在tc_->setPlan(*controller_plan_);方法中实现把全局路径作为输入通过使用对象 tc_的成员函数(方法)setPlan,将全局......

2022-06-17 21:21:20 466

原创 globalplanner源码解读

makePlan 路径规划接口函数initialize 初始化规划器接口函数在GlobalPlanner中的主要接口函数:makePlan 重载了路径规划接口函数initialize 重载了初始化规划器接口函数computePotential 新定义了计算规划地图势场的接口函数 (已经不使用了)getPlanFromPotential 新定义了得到规划路径的接口函数(提供给makePlan使用)在GlobalPlanner中的主要成员变量Expander* planner_ 成员变量图搜索算法指针,如: (

2022-06-17 21:20:20 1060

原创 costmap解读

规划的路径都是建立在costmap之上的,所以先讲一下必须知道的costmap的知识,实际代价地图存储在这里unsigned char* costmap_;每个字符八位0~255即cost值。把实际地图根据分辨率映射成栅格地图,依次给栅格编号,如下图所示,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DrVm8IEu-1655471760509)(C:\Users\lanth211108\AppData\Roaming\Typora\typora-user-images\16

2022-06-17 21:18:08 767

原创 c++读取ini配置文件

https://blog.csdn.net/u013288800/article/details/82625892

2022-06-17 00:10:36 550

原创 QT csv,C++ini读取数据

C++ ini配置文件的格式及读写操作:https://blog.csdn.net/weixin_44517656/article/details/109014236main.cppIniReader.hIniReader.cppIniWriter.hIniWriter.cpp

2022-06-17 00:01:54 208

原创 C语言读取csv文件的两种方法

方法一:一次获取所有字符,用strtok函数分割(字符少的情况下使用)方法二:每次取逗号前的一个数,用strstr函数查找逗号位置后一位继续查找字符(字符多的情况下使用)

2022-06-16 21:40:16 5313

原创 C/C++读写csv文件

实现用C++读取.csv文件,并存到STL中.csv文件即将表格数据转换为用分隔字符分隔的值(也可以不是逗号)补充:将字符串类型数据转换成 int 类型需要先使用 .c_str() 转成 const char* 类型,再用 atoi() 转成 int ,如果转为浮点型则 atof() ,long 型则 atol() 等等。...

2022-06-16 21:34:41 3214 1

原创 c++多态

笔记

2022-06-11 00:17:22 36

原创 C++ virtual 继承

笔记

2022-06-10 23:50:00 670

原创 ros打印log的五种方法

它们对应五个C++宏来产生日志消息,如下所示:我们经常也能看到不带_STREAM的消息,它们的区别如下:

2022-06-07 19:06:16 839

原创 C++常见的类型转换

c++ 类型转换笔记

2022-06-02 01:14:14 552

原创 ros参数param在全局与局部的引用

ros参数param在全局与局部的引用在 c++ 操作参数的时候,我们经常会看到ros::NodeHandle nh; 和 ros::NodeHandle nh(“~”); 两种用法。主要是全局命名空间和局部命名空间的不同。ros::NodeHandle nh; 是 全局命名空间,ros::NodeHandle nh("~"); 是 局部命名空间。<launch> <!-- 全局的 test_param --> <param name="param1" val

2022-05-30 18:16:18 342

原创 c语言获取指定目录下的文件名和类型

c语言获取指定目录下的文件名把地图文件名发给web端 //获取地图目录下的所有地图文件void GetFileNames(string path,vector<string>& filenames){ DIR *pDir; struct dirent* ptr; if(!(pDir = opendir(path.c_str()))) return; while((ptr = readdir(pDir))!=0) {//返回当前目录的

2022-05-30 16:07:46 919

原创 树莓派交叉编译工具链的安装笔记

即生成的库整个系统可用交叉编译工具链的安装添加库到配置环境变量博文https://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html从共享文件夹拷贝到工作目录 cp /mnt/hgfs/share/tools-master.zip . 解压 unzip tools-master.zip cd /home/CLC/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnuea

2021-05-31 18:06:23 44

原创 使用libcurl库进行人脸识别和车牌识别

使用libcurl库进行人脸识别和车牌识别基于ocr识别软件基于bs识别 b浏览器 s服务 HTTP网路通信协议用C语言代码发起网络请求,在翔云人工开放平台完成识别的功能curl库的作用是访问http和HTTPS网站 HTTPS加密的网站通过curl库访问翔云人工开放平台实现人脸识别由于翔云人工开放平台是HTTPS格式的网站,接口地址https://netocr.com/api/faceliu.do,需要在curl库安装文件的基础上加上ssl–with-ssl添加支持HTTPS格式协议,

2021-05-31 17:56:51 139

原创 C语言libcurl库的使用

C语言libcurl库的使用curl库的作用是访问http和HTTPS网站 HTTPS加密的网站在linux和树莓派都可以把curl-7.71.1.tar.bz文件复制到linux的工作目录/home/lthmkdir httpcd http在安装curl库之前要安装支持HTTPS的OpenSSL工具在浏览器搜索wget OpenSSL.tar 获取开源工具方法wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz安装命令ta

2021-05-31 17:44:27 1006

原创 基于树莓派驱动框架代码

树莓派驱动框架代码以gpio4为例int fd = open("/dev/fb0", O_RDWR);表示打开驱动文件APP通过调用c库让内核干活,应用程序调用open,read,write这些函数(来自于C库),C库和系统调用接口打交道,系统调用接口可以操作底层的各种东西,可以做进程线程相关的东西,也可以访问各种不同的文件系统,我们在应用程序中调用open ,read ,write函数,在系统调用接口就会调用sys_open,sys_read ,sys_write,然后根据open,read,wri

2021-05-31 17:36:46 186

原创 树莓派的交叉编译

树莓派的交叉编译交叉编译是什么,为什么要交叉编译sudo apt-get install vim vim工具比vi好用是什么?=交叉编译 是在一个平台上生成另一个平台上的可执行代码。我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行 我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out, 是在树莓派上面运行,不是在ubuntu linux上面运行 编译:是在一个平台上生成在该平台上

2021-05-31 17:20:02 63

转载 树莓派mjpg-streamer库与摄像头拍照的使用

树莓派mjpg-streamer库与摄像头拍照https://jingyan.baidu.com/article/47a29f2474a555c01523994c.html树莓派利用pi Camera模块,通过mjpg-streamer软件获取视频,通过手机端或电脑端浏览实时视频。网上太多的mjpg-streamer使用配置例程,但是问题多多,自己实践的步骤如下sudo apt-get install subversion #Subversion是一个自由开源的版本控制系统sudo apt-get

2021-05-31 17:13:36 284

原创 学生成绩管理系统c语言

学生成绩管理系统#include <stdio.h>#include <malloc.h>#include <string.h>struct Student{int xuehao;char name[20];int chinese;int math;int english;int sum;struct Student *next;};struct Class{struct Student *student;struct Class *ne

2020-10-19 00:00:42 117

空空如也

空空如也

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

TA关注的人

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