自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GoogLeNet训练

GoogLeNet网络结构。Inception块。

2025-08-06 22:20:02 224

原创 VGG16训练和测试Fashion和CIFAR10

前面的网络参数太大,一般适用于ImageNet数据集,而CIFAR10数据集只有32*32*3,因此可以重新设计模型参数,并且可以加入。VGG网络参数(适用于CIFAR10的 VGG16)VGG16(D)网络结构。提高收敛速度和稳定性。

2025-08-06 22:19:52 429

原创 AlexNet训练和测试CIFAR10

使用AlexNet训练和测试CIFAR10,最终测试精度为88.99%

2025-08-06 11:21:36 964

原创 AlexNet训练和测试FashionMNIST数据集

这里如果输入为227*227*3 ,则参数总和为58,322,314。如果输入为227*227*1 ,则参数总和为58,299,082。2)图片大小:28*28 ---> 227*227。这里train和test的图像预处理步骤要一致。4.代码实现AlexNet训练。5.代码实现AlexNet测试。1.AlexNet网络结构。2.AlexNet网络参数。3.代码实现model。

2025-08-05 23:28:47 286

原创 LeNet5训练FashionMNIST

数据预处理(transform.Compose)-> 下载数据集 -> 划分数据集 -> 加载数据集 -> 返回加载。可以看到每一级的网络结构和网络参数,最后的Total params 为61706。到这里为止,我们就写完了train集训练过程,接下来进行验证集训练的过程。这里要导入包,import pandas as pd。2)验证集只有前向传播,没有反向传播。

2025-08-05 18:23:05 381

原创 10 卷积神经网络

【代码】10 卷积神经网络。

2025-07-30 15:18:42 247

原创 9 ----基于多层感知机(MLP)的 MNIST 图像分类模型

8)逐元素比较预测与标签是否相等:correct += predicted.eq(targets).sum().item(),计算每个参数的梯度(方向和大小)。x = F.relu(self.l1(x)) # 第一层 + ReLU。x = F.relu(self.l2(x)) # 第二层 + ReLU。x = F.relu(self.l3(x)) # 第三层 + ReLU。x = F.relu(self.l4(x)) # 第四层 + ReLU。

2025-07-30 11:38:41 654

原创 ubuntu20.04 安装cloudcompare

https://zhuanlan.zhihu.com/p/677099665

2025-07-18 11:28:35 221

原创 Miniconda的安装和运用

5.接下来询问是否要更新你的 Shell 配置文件以自动初始化 Conda,如果你希望每次打开终端时自动激活 Conda 的。如果要将 Anaconda3 安装到其他目录,可以手动输入新的路径。若虚拟环境列表中虚拟环境没有环境名,即环境不在默认路径中,必须用。1.1终端启动时是否应用base环境默认配置。如果按Enter,就是默认的地址安装,即默认会被安装到。3.不断点击Enter,直到出现下图后,输入yes。7.关闭终端,输入如下命令,查看是否安装成功。1.2使用命令创建环境。1.6 激活指定环境。

2025-07-18 11:27:39 650

原创 hybird-A*算法实现

通过命令ls /usr/lib/x86_64-linux-gnu/libglog.so*查看,发现只有/usr/lib/x86_64-linux-gnu/libglog.so.0,而没有/usr/lib/x86_64-linux-gnu/libglog.so.1。(Google日志库)未安装或未正确链接。因此创建兼容性符号链接来解决。启动rviz和gazebo。

2025-07-10 10:55:05 407

原创 ROS平台上使用C++实现A*算法

在ROS平台上使用C++实现A*算法,并使用map_server在rviz上进行可视化,通过插件获取起点和终点进行路径规划,并通过path显示。

2025-07-08 22:28:07 992

原创 ubuntu 20.04 运行和编译LOAM_Velodyne

