自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (3)
  • 收藏
  • 关注

原创 Azure Kinect DK的一些驱动问题

azure kinect dk深度相机的库缺失

2023-04-04 11:55:21 797 3

原创 ScanNet数据集转rosbag的脚本

提供了将ScanNet数据集转为rosbag的脚本。

2022-10-21 17:26:21 1008 2

原创 ROS点云的Pointpillars实时目标检测

ROS点云的Pointpillars实时目标检测

2022-07-19 12:04:44 5894 47

原创 带anaconda和ros的ubuntu下python管理

python不同版本管理

2022-06-20 09:45:13 499

转载 Ubuntu连接Github的方法

ubuntu连接github

2022-06-15 16:05:18 4101 2

原创 ROS图像的Deeplab v3+实时语义分割(ROS+Pytorch)

目录写在前面测试环境主要思路正式开始代码获取代码编译代码使用结果展示写在前面做机器人的同学们应该都知道,ROS是最常用的系统。一般搭载在机器人上的传感器也通过ROS话题消息机制进行发布,从而可以被其他结点所用。最近要做一个机器人图像的实时语义分割任务,但是没有找到相关的教程。其中的难点在于一般的语义分割网络都是离线的,对某个文件夹的图像进行分割并保存结果,而且一般需要用到深度学习环境(如Pytorch)。如何为其配置ROS接口是个难题。这一篇文章就是旨在实现实时的ROS图像的实时语义分割,用的是D

2022-03-14 22:33:30 11369 37

原创 订阅TF消息,并转化为齐次变换矩阵

功能介绍tf是很常用的消息类型,但有时候我们更希望直到他的四乘四的齐次变换矩阵。源代码这个代码是辅助velo2cam_calibration用的,实现两个tf的接收,得到相机到雷达的坐标系转换关系。大家完全可以根据自己需求修改接收的tf,并进行相应处理。用到的主要函数就是listener.lookupTransform()#include <ros/ros.h>#include <Eigen/Dense>#include <tf/transform_broad

2022-01-02 17:14:14 1528 9

原创 velo2cam_calibration——最新最准确的激光雷达Lidar和相机Camera外参标定算法实现

velo2cam_calibration的单目相机和雷达标定

2022-01-02 16:42:05 7036 42

原创 根据相机内参向ROS发布camera_info

