自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Livox Lidar 特征提取方式总结

传统的 旋转式雷达,激光固定在雷达的旋转部件上, 依靠转子的转动而获得360的旋转视野,由于旋转部件的存在,为了获得更加精准的数据,需要跟多的人工校准和更复杂的设计,也因此推高了其价格。 不过因为很直观的数据方式,所以 edge 特征和 plane 特征也比较直观。Livox 雷达推出的特有的非重复扫描方式,使得特征提取变得不那么直观,而且LIvox 推出的自由的数据结构方式,加上ROS原有的 Pointcloud2 使得很多开源的SLAM 算法只支持一种数据格式, 导致很多辛辛苦苦采集的数据不能直接使用

2021-11-16 18:39:09 4420 3

原创 深度图和RGB图对齐

深度图:RGB图:Alignment:

2020-12-31 17:26:43 4294 3

原创 Python3 下 ROS 的使用 cv_bridge

Python 3 下 ROSmsg 转 cv2项目中用到的 Tensorflow2.4 的环境, 该环境只支持python3 版本,项目中遇到不少需要和 ROS 交互的地方,所以不断探索 python3 与ROS 的交互, 在此总结, 后期项目会开源。方法一(RGB) def rgb_callback(self, data): img_data = np.zeros((height, width, 3), dtype=np.uint8) ii = 0

2020-12-30 17:46:00 703

原创 TOF相机 Realsense L515 与 Ipad pro Lidar Camera 对比

最近好奇都是TOF 相机 L5151 和 Ipad pro 上带的深度相机模块有啥不一样, 网上很少有相关的中文资料来介绍 原理上的差异, 简单搜索了一下, 在此小小总结.Apple Lidar Camera苹果采用的激光是 VCSEL(Vertical-Cavity Surface-Emitty Laser) 技术 又称为垂直共振腔平面, 直观感觉就是将常用的旋转的雷达, 做到了一个平面上, 相当于在平面上射出多个激光, 根据TOF 估计每束激光的深度.以下是几张拆解图.从上图可以看出, 苹.

2020-10-27 16:55:14 3155 5

原创 [论文阅读] Day 2 Towards General and Autonomous Learning of Core Skills: A Case Study in Locomotion

题目:Towards General and Autonomous Learning of CoreSkills: A Case Study in Locomotion作者: Roland Hafner ; Tim Hertweck 等单位: Google Deepmind文章链接: [链接]视频链接: [Video - Youtube]摘要现代强化学习(RL)算法有望直接从原始的传感器输入来解决棘手的电机控制问题。由于RL 可以代表一类通用的方法,即使在对于人类而言困难或昂贵的情况下,它们也

2020-09-13 11:53:35 232

原创 论文阅读 Day-1: GSLAM: A General SLAM Framework and Benchmark

文章目录摘要主要贡献结果及图表总结:会议: ICCV 2009作者: Yong Zhao∗,1, Shibiao Xu†,2, Shuhui Bu1, Hongkai Jiang1, and Pengcheng Han1单位: Northwestern Polytechnical University 西北工业大学论文链接Github 链接!摘要SLAM技术最近取得了许多成功,并吸引了高科技公司的注意。然而,如何统一现有或新兴算法的接口,有效地进行速度、健壮性和可移植性的基准测试仍然是一个难题

2020-09-10 16:40:40 376

原创 [论文阅读] DAY 1 Vehicle Detection With Automotive Radar Using Deep Learning on Range-Azimuth-Doppler

Vehicle Detection With Automotive Radar Using Deep Learning on Range-Azimuth-Doppler Tensors作者: Qualcomm AI Research∗ Qualcomm Technologies, Inc.†原文: 原文地址链接Abstract二十多年来,雷达一直是汽车高级驾驶员辅助系统的关键推动者。作为一种廉价、全天候和远程的同时提供速度测量的传感器,雷达被认为是未来自主驾驶不可或缺的。传统的雷达信号处理技术往往

2020-09-10 15:41:47 890

原创 PID 控制器代码实现

PID 控制器代码实现PID 控制器代码实现效果展示实现代码PID 控制器代码实现PID:比列(Proportion),积分(Integral),微分(Differential)偏差 e:某时刻的系统的输出值(output)和目标值(target)之差Kp: 比列系数Ki: 积分系数Kd: 微分系数Ti: 积分时间Td: 微分时间比例系数Kp:增大比例系数使系统反应灵敏,调节速度加快,并且可以减小稳态误差。但是比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数

2020-08-03 10:52:14 1641

原创 [总结] 该如何设计神经网络 [1] - 模块方法功能汇总