1.创建工作空间和clone代码2.报错和修改代码 报错1:[multiScanRegistration-2] process has died [pid 8382, exit code -11, cmd /home/lmt/loam_ws/devel/lib/loam_velodyne/multiScanRegistration /multi_scan_points:=/velodyne_points __name:=multiScanRegistration __log:=/home

2025-05-19 12:09:11 1126

原创 10 基于Gazebo和Rviz实现导航仿真,包括SLAM建图,地图服务,机器人定位,路径规划

在9中我们已经实现了机器人的模块仿真,现在要在这个基础上实现SLAM建图,地图服务,机器人定位,路径规划1. 还是在上述机器人的工作空间下,新建功能包(nav),导入依赖2. 导航实现SLAM建图(gmapping)在功能包下新建文件夹(launch)---> 新建文件(map.launch)写入。

2025-04-29 22:37:01 1588 1

原创 9. 使用Gazebo和Rviz显示机器人(包括运动控制,雷达,摄像头仿真以及显示)

-- 将 Urdf 文件的内容加载到参数服务器 -->-- 启动 gazebo --></include>-- 在 gazebo 中显示机器人模型 -->

2025-04-28 16:40:55 1362

原创 pcd2pgm的launch文件实现

在launch文件目录下,可以用gedit 打开launch文件,也可以用vscode(如果有安装的话)6.关闭launch,即可在pcd2pgm_launch文件夹下保存.pgm和.yaml文件。5.新建终端,运行map_server。1.新建工作空间和克隆代码。3.修改launch。4.运行launch。

2025-04-25 23:09:22 422

原创 ubuntu 20.04 编译运行lio-sam,并保存为pcd

2)imuTopic: “imu_raw” 改为 imuTopic: “imu_correct”/Downloads/LOAM/ 改为/your save directory/1)extrinsicRot 和 extrinsicRPY 设为单位矩阵。这个数据集有 gps 数据,更改文件。文件即可使用gps数据;false 改为true。

2025-04-25 21:45:55 787

原创 LOAM的原理分析,源码解读,和运行调试

1.原理分析2.源码解读LOAM 的源码和中文详解LOAM分为三个版本,对应不同的硬件设备,分别为:back_and_forth,continous以及velodyne,分别针对前后摆动的二维扫描仪、连续旋转的二维扫描仪及Velodyne16线程激光扫描仪。各版本都有相应的数据集,且目前较为流行的KITTI数据集也包含Velodyne16线程的激光数据,都可以用来对程序进行测试。本文以velodyne的版本为主,但实际上三种方法大同小异。LOAM的整体思想就是将复杂的SLAM问题分为:1. 高频的运动估计;

2025-04-23 21:17:17 1164

原创 激光SLAM算法综述

利用强度信息构建强度地图,协助特征点提取和位姿估计提出一种基于强度信息的纯激光雷达 SLAM算法,算法的关键在于利用点云的强度信息生成一张强度图像,后续的特征提取和配准、回环检测与位 姿图估计都是基于强度图像进行的。基于学习的方法:基于深度学习的点云配准方法通过数据驱动方式学习,能获得比人工设计更精准的模型,但其模型的前 期训练和模型部署需要消耗大量的GPU资源,暂时无 法实现在CPU上的实时计算运行。提 出一个新的计算卡尔曼增益的公式,使计算量不再依赖于测量维数,而是依赖于状态维数,极大地减少了计算量。

2025-04-22 16:42:37 2062

原创 8. ROS中常见命令

其中 rostopic list / rostopic pub / rostopic echo /rostopic info 是比较重要的,下面展开说说。rostopic list -v 获取话题详情(比如列出:发布者和订阅者个数...),所以这个更详细,更好用。2) rostopic pub 向订阅者发布消息,相当于话题通信中的发布方。3) rostopic echo获取指定话题当前发布的消息,相当于订阅者。获取当前话题的具体信息,包括消息类型,发布者信息,订阅者信息等。以小乌龟的GUI为例。

2025-04-21 22:25:59 390

原创 7. 服务通信 ---- 使用自定义srv,服务方和客户方cpp,python文件编写

在srv文件夹下新建Add.srv文件,然后,catkin_make(Ctrl + shift +B),编译。知道了路径,就可以在C++和python的头文件包含这个路径。1) 在功能包下新建文件夹srv,在目录下查看自定义srv的C++和python路径。2.3 Python服务方编写。2.4 Python客户方编写。在CMakeLists.txt 添加执行依赖。2.1 C++服务方编写。2.2 C++客户方编写。ps:其中-------是必须要有的。2. 服务方和客户方的文件编写。

2025-04-21 21:46:21 362

原创 6. 话题通信 ---- 使用自定义msg,发布方和订阅方cpp,python文件编写

查看Person.h的C++路径和python路径,后续调用相关msg时,是从这些中间文件中调用的。2.2)功能包下CMakeLists.txt 文件修改。2.1) 功能包下package.xml文件修改。3)编译Ctrl+shift+B。

2025-04-19 22:40:30 365

