自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (4)
  • 收藏
  • 关注

原创 cartographer_ros数据加载与处理

里程计与IMU数据的走向里程计数据从Node类的回调函数进来, 有两个走向, 一个是Node类中的位姿估计器, 一个是SensorBridge::HandleOdometryMessage, 再从SensorBridge传递给cartographer.IMU数据的走向同理.GPS与Landmark数据的走向GPS数据从Node类的回调函数进来只有1个走向, 就是传入到SensorBridge::HandleNavSatFixMessage()函数中,

2023-10-14 18:17:58 1365

原创 cartographer中的扫描匹配

cartographer中使用了两种扫描匹配方法:CSM(相关性扫描匹配方法(暴力匹配))、ceres优化匹配方法CSM可以简单地理解为暴力搜索,即每一个激光数据与子图里的每一个位姿进行匹配,直到找到最优位姿,进行三层for循环,不过谷歌采用多分辨率搜索的方式,来降低计算量。基于优化的方法是谷歌的ceres库来实现,原理就是构造误差函数,使其对最小化,其精度高,但是对初始值敏感。

2023-10-14 18:16:49 726 1

原创 cartographer中创建轨迹

根据has_pure_localization_trimmer参数配置,决定保存多少submap,参数在trajectory_builder。local_slam_result_callback 需要传入的回调函数,实际上是map_builder_bridge.cc 中的OnLocalSlamResult() 函数。map_builder_bridge_是由MapBuilderBridge这个类创建,这个类里面有一个AddTrajectory成员函数。(之前有一个老参数,已经弃用,会报警告,但不影响使用)

2023-09-17 22:35:00 190

原创 cartographer中传感器数据的处理

这个函数是订阅LaserScan的topic绑定的回调函数,这个函数执行的是map_builder_bridge里的sensor_bridge里的HandleLaserScanMessage这个函数。前面()里的0代表的是trajectory_id是0,第0条轨迹,后面是各个传感器,{}里面是对应的时间戳,可以看出imu是最快的,数据对应的时间戳是1,3,5;这个函数也没有对数据进行实际的处理,而是调用trajectory_builder_->AddSensorData这个函数,对点云的坐标进行坐标变换。

2023-09-17 22:29:53 186

原创 Ubuntu18.04下安装ROS步骤及遇到的错误集锦(尤其是rosdep update报错)

1、首先设置软件源(任选其一使用)1)国外的软件源(速度慢)sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'2)国内的(速度快)sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/u

2021-05-07 16:49:03 1729 2

原创 智能车比赛总结(树莓派控制的智障小车)

忙忙碌碌两个星期,这次的智能车校内赛终于是落下了帷幕。不管结果如何,准备的过程才是真正的收获,尤其是对于一个第一次使用单片机(开发板)的小白来说,实实在在学到了很多东西。下面将对这次的比赛过程做一个小小的总结。1、比赛要求比赛要求参赛队每组设计一个自动或半自动的机器人,比赛过程中,从启动区出发进入迷宫,击倒靶标,再从出口驶出。决赛中机器人需要先获取裁判出示的随机打靶顺序,按顺序击倒靶标。2、硬件准备1)小车底盘加水弹枪云台。小车底盘我们使用的是麦轮的底盘,主要考虑在行动中可以自由旋转和平移。水弹枪云

2020-12-31 16:55:32 3371 1

原创 图像二维卷积操作与边缘检测的Python实现(另附canny边缘检测算法)

关于卷积1、卷积的定义卷积是两个变量在某范围内相乘后求和的结果。如果卷积的变量是序列x(n)和h(n),则卷积的结果其中星号*表示卷积。当时序n=0时,序列h(-i)是h(i)的时序i取反的结果;时序取反使得h(i)以纵轴为中心翻转180度,所以这种相乘后求和的计算法称为卷积和,简称卷积。另外,n是使h(-i)位移的量,不同的n对应不同的卷积结果。例:f(x) =C(k)*g(i),其中C(k)代表卷积操作数,g(i)代表样本数据, f(x)代表输出结果。假设g(i)是一个一维的函数,而且代表

2020-09-14 09:11:21 3277 1

原创 OpenCV-Python 将摄像头捕获的视频灰度处理并保存(代码+详解)

import numpy as npimport cv2 as cvcap = cv.VideoCapture(0)#通过本地摄像头捕获视频fourcc = cv.VideoWriter_fourcc(*'DIVX')#指定fourcc编码out = cv.VideoWriter('C:\\Users\\DELL4\\Desktop\\output.mp4',fourcc,20.0,(640,480),0)'''用于灰度图这里,out是一个VideoWriter实例化对象,第一个参数是要制作的

2020-08-09 21:02:22 4901 6

原创 Python的字典类型及操作