查询列表经典的网络结构卷积层(Convolution):提取特征池化层 (Pooling): 减少参数全连接层:实现分类Dropout 的机制:预防过拟合正则化(Regularization) : 防止过拟合白化(Whitening): 加速收敛Batch Normalization:加速收敛数据增强: 模型范化常用的概念BatchInternal Covariate Shift(ICS)学习模型的评价近来看看神经网络,有很多经典的神经网络结构,包括2D 的神经网络和3D点云的,但是不理解该如何设计自己

2020-05-27 04:52:31 1176

原创 [讨论] 深度学习Region Proposal方法

Region Proposal 方法看的比较头大,现在在此总结一下,欢迎大家批评指正RCNN出自论文 : Rich feature hierarchies for accurate object detection and semantic segmentation 链接侯选框的选择选取了Selective Search的方式对每张图提取了约2000个大小不一候选区域,为了使不同尺寸的候选区域可以喂给固定输入尺寸的网络提取特征,对这些候选区域都缩放到227,为避免缩放操作对识别检测精度的.

2020-05-25 05:25:47 2356

原创 [讨论] ROS1 为何不是可靠的系统

笔者之前参与过基于 ROS1 的机器人开发, 但是如大多数创业公司一样, 这些系统也都仅仅限于demo 阶段。失败的原因一方面是市场的因素, 一方面也是当前的机器人系统并不成熟, 开发者必须在及其有限的资源下 板载 CPU,内存等资源开发一个感知决策系统,但在当前 ROS1 的状况下总是无法做到稳定,接下来是我的讨论,欢迎大家评论中留言。自动驾驶系统中的数据量越来越大自动驾驶中用到的传感器很多,每种都有自己的劣势,但也都存在自己的盲区。3D 激光雷达, 只能对三维空间进行稀疏的采样, 线束越多采.

2020-05-25 04:09:41 2339

原创 LEGO LOAM 学习理解总结

参考资料LOAM等内容的博客 需要好好研读LeGO-LOAM 源码阅读笔记(imageProjecion.cpp)LeGO-LOAM 源码阅读笔记(featureAssociation.cpp)LeGO-LOAM 源码阅读笔记(mapOptmization.cpp)代码理解(ongoing)image Projection 的原因之一是, 必须找到所有激光点对应的位置。需要将...

2020-02-19 00:49:35 2914 2

原创 Eigen C++非线性最小二乘法代码实现

最近在研究中需要使用LM等优化算法,对特定的东西进行优化。理论懂了一些些,论文也看了不少, 但是实际上手了两天却发现,自己根本写不出来,很多东西一知半解,现在还是要静下心,急不得啊参考资料非线性优化(一):优化方法非线性优化(二):徒手实现LM算法卡尔曼滤波家族卡尔曼滤波:从入门到精通#include <iostream>#include <eigen3/Ei...

2020-02-19 00:00:32 4220 1

原创 ROS nodelet - 零拷贝的通信方式

NodeletROS 中 Publisher/Subscriber 通信机制方便灵活,但是每次接收的数据都会拷贝一份,对于数据量较大的 msg 如lidar,效率十分低下。Nodelet 提供了一种方式, 能让多个运行的算法节点之间不用这种低效的拷贝,达到共享数据的方式.Nodelet 设计目的use the existing C++ ROS interfaces. 使用当前ros ...

2020-02-12 17:08:37 1288

原创 ROS 下动态参数 .cfg 的配置与实现

功能简介动态配置文件 (dynamic_reconfigure) 提供了一种将 ros 节点内的参数暴露出来的方式。该接口可以让用户在节点运行时通过客户端动态的调整参数,实时的观察特定参数参数对节点内算法的影响。常用命令rqt_reconfigurerosrun rqt_reconfigure rqt_reconfigure命令行工具$ rosrun dynamic_reconfig...

2020-02-12 16:15:47 3315

原创 路径规划算法(0) -路径规划与 Dubins, Reeds-Shepp曲线的python实现

参考资料: http://planning.cs.uiuc.edu/node821.html一般常见的路径规划算法, 如 Dijkstra, A*, BFS算法, 重点关注可达性, 搜索速度和效率上等问题, 这些轨迹或以栅格或以图的形式给出路径, 事实上还没有考虑到,实际机器人的运动特征, 这里就要介绍到两种路径规划中常用到的曲线, Dubins曲线和 Reeds-Shepp 曲线, 最大的...

2019-08-09 10:22:01 5238

原创 路径规划算法(1) - Dijsktra路径算法 python实现及解析

迪克斯特拉(Dijkstras)算法,适用于加权图(weighted graph),找出的是总权重最小的路径。Dijsktra算法包含四个步骤:找出当前离起点最近的节点;对于该节点的邻居,检查是否有前往它们的更短路径,如果有,就更新其开销,并更新邻居的父节点;重复这个过程,直到对所有节点都这样做了;计算最终路径(路线和开销)。code#!/bin/python# -...