原创 5. 话题通信 ---- 发布方和订阅方python文件编写

1)在功能包下新建scripts文件夹,在scripts文件夹下新建python文件,写入。2)修改CMakeLists.txt 162行。本节对应赵虚左ROS书籍的2.1.3。以10hz,发布消息和消息的订阅。3)运行rosrun。

2025-04-19 20:14:52 262

原创 4. 话题通信 ---- 发布方和订阅方cpp文件编写

1) 在功能包的src文件夹下,新建cpp文件,并且写入。“chatter”为话题名,10为队列长度。本节对应赵虚左ROS书籍的2.1.2。2) 配置CMakeLists文件。1.1)包含ros头文件。"talker"为节点名。加入语句,防止中文乱码。以10hz,发布消息。1.2) 在主函数中。3)运行rosrun。

2025-04-19 17:36:31 241

原创 3. 在 2节的基础上 ,实现launch文件简单编写

1.在hello_ros功能包下,新建launch文件夹,在launch文件夹下新建.launch文件。3. 运行launch, roslaunch <包名> <launch文件名>实现效果:能够一次运行多个节点,包括2节中显示"ha 哈",乌龟显示,乌龟运动。output 设置日志输出目标。2.在launch文件中写入。type 为被运行的节点文件。node 为包含的某个节点。name 为节点命名。

2025-04-19 16:06:44 254

原创 2. ubuntu20.04 和VS Code实现 ros的输出 (C++,Python)

8.2) python执行 rosrun <包名> <python文件名>在弹出的横框中写入功能包名 hello_ros ,回车。再输入依赖 roscpp rospy std_msgs。7.1) C++的修改(136行,149行)8.1) cpp执行 rosrun <包名> <节点名>本节对应赵虚左ROS书籍的1.4.2-->1.4.3。7) 修改功能包目录下CMakeLists.txt。7.2)python的修改。在vscode 的终端下 编译一下。这样就新建了一个功能包了。

2025-04-19 15:28:50 363

原创 1. ubuntu20.04 终端实现 ros的输出 (C++,Python)

编辑catkin_ws 包下的CMakeLists.txt (136行,149行)在工作空间下新建scripts文件夹,在scripts目录下新建python文件。编辑catkin_ws 包下的CMakeLists.txt (162行)5.2)python执行 rosrun <包名> <python文件名>5.1)cpp执行 rosrun <包名> <节点名>给hello_ros.py 加权限。2)创建一个功能包和导入依赖。4.1)编辑cpp配置文件。1)创建一个工作空间。1)创建一个工作空间。

2025-04-19 11:19:37 270

原创 Docker的简单使用

5)-v 目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录>3) OPTIONS: 可选项,主要是 -a (拉取所有 tagged 镜像)2) -t 启动容器后,为容器分配一个命令行,通常与 -i 同时使用。1) -i 以交互模式运行容器,通常与 -t 同时使用。6)-p 指定端口映射,格式:主机(宿主)端口:容器端口。3) -d 守护进程,后台运行该容器。1)利用pull好的镜像,跑起容器。4) --name 容器名称。1) NAME: 镜像名称。5) 强制删除多个镜像。

2025-04-09 17:51:19 435

原创 ubuntu 20.04 复现 LVI-SAM

第37行后面加入find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)前面的我都安装过了,但Ceres 我安装的是 2.2.0,现在安装Ceres 1.14.0。3.搭建目录和clone代码。7.运行上面下载的数据集。6.运行launch。

2025-04-08 16:28:40 821

原创 ubuntu 20.04 编译和运行SC-LeGo-LOAM

适配自己的雷达类型,而本文采用velodyne 16线激光雷达,对utility.h文件要做以下修改。需要注意的是原作者使用的是Ouster OS-64雷达,需要更改utility.h。剪切到#include <opencv2/opencv.hpp>前面去。2)包名中的“-” 和“_” 的区别,尽量运行 “_”1)包名不管是大写和小写,运行是都是小写。这里我使用的是LeGo-LOAM的数据包。1)对于16线的VLP雷达,添加。2)对于64线的VLP雷达,添加。运行launch的经验。4.下载数据包和运行。

2025-04-07 22:35:11 489

原创 ubuntu 20.04 编译和运行A-LOAM

2.5 如果编译遇到大量未找到Eigen相关错误,将四个.cpp文件中的#include <eigen3/Eigen/Dense>修改为#include <Eigen/Dense>2.3 将scanRegistration.cpp中的 #include <opencv/cv.h> 修改为#include <opencv2/imgproc.hpp>2.2 将四个.cpp文件中的/camera_init修改为camera_init,/camera改成camera,/map改成map。3 在工作空间编译运行。

