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

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

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

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

一些SLAM中用到的数学知识

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

Ubuntu18.04安装anaconda3和pytorch

安装anaconda3参考Ubuntu18.04 安装 Anaconda3安装pytorch参考ubuntu下用anaconda快速安装 pytorch以及Ubuntu利用Anaconda3安装Pytorch
分类: 其他 发布时间: 03-05 07:55 阅读次数: 0

《基于多层次概率框架的联合语义建图算法设计与实现》本科毕设每日进展总结

目录之前的一些总结任务书标题《基于多层次概率框架的联合语义建图算法设计与实现》题目内容:任务要求:主要参考文献(4-5篇):ICRA视频的笔记目前的创新想法目前已做工作请教岳老师的一些思路问题请教学长的一些代码问题2021/2/1之前的一些总结任务书标题《基于多层次概率框架的联合语义建图算法设计与实现》题目内容:传统的三维地图仅重构环境的几何维度信息,并未融合物体语义标签和类别等高层次信息。随着深度学习的快速发展,语义建图的相关研究引起了大量关注。本课题将研究基于多层次概率框架的机器人联合语义建图
分类: 其他 发布时间: 03-05 07:55 阅读次数: 0

unity安卓平台多摄像机显示黑屏问题

用Unity2019.2.0打包安卓平台的项目,在多摄像机显示的时候,老是会只渲染最顶层的摄像机,低渲染层级的摄像机不显示。
分类: 其他 发布时间: 03-05 07:55 阅读次数: 0

MobaXTerm快捷键

切换全屏模式:F11显示/隐藏侧边栏:Ctrl + Shift + B在终端中查找:Ctrl + Shift + F端子模式(垂直拆分):Ctrl + Alt + 2端子模式(水平拆分):Ctrl + Alt + 3分离/重新连接选项卡:Ctrl + Shift + D开始新的远程会话:Ctrl + Shift + N开始新的远程会话:Ctrl + Shift + N复制:鼠标滑取粘贴到终端:Shift + V显示MobaXterm /隐藏至系统托盘:Ctrl + M显示/隐藏弹出终.
分类: 其他 发布时间: 03-05 07:54 阅读次数: 0

ADB调试Unity发布程序

adb 控制台查看日志adb logcat在CMD中命令窗口中输入 adb logcat ,这样会启动logcat,并将设备上运行的android应用的运行时信息全部打印出来。adb logcat -s Unity同上,如果只想打印Unity的输出信息,使用此命令。adb logcat -d > logcat.txt同上,将打印信息输出为文件。...
分类: 其他 发布时间: 03-05 07:54 阅读次数: 0

Unity Vuforia 识别控制、自动调焦、闪光灯、前置相机以及禁用Vuforia

// 设置摄像头自动调焦 var isSuccessful = Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);// 打开闪光灯 trueVuforia.CameraDevice.Instance.SetFlashTorchMode(true);// 关闭闪光灯 falseVuforia.CameraDevice.Instance.SetFl.
分类: 其他 发布时间: 03-05 07:53 阅读次数: 0

从源码分析SpringMVC核心处理流程

引言之前我们都是从一些官方文档或者是博客中了解了springMVC的整个处理流程,并且在前面博客我们也自己动手模拟了一个简单的springMVC容器,那么今天我们就对照流程图从源码分析一下S pringMVC的核心处理流程。一、SpringMVC处理流程图这张图已经非常清楚的画除了整个SpringMVC的处理流程,里面还写出了每个处理环节当中的类,当然如果没有 分析过源码,那么上面的图看起来会非常的乱。尤其是里面的一些核心类,所以如果想很愉快的欣赏上面的 流程图,就需要我们看过几遍源码。..
分类: 其他 发布时间: 03-05 07:53 阅读次数: 0

java8新特性—— Lambda表达式

Lambda表达式用来替代匿名函数,可以将一个函数赋值给一个变量作为参数传入另一个函数,java的闭包原则:可推导就是可省略,比如说参数类型,返回值// 1. 不需要参数,返回值为 5 {}只有一行代码,可以省略() -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值,()只有一个参数可以省略 x -> 2 * x // 3. 接受2个参数(数字),并返回他们的差值 (x, y) -> x – y // 4. 接收2个int
分类: 其他 发布时间: 03-05 07:53 阅读次数: 0

java8中的map与flatmap

问题假如我们有这样一个需求给定单词列表["Hello","World"],你想要返回列表["H","e","l", "o","W","r","d"],如果我们使用java实现这个需求,你会怎么实现呢?可能我们第一个想法是下面这种写法:words.stream().map(word -> word.split("")).distinct().collect(toList());但是如果我们运行会发现这样的写法是不正确的,这个方法的问题在于,传递给map方法的Lambda为每个单词返回
分类: 其他 发布时间: 03-05 07:53 阅读次数: 0

Webflux系列之反应式编程核心基础详解