2019-08-08 17:08:44 3232

原创 路径规划算法(2) - A*寻路算法 python实现及解析

代码#coding=utf-8import math# 启发距离, 当前点和目标点的启发距离; -- 就是简单的曼哈顿距离def heuristic_distace(Neighbour_node,target_node): H = abs(Neighbour_node[0] - target_node[0]) + abs(Neighbour_node[1] - target_no...

2019-08-08 14:31:38 3588 2

原创 GAZEBO仿真学习笔记(2)多Turtlebot gazebo 仿真

多 turtlebot 仿真这里实现了三个turtlebot 在gazebo下的仿真<launch> <arg name="gui" default="true"/> <arg name="world_file" default="$(env TURTLEBOT_GAZEBO_WORLD_FILE)"/> <arg name...

2019-08-06 11:27:47 1997 1

原创 GAZEBO仿真学习笔记(1) urdf 编写 及rviz 可视化

舵轮机器人 urdf 及rviz 可视化编写一个urdf 文件<robot name="test_robot"> <link name="base_link"> <visual> <geometry> <box size="0.2 .3 .1"/> </geometr...

2019-08-06 11:17:54 1160

原创 ROS Callbacks and Spinning: ros::spin(), ros::spinOnce 与 ros::MultiThreadedSpinner,ros::AsyncSpinner

http://wiki.ros.org/roscpp/Overview/Callbacks%20and%20Spinning单线程回调函数 ros::spin() 与 ros::spinOnce()这俩兄弟学名叫ROS消息回调处理函数。它俩通常会出现在ROS的主循环中,程序需要不断调用ros::spin() 或 ros::spinOnce(),两者区别在于前者调用后不会再返回,也就是你的主程...

2019-07-15 14:08:32 2559

原创 Doocker ubuntu 16.04 学习总结(四)- 使用 docker搭建 Jupyter 环境 运行 handson_ml 机器学习程序

在学习 **Hands-on Machine Learning with Scikit-Learn and TensorFlow: ** 的过程中, 想创建一个可以随意变动的环境,在不同电脑上切换使用,不用每次安装, 于是将环境都装在 docker 中, 以供使用。 本博客只共记录自己的学习查找使用, 大神请勿在此浪费时间。https://github.com/ageron/handson...

2019-05-06 08:31:31 442

原创 Numpy 使用方法总结

创建 numpy 数据import numpy as npnp.arange(15) #一维数组array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])np.arange(15).reshape(3,5) # 更改形状 array([[ 0, 1, 2, 3, 4],...

2019-04-26 17:40:34 269

原创 ROS - teb_local_planner 参数总结

参考官方教程 http://wiki.ros.org/teb_local_planner/Tutorials, 全英文看着有点累, 在此总结一下调试的过程和小小的经验安装 teb_local_plannersudo apt-get install ros-kinetic-teb-local-plannersudo apt-get install ros-kinetic-teb-local-p...

2019-04-19 16:26:11 25823 6

原创 Doocker ubuntu 16.04 学习总结(三)- 在Resberry Pi 上 使用 docker搭建 Jupyter 环境

Docker 配置安装 docker设置免 sudo 权限下载 Ubuntu 镜像//安装 docker~$ sudo apt-get update~$ sudo apt install docker.io$ docker version Client: Version: 18.09.2 API version: 1.39 Go versi...

2019-04-17 18:23:56 428

原创 C++ thread 中join 和 detach 的区别

// g++ test.cpp -std=gnu++11 -lpthread#include<iostream>#include<thread>#include<unistd.h>void fun1(int n){ for(int i=0; i<10; i++){ std::cout<< "Func1" &lt...

2019-04-15 10:21:40 757

原创 Doocker ubuntu 16.04 学习总结(二)-使用docker搭建web服务器

在容器中部署静态网站设置容器的端口映射我们还没有 ubuntu 的镜像查找 ubuntu 的镜像$ docker search ubuntuNAME DESCRIPTION STARS OF...

2019-04-14 18:14:48 881

原创 Doocker ubuntu 16.04 学习总结(一)-安装与入门

第一部分 安装与简单教程docker 安装// ubuntu 维护的方式$ sudo apt install docker.io// docker 官方维护的方式$ curl -sSL https://get.docker.com/ | shdocker 查询版本$ docker version启动 docker service$ service docker start...

2019-04-14 15:13:05 659

原创 LOAM进行点云地图创建

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-04-02 18:26:43 6885 18

原创 Arduino 读取GPS 数据发送解析并发布ROS topic(二)

Arduino 读取GPS 数据发送解析并发布ROS topic(一) https://blog.csdn.net/Fourier_Legend/article/details/84107494概述本部分将主要讲将串口接受到的数据,进行处理并发布成 ros topic思路从串口读到的数据如下$GNGA,120025.000,0000.0000,N,00000.0000,E,0,00...

