- 博客(67)
- 资源 (10)
- 收藏
- 关注
原创 虚函数与抽象函数
虚函数定义:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。声明方式:使用virtual关键字修饰成员函数。例如,virtual 函数返回类型 函数名(参数表){函数体}。抽象函数定义:在基类中声明但没有提供具体实现的函数,用于定义基类的接口规范。声明方式:通常使用abstract关键字(在C#等语言中)或特殊语法(如C++中的= 0)来表示。例如,在C++中,抽象函数可以声明为。
2025-02-17 16:23:07
274
原创 git 命令如何在本地新建分支,并push到远程仓库的新分支上
请注意,如果你没有权限在远程仓库上创建分支,或者远程仓库的配置不允许直接推送新分支,你可能会遇到错误。在这种情况下,你需要联系远程仓库的管理员来获取必要的权限或调整仓库的配置。另外,如果你的远程仓库已经存在与你想要创建的分支同名的分支,Git 会拒绝推送并提示冲突。在这种情况下,你需要选择一个不同的分支名称,或者与远程仓库的管理员协调以解决冲突。是你创建的本地分支的名称,也是你想要在远程仓库中创建的分支的名称。当你准备好将你的新分支推送到远程仓库时,你可以使用。你可以在远程仓库的网页界面上检查,或者使用。
2025-01-14 14:56:23
1274
原创 PY32F003 管脚复用--在 OB(Option Bytes)中禁用和启用 PF2/RESET
要禁用它的RESET功能, 要在芯片的 OB(Option Bytes)里修改. OB 位于地址 0x1FFF 0E80, 占用4个字节, 其中2字节是配置, 另外2字节是这两个字节的反码. 对应 RESET 功能的设置 NRST_MODE 存储于第14位, 0表示仅复位输入, 1表示禁用复位输入,启用 GPIO 功能.当 PF2/NRST作用为GPIO 口时,SWD口又复用为其他IO功能时,需要重新下载程序,会无法下载。存储器会被保护,防止不想要的(比如电干扰引起的)写和擦除操作。
2024-07-23 14:58:08
2170
原创 f1c100s 荔枝派 系统移植
如上图所示,为uboot的configs目录下的两个荔枝派的配置文件,第一个licheepi_nano_defconfig 是针对TF卡的配置文件,第二个licheepi_nano_spiflash_defconfig是针对flash的启动文件,显然我们需要选择第一个配置文件编译uboot,因为我们只有TF卡一种存储介质,没有flash。将TF卡插好之后上电,打开串口调试,按下复位按键,等待uboot启动,5秒倒计时结束,读取两个文件,启动Linux内核。用来配置串口,等待5秒,文件系统挂载盘符。
2024-06-06 21:03:06
1096
2
原创 QT 使用百度语音识别--生成文本
ui->btnStartSpeak->setText("结束语音");ui->btnStartSpeak->setText("开始语音");//文字转语音 播放。3. 通过把录音文件 通过http请求百度云语音库的方式 ,进行语音转文字。if(speakStatus==false)//开始。#include "audio.h"//语音识别。
2024-06-04 10:35:20
1734
原创 QT 实现图表显示--QChart
QBarSet *setLearnProcess= new QBarSet("学习进度");chart->setTitle("学习进度展示");axisY->setTitleText("百分比");//创建执行语句对象。
2024-06-03 15:03:23
1416
原创 QT 消息弹出后 消失
" //背景颜色 "border-radius: 16px;" //圆角半径。" //字体颜色。/* 结束动画 *//* 快进慢出 */
2024-05-30 14:50:20
986
原创 QT 文字转语言插件
/ 调节阅读声音大小,取值范围为0.0到1.0。//调节阅读速度,取值范围为-1.0到1.0。QString str="欢迎使用智慧教育学习平台";至此就可以播放声音了。
2024-05-10 15:04:24
771
原创 QT 线程的使用
ui->btnStartWork->setText("开始任务");qImageForTraj.isNull())//开始任务。if(startTask==false)//开始。
2024-04-09 14:48:56
612
原创 QT 使用redis ,连接并使用
链接:https://pan.baidu.com/s/17fXKOj5M4VIypR0y5_xtHw提取码:12341.下载得到文件夹如图course_redis为安装包。把安装包解压到某个路径下即可。打开cmd窗口,切换到Redis安装路径,输入 redis-server 启动 redis 服务。
2024-04-08 17:19:27
3489
原创 qt读取共享内存
img_sharememory->attach(QSharedMemory::ReadWrite)) //关联共享内存。//为实例对象指定关键字(给共享内存命名)//定义共享内存实例指针。#include //头文件。//将进程与共享内存段分离。//读取完后unlock。//读数据前先lock。//读取数据到out中。
2024-03-13 15:40:28
511
原创 QT C++调用python传递RGB图像和三维数组,并接受python返回值(图像)
再生成 QImage img((unsigned char*)CArrays, width, height, QImage::Format_RGB888);3. 注意使用这个 import_array1();用于后边numpy数组的调用, import_array();返回值又通过 mempcpy(CArrays,PyArray_DATA(imageData),width*height*3);Qimage 传入的是QImage::Format_RGB888格式图片,通过。
2024-01-04 13:37:38
1281
1
原创 一。IMX6q emm烧录 步骤
对应 \烧写工具\IMX6Q(工业级1G+8G)设备树烧写工具\android_m6.0.1_2.0.0_ga_tool\mfgtools\Profiles\Linux\OS Firmware\ucl2.xml 文件下的。
2023-07-22 13:34:20
473
原创 虚拟机连网
3.通过手动切换网络,选择连接外网Wired connection1(下载) 还是 内部网Ethernet connection1(进行文件传输)2.2 当需要连接局域网时(网线),添加连接 add ,2.1当需要连接外网时(外网为wifi)选择无线连接。编辑连接为固定ip,选择手动,填写IP,掩码,网关。当然还可以再添加其他ip的连接方式。1.手动设置网络适配器NAT。2.点击虚拟机网络设置。编辑连接为自动获取Ip。
2023-05-15 21:18:19
238
原创 Cartographer(10)CeresScanMatcher2D
Ceres Solver:从入门到使用_非晚非晚的博客-优快云博客_ceres核函数基本原理公式:LocalTrajectoryBuilder2D::ScanMatch --》ceres_scan_matcher_.Match/** * @brief 基于Ceres的扫描匹配 * * @param[in] target_translation 预测出来的先验位置, 只有xy * @param[in] initial_pose_estimate (校正后的)先验位姿...
2023-05-07 10:43:17
319
原创 C# Winform 窗口放大,对应控件放大
窗体大小改变,获取窗体的长宽 MainForm_Resize(object sender, EventArgs e)事件委托。初始化事件:放在在mainForm初始化后面。通过缩放比去遍历 并设置每个控件的长宽。最后存储每个控件的长宽 备下次使用。
2022-10-12 11:27:47
2700
4
原创 C# 窗体进度条
/创建窗体进度条 ----时长3s。public processBarForm(int sec)//计时 单位0.1s --------窗体构造函数,传入需要定时间的参数。通过定时器计时每0.1秒计数一次。记得在窗体放入定时器,并使能定时器。label显示百分比。
2022-10-10 15:34:49
3187
原创 esp32 smartconfig+然后保存ssid和password+tcp <----->串口通讯
nvs_open("WiFi_cfg", NVS_READWRITE, &wificfg_nvs_handler):打开配置文件读取wifi配置信息。event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP:ip事件获取ip并打印。if(MY_WIFI_UPDATE == wifi_update ):首次运行时,从配置信息读取出来的wifi_update为0,
2022-09-22 16:54:21
2229
1
原创 ros2 --nav2
计算各个约束的代价值:critic->prepare(pose.pose, velocity, goal_pose.pose, transformed_plan)2.5判断到达目标点:goal_checker_->isGoalReached(pose.pose, end_pose_, velocity);获取目标:goal = action_server_->get_current_goal();action_server_->is_cancel_requested() 是退出循环。
2022-09-16 17:59:33
747
原创 C++ 函数模板 /类模板
意义:将一个数据类型做为参数进行传递,这样不需要为每个数据类型都写相同的代码。C++中使用两个关键字来支持模板:‘template’'和‘typename’. 第二个关键字也可以使用'class'来替换函数模板原型:template <typename类型参数1, typename类型参数2, ...>返回值类型 模板名(形参表){ 函数体}例程1:#include <iostream>using namespace std;temp...
2022-05-20 15:31:25
239
原创 cartographer发布当前机器人在map中的位置
1.打开publish_tracked_pose=true, --发布小车位置订阅 /tracked_pose就是小车位置信息2.查看代码 /cartographer_ros/cartographer_ros/cartographer_ros/node.cc//初始化位置if (node_options_.publish_tracked_pose) { tracked_pose_publisher_ = node_handle_.advertise..
2022-03-31 17:17:46
1869
7
原创 cartographer 优化参数
TRAJECTORY_BUILDER_2D.voxel_filter_size:平均误差在0.1 和0.2时发生起伏,虽然0.1的误差比0.2的更大,但由于0.2时绘图偏差严重,建议选择小于0.1的值。submaps.resolution:平均误差在0.1时达到顶峰,建议小于0.1较为良好。submaps.num_range_data:可以接受的调整参数范围在90 - 60之间,在80左右效果较为优秀。TRAJECTORY_BUILDER_2D.max_range:可以接受的调整参数范围在30 - 15之间
2022-03-31 10:37:30
2463
2
原创 cartographer(9) probability grid
cartographer 源码中实际上提供grid map两种形式,一种为probability,另一种为tsdf。grid map MapLimits limits_; // 地图大小边界,包括x和y最大值, 分辨率, x和yu方向栅格数 std::vector<uint16> correspondence_cost_cells_; //grid 地图存储值,采用uint16类型, float min_correspondence_cost_; // 对应实际意义的最...
2022-03-25 15:34:45
1163
原创 cartographer(8)点云匹配
1.处理点云数据LocalTrajectoryBuilder2D::AddRangeData/** * @brief 处理点云数据, 进行扫描匹配, 将点云写成地图 * * @param[in] sensor_id 点云数据对应的话题名称 * @param[in] unsynchronized_data 传入的点云数据 * @return std::unique_ptr<LocalTrajectoryBuilder2D::MatchingResult> 匹配后的结果 .
2022-03-24 14:37:16
1752
4
原创 cartographer(7)OdometryData数据流
Node::AddTrajectory --》LaunchSubscribers(options, trajectory_id);---》HandleOdometryMessage回调/** * @brief 处理里程计数据,里程计的数据走向有2个 * 第1个是传入PoseExtrapolator,用于位姿预测 * 第2个是传入SensorBridge,使用其传感器处理函数进行里程计数据处理 * * @param[in] trajectory_id 轨迹id * @param[in] s
2022-03-23 16:07:24
713
原创 cartographer(6) 位姿估计器
在LocalTrajectoryBuilder2D::AddRangeData中if (!options_.use_imu_data()) { InitializeExtrapolator(time);//位姿估计器 }void LocalTrajectoryBuilder2D::InitializeExtrapolator(const common::Time time) { if (extrapolator_ != nullptr) { return; } ...
2022-03-23 14:22:32
1007
3
原创 cartographer(5)雷达数据订阅
在文件 node.cc里面,Node::AddTrajectory时会订阅传感器数据,LaunchSubscribers(options, topics, trajectory_id)for (const std::string& topic : ComputeRepeatedTopicNames( //遍历用来处理有多个相同类型的雷达传感器 topics.laser_scan_topic, options.num_laser_scans)) { subscri.
2022-03-22 15:44:51
1416
原创 cartographer(4) --前后端入口
在MapBuilder::AddTrajectoryBuilder中1.看2d的局部slamlocal_trajectory_builder = absl::make_unique<LocalTrajectoryBuilder2D>( trajectory_options.trajectory_builder_2d_options(), SelectRangeSensorIds(expected_sensor_ids));创建局部SLA...
2022-03-21 15:00:50
1182
原创 cartographer(3)轨迹添加
在文件/cartographer_ros/cartographer_ros/map_builder_bridge.cc进入MapBuilderBridge::AddTrajectory 再进入map_builder_->AddTrajectoryBuilderint MapBuilder::AddTrajectoryBuilder( const std::set<SensorId>& expected_sensor_ids, //传感器id const
2022-03-21 11:00:33
638
4
原创 Cartographer(2)--轨迹构建
1.在node_main里面map_builder = absl::make_unique<cartographer::mapping::MapBuilder>( node_options.map_builder_options);初始化地图构建器在文件:/Cartographer/Cartographer/mapping/map_builder.ccMapBuilder::MapBuilder(const proto::MapBuilderOptions&...
2022-03-20 19:31:02
769
QTHTTP通信的天气查询
2024-04-10
qt界面程序开发,迈德威视相机
2023-12-15
STM32的音频编码speex库 STM32F4移植
2023-03-17
红外学习模块,接收红外信号,解码,串口发送红外
2023-02-25
PMC007B3SP2 步进电机上位机测试,MODBUS 协议
2023-02-24
ws1830S NFC 原理图,程序,pCB
2022-12-16
C# 窗体美化插件 很实用
2022-11-04
esp32 smartconfig+然后保存ssid和password+tcp <----->串口通讯
2022-09-27
ros2键盘控制小车移动包
2022-09-07
tensorflow_gpu-2.1.0rc1-cp37-cp37m-win_amd64.whl
2020-05-20
Halcon C#打开自带摄像头.zip
2020-05-16
Halcon C#例程1.zip
2020-04-24
cudnn-10.2-windows10-x64-v7.6.5.32.zip
2019-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人