2025-04-07 21:19:55 619

原创 ubuntu 20.04 编译运行LeGo_LOAM 跑数据集 并且保存pcl文件

将报错的话题复制在src/featureAssociation.cpp和mapOptmization.cpp的文件下CTRL+F查找,并且去掉“/”修改:20.04的openCV自带的是opencv4,所以需要将utility.h中的#include <opencv/cv.h>将其他五个的话题也这样修改,其中后面的两个在 mapOptmization.cpp中。错误1:: fatal error: opencv/cv.h: 没有那个文件或目录。5.保存包bag,pcl和查看pcl。

2025-04-06 17:23:03 561

原创 ubuntu20.04 复现fastlio2 并运行数据包

4.刷新环境变量,运行roslaunch和bag包。1.搭建文件目录和拷贝代码。2.到工作空间下编译。在RVIZ中查看效果。

2025-04-06 15:12:00 2302

原创 Livox-Mid-70雷达使用------livox_mapping建图

如果报错:[ERROR] [1743916861.111573426]: Error transforming odometry 'Odometry' from frame '/camera_init' to frame 'camera_init'2.3 下载并安装编译livox_mapping,可以和ros驱动放在同个工作空间编译,但要注意一定要先单独编译雷达的驱动。将 ~/ws_livox_mapping/src/livox_mapping/src下的cpp文件打开并且修改。2.2 安装ros驱动。

2025-04-06 14:03:01 1228 1

原创 ROS---IMU和GPS数据融合定位实验

usr/bin/env python改成#!/usr/bin/python3.8,指定python解释器。这个我在网上找了很多方法,最后也是试了很多种方法,稀里糊涂的就不报错了,反正就是python3和python2关于rospkg的兼容问题。但是还有点小问题:目前rospkg已经大于1.3.0了,但是编译后报错说我的rospkg是1.2.6版本的。也就是用vim 打开你前面提示报错的路径的.py文件,修改解释器。已存在,则删除原有的名为python的文件,从新设置软连接。首先,要装python3.8。

2025-04-04 18:21:48 1327 1

原创 运行slam_in_autonomous_driving遇到问题和解决方案

【代码】运行slam_in_autonomous_driving遇到问题和解决方案。

2025-04-04 13:49:01 194

原创 slam_in_autonomous_driving编译遇到的问题和解决方法

make[1]: *** [CMakeFiles/Makefile2:4171:src/ch4/CMakeFiles/test_preintegration.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2。make[1]: *** [CMakeFiles/Makefile2:4227:src/ch5/CMakeFiles/test_nn.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2。pangolin字体。

2025-04-04 13:17:55 469

原创 SLAM十四讲 ---- Eigen模块实践,Eigen几何模块实践,可视化演示

再新建build文件夹,在build文件夹下make。再新建build文件夹,在build文件夹下make。再新建build文件夹,在build文件夹下make。再新建CMakeLists.txt文件。再新建CMakeLists.txt文件。新建文件夹,在文件夹内新建文件。在新建CMakeLists文件。2. Eigen几何模块实践。在ch3目录下新建文件夹。在ch3目录下新建文件夹。1.Eigen模块实践。

2025-04-01 20:11:07 243

原创 slam十四讲----Pangolin-0.5的安装和遇到问题

重新make,成功通过。在build目录下cd。

2025-04-01 17:14:36 567

原创 SLAM十四讲 -------g++,cmake,使用库,使用IDE(Kdevelop 新建和调试)

分别用g++,cmake,库,IDE(Kdevelop) 生成Hello SLAM

2025-04-01 14:14:38 502

原创 7.2.3 导航实现03_amcl定位

在启动的 rviz 中,添加RobotModel、Map组件,分别显示机器人模型与地图,添加 posearray 插件,设置topic为particlecloud来显示 amcl 预估的当前机器人的位姿,箭头越是密集,说明当前机器人处于此位置的概率越高;g)通过键盘控制机器人运动,会发现 posearray 也随之而改变。d)先启动 Gazebo 仿真环境(此过程略);a)编写amcl节点相关的launch文件。f)启动测试amcl的launch文件。b)编写测试launch文件。

2025-03-19 22:16:46 399

空空如也

空空如也

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

TA关注的人

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