1、字典类型的用法在字典变量中,通过键获得值键:数据库中的键(key)又称为关键字,是关系模型中的一个重要概念,它是逻辑结构,不是数据库的物理部分。<字典变量>={<键1>:<值1>, ... , <键n>:<值n>} <值> = <字典变量>[<键>] <字典变量>[<键>] = <值>[ ] 用来向字典变量中索引或增加元素 d = { "中国":"北京" ,

2020-07-18 11:17:59 215

原创 将xml文件转成txt的方法(从xml文件中提取需要的标签信息到txt文件)

import osimport xml.etree.ElementTree as ETfrom decimal import Decimal dirpath = 'F:\\NJtech2\\robomaster\\DJI\\robomasterFinalTournament\\image_annotation' # 原来存放xml文件的目录newdir = 'F:\\NJtech2\\robomaster\\DJI\\robomasterFinalTournament\\labels' # 修

2020-07-10 12:23:02 5004 2

原创 使用colab训练自己的yolov4模型(以识别装甲板为例)

1、准备工作首先准备训练用到的文件,放在自己的谷歌云盘1、自己的数据集(建议使用压缩包上传,上传的速度和加载速度会快很多)yolo训练使用的是txt格式的标签,里面是目标的坐标值。若已标的标签是xml文件,可以使用此Python代码提取对应的坐标信息生成TXT文件。2、data文件,names文件data文件放置类别数和一些路径,names文件放置类别名我的是obj.data和obj.names注:这里的backup文件夹放置训练后的权重文件,本来应该将目录放在我的硬盘下以防自动断开文件丢失,但

2020-07-10 12:18:50 2096 9

原创 使用Google Colab装载YOLOv4(免费云端GPU,无需配置环境)

写在前面借助 Colaboratory(简称 Colab),您可在浏览器中编写和执行 Python 代码,并且:无需任何配置免费使用 GPU轻松共享无论您是一名学生、数据科学家还是 AI 研究员,Colab 都能够帮助您更轻松地完成工作。您可以观看 Colab 简介了解详情,或查看下面的入门指南!不会使用Google Colab的可以参考此文章 https://blog.csdn.net/Flag_ing/article/details/1058763601、前提条件首先需要有Goog

2020-06-18 11:26:15 2258 3

原创 Python中程序的异常处理

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。1、Python中的标准异常对照异常名称 描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知

2020-06-09 10:45:38 389

原创 Time库的使用

Time库包括三类函数,分别是:时间获取:time() ctime() gmtime()时间格式化:strftime() strptime()程序计时:sleep(), perf_counter()1、时间获取注:时间戳是指格林威治时间1970年01月01日00时00分00秒起至当下的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。(来自百度百科)2、时间格式化:将时间以合理的方式展示出来格式化:类似字符串格式化,需要有展示模板,展示模板由特定的

2020-06-06 23:25:23 353

原创 练习:条件循环、计数循环、分支、函数、计算思维

好好学习 ,天天向上1、工作日的力量内容:一年365天,一周5个工作日,每天进步1%一年365天,一周2个休息日,每天退步1%这种工作日的力量,如何呢?分析(计算思维):当遇到工作日,向上增加1%,遇到休息日向下减少1%,循环365天,最后累计运行的结果就是365天之后的结果。程序:#daydayupQ1.pydayup = 1.0 #设基数为1.0dayfactor = 0.01 #设增加的参数为0.01#模拟循环365天的过程for i in range(365): i

2020-06-03 13:35:20 905

原创 循环语句与range函数

1)循环语句:按照一定次数循环执行一组语句语句:for <变量> in range(<次数>):<被循环执行的语句>— <变量> 表示每次循环的计数,0到 <次数> -1如:其中,Print(“Hello”,i), print中“,”起到空格的作用。2)range()函数:产生循环计数序列range(N)产生 0 到 N-1的整数序列,共N个(产生N个数,最后一个数是N-1)如:range(5)0, 1, 2, 3, 4

2020-06-01 15:36:22 622

原创 Python绘图,turtle库的使用

Python绘图库,turtle1、turtle的绘图窗体1)Turtle的一个画布空间最小单位是像素。2)turtle.setup(width, height, startx, starty)setup()设置窗体大小及位置4个参数中后两个可选setup()不是必须的如:turtle(800,400,0,0)屏幕左上角为坐标系(0,0),turtle的左上角为窗体绘图的坐标原点。turtle.setup(width, height, startx, starty)后两个参数是起始点的参

2020-06-01 13:48:57 1001

原创 将Python的xx.py文件打包为xx.exe可执行程序的方法

1、使用pyinstaller打包步骤:1)使用pip命令安装pyinstallerWin+R打开cmd命令窗口,输入pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller(使用清华园镜像速度更快,比直接使用pip install pyinstall快好多倍,下载其他较大三方包时也推荐使用,直接在simple后面添加需要下载的包即可)2)用pyinstaller打包Cmd命令窗口输入pyinstaller xx.

2020-06-01 13:01:00 520

原创 使用清华园镜像快速下载安装Python第三方包(简单快捷)

在这里插入代码片@TOC使用pip install 下载安装三方包时速度很慢,推荐使用镜像下载。博主经常使用清华园镜像,下载速度提升n倍方法:在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple例如安装OpenCV包:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv...

2020-05-31 22:30:09 10896

COMFAST CF-WU810N驱动 rtl8188eu-master.zip

Linux系统下的rtl8188eu驱动程序,适合COMFAST CF-WU810N驱动(附安装说明)

2021-04-15

基于STM32平衡小车全套资料(包含循迹小车原).7z

鸭脖智能平衡车全套资料,包含硬件资料,软件资料,原理图,理论基础,源码等全套资料。另附STM32小车循迹避障(原),没用过,应该是源码。

2020-10-24

ippicv_2017u3_win_intel64_general_20170822.zip

CMake opencv时Download: ippicv失败的解决方法,自己手动下载 提供文件(OpenCV 3.4.0)

2020-06-18

ffmpeg.zip

CMake opencv时Download: opencv_ffmpeg.dll、ippicv等失败的解决方法,自己手动下载 提供文件(OpenCV 3.4.0),原因参考[https://blog.csdn.net/KayChanGEEK/article/details/79919417](https://blog.csdn.net/KayChanGEEK/article/details/79919417)

2020-06-18

空空如也

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

TA关注的人

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