一. 反应式编程核心思想1、核心概念反应式反应式系统具有某些特性,使其成为低延迟、高吞吐量工作负载的理想选择。projectreactor和Spring组合一起工作,使开发人员能够构建响应性、弹性、弹性和消息驱动的企业级反应系统。反应式处理反应式处理是一种范例,它使开发人员能够构建非阻塞、异步的应用程序,从而能够处理背压(流控制)。为什么使用反应式处理?反应式系统更好地利用了现代处理器。此外,在反应式编程中加入背压可以确保解耦组件之间具有更好的弹性。反应式宣言英.
分类: 其他 发布时间: 03-05 07:52 阅读次数: 0

【2020总结】 一直坚持,一路向前!

【疫情笼罩下的我们】 最近北京的疫情又开始严重起来,这让我们不仅回想起年初恐慌的情景,年初因为没有提前收到在家办公的通知,所以还是和往年一样提前两天回京,但是和往年不一样的是路上多了很多医护人员,而零零散散的行人也是戴上了厚厚的口罩和各种防护装备,人和人之间几乎没有交流,整个大厅无限循环的播放着各种测体温、戴口罩等预防提示音,这就更加剧了我们的恐慌,但是无论疫情怎么严重,生活还得继续。。。。。 在复工的前一天我们收到在家办公的通知,但是随之而来就是我们MS系统日处理量需要提高一倍,因...
分类: 其他 发布时间: 03-05 07:52 阅读次数: 0

深入理解Java三种IO模式和Epoll模型

IO模型IO模型就是说用什么样的通道进行数据的发送和接收,Java共支持3种网络编程IO模式:BIO,NIO,AIOBIO(Blocking IO )同步阻塞模型,一个客户端连接对应一个处理线程BIO代码示例:import java.net.ServerSocket;import java.net.Socket;import java.util.logging.Handler;public class SocketServer { public static
分类: 其他 发布时间: 03-05 07:51 阅读次数: 0

从源码分析Dubbo的SPI机制

Java SPI在进行分析Dubbo SPI机制之前,我们还是从我们熟悉的java spi机制入手,其实在我们平常使用的开发框架中, 处处都是使用了SPI机制,比如我们使用的JDBC,日志框架等,我们可以根据配置集成我们需要的数据库例如mysql、oracle 等,下面从一个简单的例子来看一下Java SPI;Java Spi demo:public interface Tea { String getTeaName();}public class GreenTea im..
分类: 其他 发布时间: 03-05 07:51 阅读次数: 0

从源码分析JDK动态代理

引言动态代理非常的重要,虽然我们在日常的工作中没有非常底层的 编写过动态代理的代码,但是动态代理却起着非常重要的功能,想一下我们经常使用的框架: 日志框架、AOP等等,所以,如果我们需要看一些框架的源码的时候,还是需要非常熟悉的掌握动态代理的原理。基本的使用这里就不在介绍了,前面的的博客已经介绍过了《java动态代理》,本篇博客主要解决下面几个问题:1、JDK动态代理基本原理2、如何调用到我们自己的myInvoerCationHandler中的invoke方法3、 被代理的类位为什么要实
分类: 其他 发布时间: 03-05 07:50 阅读次数: 0

quartz-2.2.3集群部署使用到的数据库字段说明

1|0qrtz_job_detailsqrtz_job_details 存储每一个已配置的 jobDetail 的详细信息表字段 含义 sched_name 调度名称 job_name 集群中job的名字 job_group 集群中job的所属组的名字 description 详细描述信息 job_class_name 集群中个notejob实现类的全限定名,quartz就是根据这个路径到classpath找到该job类 is_durab.
分类: 其他 发布时间: 03-05 07:50 阅读次数: 0

quartz集群部署方式解决方案

需求最近有一个项目需要从原来的单机部署修改为 集群方式部署,因为银行要求所有的的服务不能有单点的情况,所以我们需要 对该项目就行改造,别的需求改造还是比较容易的,但是项目中采用了quartz执行定时任务,所以我们需要改造这个地方,在本文中采用quartz自身支持的基于DB的集群部署方案。版本2.2.3创建DBsql文件地址:https://download.csdn.net/download/u013045437/15534461数据字段说明:https://blog.csdn.ne
分类: 其他 发布时间: 03-05 07:50 阅读次数: 0

JavaScript操作Cookie——高级篇

在上一篇博客中介绍了一下关于cookie的基本知识,下面在这篇博客中给大家介绍一些相对比较高级并且比较容易犯错的知识。   一、cookie路径概念  cookie 一般都是由于用户访问页面而被创建的,可是并不是只有在创建 cookie 的页面才可以访问这个cookie。默认情况下,只有与创建 cookie 的页面在同一个目录或子目录下的网页才可以访
分类: 其他 发布时间: 03-05 07:49 阅读次数: 0