摘要:
注: 1) 2的幂函数,其y值大于0; 2) 2的幂函数,若 x < 0, y = (0,1); 2)n&(n-1) == 0 和 (n&(n-1)) == 0 ,逻辑是不一样的。 阅读全文
摘要:
给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 采用基于递归的深度搜索算法。 深度搜索:首先找出所有从根节点到叶子节点的路径,再比较最小深度。 递归:需要定义递归函数。 复杂度分析: 时间复杂度:节点个数为N。每个节点访问一次,O(n). 空间复杂度:最坏 阅读全文
摘要:
题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 注意: 1)空指针NULL,null是错误的; 2)空间复杂度是O(m+n),因为一共进行 m+n 次递归调用,产生了 m+n 个栈帧。 阅读全文
摘要:
参考该文章 https://www.cnblogs.com/henuliulei/p/10041737.html 阅读全文
摘要:
解题思路: 1. 首先在两个字符串前面补‘0’,使它们等长。否则要一直监督操作是否超出两个字符串的索引。 2. 从后向前遍历所有位数,同位相加。字符相加,利用ASCII码,字符在内部都用数字表示,我们不需要知道具体数值,但可知 ‘0’ - ‘0’ = 0, ‘0’ + 1 = ‘1’,以此类推。字符 阅读全文
摘要:
题解参考:https://leetcode-cn.com/problems/reverse-integer/solution/zheng-shu-fan-zhuan-by-leetcode/ 复杂度分析 时间复杂度:O(log(x)),x中大约有 log10(x) 位数字。空间复杂度:O(1)。 本 阅读全文
摘要:
背景: 编写一个点云配准的ros包,记为A,在其中打算使用多种点云配准算法。 同一个ros工作空间下有另一个ros包,记为B,B中提供了几种点云配准算法,并将它们都编译成一个库文件并安装在工作空间中。 实施情况: 在A的代码中,include ros包B所提供的头文件,同时要对A的CMakeList 阅读全文
摘要:
一 函数的参数传递可以简单分类为“传值”和“传引用”。 声明函数时,形参带引用“&”,则函数调用时,是把实参所在的内存直接传给函数所开辟的栈内存。在函数内对形参的修改相当于对实参也进行修改。 声明函数时,形参不带引用,则函数调用时,是把实参拷贝一份作为形参。从内存上看,存在两个存放相同变量的区域,分 阅读全文
摘要:
一、使用ros_driver运行VLP16 推荐网址: http://blog.csdn.net/littlethunder/article/details/51920681 https://www.cnblogs.com/williamc17/p/9705492.html 二、源于用户手册的情报 阅读全文
摘要:
背景: 激光雷达VLP16通过以太网线连接电脑。在本博客所述的设置之前,一旦连接以太网线,本机(dell笔记本)的无线网络立即断开,即无法同时连接无线网络和以太网端口。 问题查找: 命令行 $ ip route show 或者 $ ifconfig ,查看本机的有线网络和无线网络IP。 有线网络标记 阅读全文
摘要:
背景: 最近写了一个包,使用ndt算法拼接点云,构建三维壁面环境的点云地图。 设计一个lidar类,表征激光雷达。可以获取点云数据并存储到容器 std::vector<PointCloudPtr> 。 设计一个RegistrationWithNDTandGICP类,表征基于ndt_icp的slam方 阅读全文
摘要:
1. 数据类型报错 /home/wy/workdir/slambook/ch3/useEigen/build> make -j2 Scanning dependencies of target eigenMatrix [ 50%] Building CXX object CMakeFiles/eig 阅读全文
摘要:
问题介绍: slam构建地图,先进行降采样,再进行可视化或存储。然而经过降采样后,代码没有报错的情况下,点云数据散成一团。将代码和点云数据展示如下, 问题分析: 猜想是由于降采样滤波器的输入和输出是同一个指针变量,在处理过程中内存混乱,导致点云数据出错。 解决方案: 使用两个不同的变量作为降采样滤波 阅读全文
摘要:
背景: 使用NDT建图,帧率比较慢,打算使用gpu加速计算。 ndt_gpu是一个使用gpu加速ndt计算的库,首先在工作空间编译这个包。 然后在ndtMap包中链接这个库,其CMakelists.txt添加如下内容, 编译成功! 运行却报错如下: 问题解决思路: https://blog.csdn 阅读全文
摘要:
报错信息: 问题描述: 进入 /home/gordon/fsae_ws/build/${package_name}/ 中查看,发现可执行文件(节点文件)存放在该路径中。而正常情况下,可执行文件会被存放在 /home/gordon/fsae_ws/devel/lib/${package_name}/ 阅读全文
摘要:
1. 找不到g2o库!在CMakeLists.txt中使用指令 message(STATUS "${G2O_FOUND}") 打印结果为NO。 问题描述: CMakeLists.txt 中采用如下命令寻找g2o库。 科普时间:find_package() 会在模块路径中寻找FindNAME.cmak 阅读全文
摘要:
启发 1)做题前一定要读懂题目 在本题中,首先要清楚地定义回文子串的概念,然后才能设计算法查找它。 如中心扩散法,其主要思想在于找到一个回文子串的定义——两侧互为镜像。进一步分为奇数长度和偶数长度进行讨论。 在这里附上kaggle宗师高志峰的心得, 2)查找的过程要非常注意边界的处理 这往往是非常容 阅读全文
摘要:
使用二分法搜寻合适的i值,计算对应的j值,最后通过分类讨论nums1和nums2的多种情况计算得到中值。 二分法的关键思想是 假设该数组的长度是N那么二分后是N/2,再二分后是N/4……直到二分到1结束(当然这是属于最坏的情况了,即每次找到的那个中点数都不是我们要找的),那么二分的次数就是基本语句执 阅读全文
摘要:
上集 将rosbag的数据feed给lego-loam,输出地图。另外写了一个滤波节点,订阅地图,进行滤波操作,再发布出来。 由于输入给lego-loam的数据来自于rosbag,所以需要rosbag提供时间信息。 由于rosbag的数据发布频率比较快,导致了一个结果。rosbag播放完毕,时钟停止 阅读全文
摘要:
python-pcl安装和使用 https://blog.csdn.net/joker_hapy/article/details/85006818 Ubuntu16.04下安装PCL及python-pcl https://blog.csdn.net/Rinono/article/details/80 阅读全文
摘要:
https://blog.csdn.net/qq_21808961/article/details/78401950 阅读全文
摘要:
暴力解法,枚举所有子字符串组合 输入:长度[0,n]的字符串 耗时过长 第二种方法:改进暴力解法 子字符串为[i,j),左闭右开。一旦检测到新加入字符已存在于已有子字符串中,则返回当前子字符串长度,清空子字符串,左边界右移(i+1),重新生成新的子字符串。 依然耗时过长 第三种:滑窗法 改进第二种方 阅读全文
摘要:
学习了链表结构,链表中元素的访问,对象指针的初始化与赋值,链表的创建(多个节点链接起来),进位计算的表达。 100ms 68ms 阅读全文
摘要:
学习使用标准模板库(STL)中的map,hash_map。涉及数据结构知识:哈希表,红黑树。 map的使用方法 https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html hash_map的原理和使用方法 https://blog.csdn.ne 阅读全文
摘要:
1. 在/home/user_name/.bashrc文件中写入多个工作空间的环境变量,这样会导致环境变量之间相互覆盖。最常见的问题就是找不到工作空间中某个launch文件、节点、rviz插件等。 解决方法:进入工作空间source一下。这一步的作用是加载该工作空间中的所有环境变量。 各位读者如果有 阅读全文
摘要:
一、节点中使用(cpp,python) 1. ros wiki 提供的tutorials 2. https://blog.csdn.net/start_from_scratch/article/details/50762293/ 重点理解 tf广播 和 tf监听 方法! 二、命令行使用 tf_mon 阅读全文
摘要:
节点由python写成,编译通过,运行时报错如下: 报错原因:权限不够!需要把telep_key.py改成可执行文件权限。 阅读全文
摘要:
linux上静态库和动态库的编译和使用(附外部符号错误浅谈) 这就是静态库和动态库的显著区别,静态库是编译期间由链接器通过include目录找到并链接到到可执行文件中,而动态库则是运行期间动态调用,只有运行时找不到对应动态库才会报错 gcc创建和使用静态库、动态库 gcc动态链接库*.so文件的生成 阅读全文
摘要:
转自 苦涩的茶https://www.cnblogs.com/liushui-sky/p/5802981.html C++类中this指针的理解 先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。用这个类型可以来声明一个变量,比如int x, myc 阅读全文
摘要:
在fase_ws中编译ground_car包,遇如下报错: 在同工作空间的路径下找到ros包——gazabo_plugins,在其中找到gazebo_ros_utils.h。 尝试解决方法一: 先单独编译gazebo_plugins包,再编译ground_car包,遇相同报错。 尝试解决方法二: 在 阅读全文
摘要:
高翔博士 g2o的代码框架 https://www.cnblogs.com/gaoxiang12/p/5304272.html 图优化理论和g2o的引入 https://www.cnblogs.com/gaoxiang12/p/3776107.html 高博博客园的代码参考rgbd-slam-tut 阅读全文
摘要:
https://www.matongxue.com/madocs/271.html 阅读全文
摘要:
联合标定三维雷达和IMU,第一步要先对齐两种传感信息的时间戳。 ros官网提供了message_filters用于对齐多种传感信息的时间戳。 http://wiki.ros.org/message_filters#Time_Synchronizer 注意,对齐传感信息时间戳有两种方式,一种是时间戳完 阅读全文
摘要:
转自知乎专栏:https://zhuanlan.zhihu.com/p/51855842?utm_source=wechat_session&utm_medium=social&utm_oi=42141350887424 一、linux内存管理机制 Linux中可以借助brk或mmap函数从用户空间 阅读全文
摘要:
作者:jack_20 原文:https://blog.csdn.net/jack_20/article/details/70746736 1、句柄可以让你通过构造函数指定命名空间 ros::NodeHandle nh("my_namespace"); 这使得使用该句柄的任何相对名字都是相对<node 阅读全文
摘要:
4.1 Belief state in 2D 4.1.1 Introduction How robots can keep track of where they are in space and time using these particle filter algorithms to repr 阅读全文
摘要:
3.1 robotic mapping 3.1.1 Introduction 3.1.2 Introduction to mapping Map and Mapping (1) map is a spatial model of robot's environment (2) mapping is 阅读全文
摘要:
2.1 Motivation 2.1.1 Introduction How to track the uncertainty of estimating Dynamical Systems over time, using Kalman Filter to perform these estimat 阅读全文
摘要:
第一周 you learned about how to use Gaussian Models to estimate and learn from uncertain data. 第二周 we saw how to track these distributions over time in w 阅读全文
摘要:
find_package()查找包时搜索的哪些路径? find_package()查找包时搜索顺序 一、在工作空间下编译Lego loam的代码,报错如下, CMake Error at LeGO-LOAM/LeGO-LOAM/CMakeLists.txt:23 (find_package): By 阅读全文