2018-11-15 17:32:04 3711 5

原创 Arduino 读取GPS 数据发送解析并发布ROS topic(一)

概述通过Arduino收集GPS数据,连接至电脑端,在电脑端通过python对数据进行整理,并通过发布 TOPIC,本部分主要记录如何通过Arduino读取GPS数据。接线方式GPS 的 UCC GND 分别接到 arduino板子上的 5v 和 GNDGPS 的 TXD 引脚接 arduino 的RX1引脚 (只需要接受从芯片上发回的数据)Arduino 连接至串口#解析代码...

2018-11-15 17:11:30 4307

原创 点云数据格式解析 sensor_msgs::PointCloud2

在使用多线激光的时候需要总是会碰到点云数据,这里简单的接受一下点云数据,并堆数据结构进行分析,方便自己后期对点云特征数据进行处理。文章目录Rviz中的点云数据点云数据结构分析数据截图Rviz中的点云数据本书据采用的经典的 loam_velodyne 算法,跑得是开源的包pcap 包, 有时间会详细介绍跑包的方法点云数据结构分析具体官方数据分析: http://docs.ros.or...

2018-11-02 19:41:49 36863 21

原创 tf 变换 重要文章总结

让我知道 这样可以 直接转换点的坐标 通过监听transformROS之tf空间坐标变换浅析 - https://blog.csdn.net/u014587147/article/details/76377024class TransformListener : public Transformer { public: TransformListener(ros::Duration ma...

2018-09-27 21:52:09 497

转载 cmake、make、make install

如果经常在Linux系统下面与C、C++文件打交道的话,一定经常遇到四/五步走:mkdir buildcd buildcmake ..make// 如果是安装依赖库的时候会用到make install前两步并不难理解,就是想把对应项目的编译文件放在build目录下,这样便于管理。如果要传送源文件,可以直接删除build文件夹。编写程序的主要步骤Edit: 使用编辑器编写源代码...

2018-09-21 11:41:01 476

原创 C++ Yaml文件解析安装及使用 yaml-cpp

C++ Yaml文件解析安装及使用安装 yaml-cpp克隆官方库编译 yaml-cpp示例代码robot.cpprobot.yaml编译 robot.cpp运行结果难点分析与总结什么是 .a 与 .so 文件静态链接库(.a) 与动态链接库(.so)静态链接库动态链接库g++(gcc)编译选项参考文章安装 yaml-cpp克隆官方库git clone https://github.co...

2018-09-21 11:34:41 19799 5

原创 Linux 系统 - Socket 通信实例

socket service// connect、bind、close 注意理解 这里的 TCP 三次握手 #include &lt;stdio.h&gt; #include &lt;sys/socket.h&gt; #include &lt;sys/types.h&gt; #include &lt;string.h&gt; #include &lt;netinet/in.h&g...

2018-09-14 16:26:34 259

原创 Linux 下共享内存实例(shmget shmat shmdt)

c程序实现写内存读内存运行结果总结c程序实现写内存/* * rShareM.c * * Created on: 2011-11-20 * Author: snape */#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;sys/shm.h&amp;gt;#include &amp;lt;unistd.h&amp;gt;#inc...

2018-09-14 11:47:26 1522

原创 Linux操作系统 - 浅析分页机制

在想看下共享内存如何实现的时候,刚好想了解一下内存使用情况。简介总结简介分页机制让我们在程序开发的时候不需要管理内存的,也不需要操心内存够不够用它是实现虚拟存储的关键,位于线性地址与物理地址之间。整个主内存区域划分成 4096 字节(4k)为一页的内存页面程序申请使用内存时,就以内存页为单位进行分配通过页目录表PDE和二级页表PTE实现转换进程的...

2018-09-14 10:50:05 497

原创 树莓派3B ubuntu mate 16.04 安装ROS环境

安装 Ubuntu Mate 系统下载镜像http://ubuntu-mate.org/download/格式化SD卡(1) 使用 df -T 查看sd卡情况, 我的实在 /dev/sdbmoi@moi-ThinkPad-T440p:/dev$ df -T文件系统 总容量 已使用 可用 使用率 存在位置Filesystem ...

2018-09-06 14:49:08 1720

原创 30mvs12m雷达对比报告

实验结果法石雷达 12m雷神雷达 12 m思岚雷达 12m法石和雷神参数完全一致, 回环稳定建图效果良好。雷神因为路径不一样回环不正确, 故更改了 loop_search_maximum_distance: 3.0 减小错误的回环 雷神30m 雷达参数和结果参数对比 主要参数 30m范围雷达 12m范围雷达 解...

2018-09-06 11:02:28 413 4

空空如也

空空如也

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

TA关注的人

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