需求使用相机内参标定算法完成相机标定之后得到了一个相机内参文件,主要包括以下内容:image_width: 640image_height: 480camera_name: narrow_stereocamera_matrix: rows: 3 cols: 3 data: [409.36132, 0. , 326.28708, 0. , 408.53318, 250.17083, 0. , 0. ,

2022-01-02 16:18:54 4561 1

原创 全景建图算法voxblox++复现详细步骤

简介voxblox++是2019年ETHZ的RAL论文Volumetric Instance-Aware Semantic Mapping and 3D Object Discovery所提出的全景建图算法,是在voxblox基础上改进的,增加了实例和语义信息。因为感觉效果不错,所以想复现一下看看能不能作为之后工作的基础。复现过程参考网址基本上是参考着官方教程来的官方安装编译教程官方运行教程还有这一篇博客是找到的唯一一个介绍了编译过程的,很多东西都用到了他的,非常感谢参考编译教程大环境准备

2021-12-25 17:01:30 3862 5

原创 机器人建图的一些方法总结

写在前面作为专攻机器人建图领域的研究生,不知道自己需要掌握多少知识,也不知道之后的发展方向,但多学一些知识总是没错的。因此这篇博客用来总结学习到的一些建图方法吧。经典地图表示方法Voxel (Occupancy grid map)普通的体素地图,把整个空间分成栅格,每个体素存储信息。坐标索引查询。这个我倒是没遇到过Mesh网格地图,存储障碍物的表面信息。我理解的是把命中云连接起来就可以得到。一般都是图像生成的。示意图大概就是这样子,matlab中的mesh。如MIT的Kimera和一系列

2021-12-22 17:18:19 5266 1

原创 科研每日记(私人)

2021/10/31收获一、数学模型可以改为有选择的稀疏核函数:即把free点和分布熵不大的体素都加入其中,包括两部分,一是选择条件,二是稀疏核函数。二、按照岳老师方法,重新计算了效率,多对多之后,确实占用的体素多了一些,所以计算得到的建图效率也大了一些。感想明天如果不回老家的化,再搞一搞SemanticKITTI的定量,再写一写多机融合的数学公式。...

2021-10-31 18:32:54 741

原创 Ubuntu的各种环境配置

Ubuntu的cuda等版本查看查看cuda版本nvcc -V或/usr/local/cuda/version.txt查看cudnn版本cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

2021-09-10 21:03:46 360

原创 联想拯救者R7000P2021安装Ubuntu双系统

联想拯救者R7000P2021安装Ubuntu双系统安装卸载驱动问题安装详细版本适配版本(注意把加的nomodeset改为acpi_osi=linux nomodeset)卸载直接删除卷,再删除引导项驱动问题亮度不能调节应该是因为没有安装官网驱动安装之前一定要先卸载自带的驱动详细安装驱动教程...

2021-06-28 13:21:26 3573 8

原创 IEEE TRANSACTIONS and JOURNALS 期刊论文写作规范

论文标题与作者区分大小写,不能全是大写避免带有下标的长公式作者写全名,姓和名之间加一个空格摘要与关键词对你文章内容的简明而全面的反映必须是独立的,没有缩写、脚注或参考文献在150-250字之间必须写成一个段落不能包含显示的数学公式或表格材料三到四个不同的关键词或短语关键词可访问这里进行选择正文可以去这里下载latex和word模板在文本中第一次使用缩略语和缩略语时,即使在摘要中已经定义了缩略语和缩略语,也要对它们进行定义。不必定义IEEE、SI、AC和DC等缩写包含

2021-06-20 20:24:50 3613

原创 SemanticKitti数据集的使用

简单介绍SemanticKitti数据集是在Kitti数据集上进行语义分割等操作的结果,主要任务包括点云的语义预测等。Kitti的点云里程计数据集一共有00-21这22个序列,每个序列都是一段录制的点云包。SemanticKitti为所有点云包提供了里程计等信息,为00-10这些点云包提供了真值的标签,可以用来训练。数据集下载所有数据集直接可以在semantickitti数据集官网下载。依次点击Dataset->Download即可看到下载链接。三个连接均需要下载(占得空间很大,建议放在

2021-04-20 20:03:45 10596 8

原创 针对2021.3以来gazebo中Lidar点云数据不能正常使用的问题解决办法

问题的出现gazebo一直是一个重要的机器人领域的仿真软件,之前我写过一篇使用gazebo和LOAM算法进行联合运行的文章:在Ubuntu18.04中使用gazebo配合LOAM算法仿真在那时候gazebo还是可以正常使用的,但是今年三月之后,突然周围很多人反应gazebo和任何一个LOAM算法联合运行都会报错。我试了一下,果然是这样!经过控制变量分析,直到一定是gazebo出了问题(版本低了?)后来使用之前写过的一些点云处理的代码,发现pcl::fromROSMsg(*CloudMsg, *p

2021-04-06 10:06:40 985

原创 使用LEGO-LAOM、ALOAM和自己录制的点云得到/tf消息

LGEO-LOAM存在的本质就是为了根据单纯的点云输入得到将点云转化到全局坐标系的/tf消息。下图反映了lego-loam的tf树:其中camera_init->map和base_link->camera都是在launch文件中直接发布的静态tf消息。所以其中最重要的部分是camera->camera_init,也就是从小车的当前时刻位置到最初始位置的坐标转换。然而我们录制的velodyne_points消息的坐标系一般都是velodyne,如果只使用上面这个tf树是得不到全局位置的

2021-03-26 22:36:48 2487 2

原创 ROS中rosbag的一些复杂使用——过滤主题时间、更改主题、launch调用

一、过滤消息主题或时间过滤单个topicrosbag filter input.bag only-tf.bag "topic == '/tf'"过滤多个topicrosbag filter input.bag output.bag "topic == '/velodyne_point_cloud' or topic =='/visensor/imu' or topic == '/visensor/left/image_raw'"根据时间过滤rosbag filter input.bag ou

2021-03-19 21:45:52 1195

原创 ROS中点云学习(八):点云消息和/tf消息同步接收转化到全局坐标系

主要思想:对于给定的点云,可以根据/tf消息将点云转化到任意,给定的坐标系下面。比如点云的frame_id为base_link,在/tf消息中给出了base_link到/world的转换消息,那么就可以把点云转化到全局坐标系。主要使用了tf/message_filter这个库,它会把接收到的tf消息存储起来,直到接收到具有相同时间戳的点云,在去调用回调函数。回调函数中到全局点云的转化程序基本固定。主程序pcl_tf.cpp,具体为:#include <ros/ros.h>#include

2021-03-16 19:24:52 3351 6

原创 Ubuntu18.04安装anaconda3和pytorch

安装anaconda3参考Ubuntu18.04 安装 Anaconda3安装pytorch参考ubuntu下用anaconda快速安装 pytorch以及Ubuntu利用Anaconda3安装Pytorch

2021-03-02 18:16:50 827

原创 一些SLAM中用到的数学知识

岳老师说的不错,想学好机器人SLAM,数学是很重要的基础,这篇文章用来总结哪些我不会的枯燥的但又很有用的数学知识。高斯核函数是一种最常用的径向基函数,就是某种沿径向对称的标量函数。 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k(||x-xc||), 其作用往往是局部的 , 即当x远离xc时函数取值很小。高斯核函数形式为其中x’为核函数中心,σ为函数的宽度参数 , 控制了函数的径向作用范围。...

2021-03-01 20:15:04 539

原创 在gazebo仿真环境下对相机和激光雷达的标定

相机和激光雷达的标定主要是为了得到两者之间的参数,包括相机的内参和雷达到相机的外参。这样便可以完成点云到图像的投影,从而完成信息融合。实际上gazebo中这些参数都是真值,是不需要标定的:相机的内参可以从相机发布的消息:/camera/camera_info中获得Lidar到相机的外参可以从gazebo中设置的两个传感器之间的位姿得到以我的小车为例,首先看一下我的gazebo小车图片(忽略掉悬空的合理性)相机和激光雷达都是朝向小车的前侧,相机高于激光雷达0.3m。理论上来讲直到这些参数是可

2021-02-28 23:46:18 5325 23

原创 ROS中点云学习(七):激光点云和图像的融合

主要思想:把点云坐标系转化到相机坐标系,然后转化到图像。因为在gazebo中参数都是给出的,所以没有使用标定,直接写出了投影矩阵Rt和内参矩阵P。根据投影到的点的颜色修改点云的颜色,把识别到的点云发布出来。问题:现在标定没有成功,即点云和图像之间存在位置偏差,观察点云可以直到投影姿态正确,但是存在平行错位(颜色偏右上)。旋转矩阵也是凑出来的,平移矩阵也没有具体发现每个量的作用。头文件和之前一样myPointType.h#ifndef PCL_NO_PRECOMPILE#define PCL_NO_P

2021-02-24 21:21:24 9781 20

原创 ROS中点云学习(六):3D激光点云投影在2D环视图上,得到深度图和强度图

主要思想:使用的点云为16行,每行1800个点,点云每个点自带ring,再根据xy可以求出来点在哪一列。然后把点的深度和强度信息传输给Mat的矩阵即可。问题:可以得到Mat矩阵,但是不知道如何可视化,imshow总是黑白图。和上一篇类似,为了主程序的简洁,我们建立一个头文件myPointType.h,在这里面我们定义我们所需要的点云类型,具体代码如下:#ifndef PCL_NO_PRECOMPILE#define PCL_NO_PRECOMPILE#include <ros/ros.h

2021-02-22 20:10:59 2061

转载 最大后验概率、最大似然、期望最大化

原文链接:有关MAP、ML和EM的个人理解1.贝叶斯学习要了解这三个概念,需要先知道什么是贝叶斯学习。贝叶斯学习就是根据给定数据的先验概率计算每种假设的可能性,它是基于先验和后验概率的乘积的,计算式如下:这个公式的意思是,在某个data出现的情况下,这个data属于某一class类的概率等于这个class的先验概率乘以后验概率,其中P(class)是先验概率,P(data|class)是条件概率。2.MAP(最大后验概率)上面的式子为每一类(class)都求出了在某个data出现情况下,属于这

2021-02-21 19:51:08 1099

原创 ROS中点云学习(五):同时接收点云和图像

为了更好地理解场景,需要同时接收点云消息和图像消息。但是,目前我只能实现分别接收和显示,不知道怎么把两者结合起来(根据图像的颜色改变点云的颜色),难受啊。为了主程序的简洁,我们建立一个头文件myPointType.h,在这里面我们定义我们所需要的点云类型,具体代码如下:#ifndef PCL_NO_PRECOMPILE#define PCL_NO_PRECOMPILE#include <ros/ros.h>#include <pcl/point_types.h>#i

2021-02-20 16:02:06 1716 4

原创 ROS中点云学习(四):使用自己定义的PCL点云

在上一篇ROS中点云学习(三):使用PCL接收点云,给没有颜色的点云增加颜色变为彩色点云中我们说道,原本的/velodyne_points主题下除去XYZ信息,还有intensity(反射强度)和ring(第几圈)信息,但我们把它们舍弃了。如果现在我们需要这些信息,同时还需要颜色、标签等信息,这就需要自己定义一个点云类型了。为了主程序的简洁,我们建立一个头文件myPointType.h,在这里面我们定义我们所需要的点云类型,具体代码如下:#ifndef PCL_NO_PRECOMPILE#defin

2021-02-18 18:10:15 2377 3

原创 ROS中点云学习(三):使用PCL接收点云,给没有颜色的点云增加颜色变为彩色点云

在上一篇ROS中点云学习(二):使用PCL接收点云,操作之后重新发送中,我们接收了动态的彩色点云,并进行了颜色修改的操作。但是这是针对同意类型的点云而言的,如果原本接收到的点云就没有颜色,我们应该如何给它上色呢?所以就有了这一篇,点云上色。这里我使用的原始点云为Velodyne VLP-16采集到的数据,数据可以在这里下载。原始数据中,包含XYZ信息,intensity(反射强度)和ring(第几圈)信息。但是这里的intensity和ring对我们没有太大用途,所以直接舍弃。增加RGB的信息,变

2021-02-18 12:34:08 4270 5

原创 ROS中点云学习(二):使用PCL接收点云,操作之后重新发送

在上一篇ROS中点云学习(一):使用PCL生成动态随机彩色点云,并发布使用rviz查看中,我们生成了动态的彩色点云,并发布了出去。这次我们接收点云,并对它进行操作,然后发布一个新的点云。主程序为pcl_sub.cpp,这次写的规范了很多,使用了类。具体代码如下:#include <ros/ros.h>#include <pcl/point_types.h>#include <pcl_conversions/pcl_conversions.h>#include

2021-02-17 21:45:29 2332 3

转载 Ubuntu下录制并制作Gif图片

1.背景如果你看了我的文章,那么很庆幸,你将学会在Ubuntu下录制Gif图片 ; 大多数应该和我一样, 在开发Android 的时候,需要弄个效果图 , 但是在Ubuntu下,就没有windows那么方便了;我也查了很多资料 ,最终 确定 使用一条思路: 录屏 ->视频->Jpeg->Gif ; 看着十分复杂 ,但是 其实是 很简单的 ;只需安装 录屏软件(kazam) 和 视频 转 Jpeg 的工具(mplayer) ,最后 使用 imagemagick 打包为Gif ;就目前为

2021-02-17 18:39:20 540

原创 ROS中点云学习(一):使用PCL生成动态随机彩色点云,并发布使用rviz查看

最近在学习PointCloud,于是想尝试着自己创建一个动态的彩色点云。在网上找了一些,但都不是动态的,于是经过自己修改,做了一个项目。主程序main.cpp代码:#include <iostream>#include <pcl/point_types.h>#include <pcl_conversions/pcl_conversions.h>#include <ros/ros.h>#include <sensor_msgs/PointCl

2021-02-17 18:32:56 2531 10

原创 Ubuntu 编译c++的一些总结

因为不太熟悉,每次编译c++都会出现各种错误,总结如下:方法最好使用cmake来编译,写好CMakeLists.txt文件,举例内容如下:cmake_minimum_required(VERSION 2.6 FATAL_ERROR)project(MY_GRAND_PROJECT)set(PACKAGE_DEPENDENCIES roscpp sensor_msgs pcl_ros pcl_conversions std_srvs message_generation

2021-02-17 17:02:08 393

原创 解决error while loading shared libraries: libmetis-gtsam.so: cannot open shared object file

解决error while loading shared libraries: libxxx.so: cannot open shared object file最近在运行lego-loam时候,需要用到libmetis-gtsam.so这个动态库,这是应该是安装gtsam包得到了。我确实已经安装了这个包,但还是报错了,原因在于:libmetis-gtsam.so这个文件位于== /usr/local/lib 中,而程序默认找的位置是/usr/lib==,所以没有找到,看了很多方法,还挺麻烦的,所以自己

2021-02-09 16:56:22 6964 9

原创 Ubuntu桌面卡住安全重启解决方法

今天搞LEGO-LOAM,在程序编译时候,桌面卡住了三次了,所在在网上找了一个安全重启的解决方法,亲测有效。左手同时按住 Ctrl 和 Alt 键,按住不要放(一直按到最后)右手以此按下键盘上的:PrtSc(有的是SysRq)键、R键、E键、I键、S键、U键、B键。按完这些键之后,系统就会自动安全重启,为之前强制关机心疼我的电脑。...

2021-02-08 21:28:18 2381

原创 Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet作者袁粒讲T2T-ViT

《Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet》作者袁粒来小组学习,主要讲了论文和一些心得CNN和TransformerResNet是最常用的一个CNNNLP领域中很重要的是Transformer,反驳了LSTM is all you needSelf-attention mechanism(同一个句子里面):Attention map(两个词之间的关联程度):QK键值V值 Q*K

2021-02-08 11:27:14 626

原创 在Ubuntu18.04中使用gazebo配合LOAM算法仿真

目录写在前面二级目录三级目录写在前面最近因为疫情和本科毕设的原因,二级目录三级目录

2021-02-07 18:57:39 6340 77

原创 同济大学符长虹教授讲无人机+视觉

腾讯会议同济大学符长虹教授:《复杂环境下基于智能视觉感知的无人系统自主导航研究与应用》无人机+视觉AI相机(AI芯片),国产Tt,就不用GPU了专利要引起重视:找工作还是搞学术都很重要发表影响因子4或5以上的文章高速定位相机event无人机也可以放个激光雷达,做陆空协同新基建:5G基建、人工智能、大数据中心(边缘、云)、工业互联网人工智能:智能家居、服务机器人、移动设备/UAV、自动驾驶检测+识别+跟踪+定位、机器狗(开源了、适应力强、嗅觉)+UAV人工智能+可军可民的东西MOT:多目

2021-02-03 21:12:44 1352 5

原创 北京航空航天余翔教授讲怎么准备科研论文

1、几个建议:自我驱动是关键态度决定一切要大量的阅读批判性思维,脑洞大开享受合作不要浪费时间2、写好论文:Title:简单、准确、引人注目Authors:请勿随意添加;不要擅自投稿;送审后不要随意添加或减少作者;请勿一稿多投Abstract:全面准确、简明扼要;为什么设计,优势在哪,怎么证明Keywords:关键词,不全面导致检索遗漏和引用减少Introduction:应该全面客观准确地介绍问题的背景和历史发展,他人以及自己的贡献,本文的动机和主要成果。包括Background

2021-02-03 21:08:44 886

原创 husky gazebo

husky gazebo项目来源一些解释错误总结项目来源https://github.com/husky/husky 这个链接是clearpath公司开发的huskyA200的ROS和GAZEBO文件。可以通过 http://gazebosim.org/tutorials 这个链接来学习edit mode一些解释机器人的仿真研究涉及到两个大的模块: 1. ROS系统, 包括机器人模型的urdf文件, 一些通讯机制和开发好的模块功能代码; 2. Gazebo系统,一般默认再安装ROS(desktop

2021-02-01 11:34:29 862

deeplabv3plus在cityscapes数据集上的预训练模型

一个语义分割网络deeplabv3plus在cityscapes数据集上的预训练模型,最好的效果。.ph文件

2021-04-10

一个semantickitti的rosbag包

这是一个semantickitti的 rosbag包。可以播放格式为PointXYZL的点云,以及对应的/tf消息。标签是完全准确的,可以用来测试语义建图算法。

2021-03-11

velodyne.zip

这是三个Velodyne VLP-16的点云数据包,是.bag文件,可以使用命令行rosbag play ***.bag来播放。其主题均为/velodyne_points,大小不一。

2021-02-18

空空如也

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

TA关注的人

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