- 博客(59)
- 收藏
- 关注
原创 VGG16训练和测试Fashion和CIFAR10
前面的网络参数太大,一般适用于ImageNet数据集,而CIFAR10数据集只有32*32*3,因此可以重新设计模型参数,并且可以加入。VGG网络参数(适用于CIFAR10的 VGG16)VGG16(D)网络结构。提高收敛速度和稳定性。
2025-08-06 22:19:52
429
原创 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
原创 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
原创 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十四讲 -------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关注的人
RSS订阅