- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 ROS编译报错“undefined reference to ‘xxx‘”的原因总结
一般出现undefined reference to的原因常见的有以下几种可能,按照出现频率排列:1. 如果是你自己写的包/或者直接copy的别人的包中出现的这种错误,一般是定义与实现不匹配,或者是你用错了导致的,例如:定义为:bool compute(const Eigen::Vector4d& pose, const double& var);但是你实现的时候写成了这样:bool compute(const Eigen::Vector3d& pose, cons
2022-01-24 15:52:15 5775
原创 如何优雅的录制ROS的rosbag包?
写在前面根据自己最近的ROS下的编程和实践,发现这种国外最先发起的项目,如果想要找教程,第一时间还是先取google搜索才行,不然在国内网站搜索,搜出来的很多都是不相关,或者压根没有这方面的内容。如果英语能力不行,则按下面的顺序来:1.先在百度搜,在搜到的结果里面,先找CSDN上的内容,一般都是技术人员写的心得,比较靠谱;2.其次看一些个人博主的blog,这些一般也还能信得过;3.如果是在找不到,一定要想到用google英文搜索你的问题,会有意外收获!言归正传因为我要录制机器人的整个
2020-06-23 14:56:19 8202 2
原创 使用vscode来开发ROS相关的项目的配置流程
直接把你的工作空间(project-name_ws)在vscode里面打开是不能进行代码导航的。需要进行以下配置步骤——1.首先,在ROS工作空间的build文件夹下生成compile_commands.json文件,方法是采用如下的编译命令:catkin_make -DCMAKE_EXPORT_COMPILE_COMMANDS=Yes通过此编译选项进行编译后,会看到build文件...
2019-10-22 22:46:34 3475
原创 二值图像、灰度图像、彩色图像、深度图像/距离图像
二值图像二值图像(Binary Image),按名字来理解只有两个值,0和1,0代表黑,1代表白,或者说0表示背景,而1表示前景。其保存也相对简单,每个像素只需要1bit就可以完整存储信息。即图像上的每一个像素点的像素值只有两种可能的取值或灰度等级状态,人们经常用黑白、B&W、单色图像表示二值图像。为了更形象的表示,用图表示如下: ...
2019-08-21 00:07:05 3412
原创 ML中常用的归一化/标准化/正则化区别与联系
先行知识——量纲、方差、标准差、均方差、均方误差的概念量纲——量纲(dimensionh)是指物理量的基本属性。均方误差物理学的研究可定量地描述各种物理现象,描述中所采用的各类物理量之间有着密切的关系,即它们之间具有确定的函数关系。为了准确地描述这些关系,物理量可分为基本量和导出量。基本量是具有独立量纲的物理量,导出量是指其量纲可以表示为基本量量纲组合的物理量;一切导出量均可从基本量中导出,由...
2019-08-07 23:51:20 1289
原创 ros编译遇到错误
在使用gazebo仿真和学习机器人导航(navigation)时遇到的问题:(1) Could not find a package configuration file provided by "gazebo_ros_control" with any of the following names: gazebo_ros_controlCon...
2019-07-08 17:53:03 588
原创 linux命令行下载功能包和文件时出现404 Not Found 错误的原因和解决办法
在使用命令行下载ros的功能包(sudo apt-get install ros-kinetic-xxx)的时候,经常会出现404错误后来发现是因为源的问题,这个问题其实在ROS WIKI中一开始就考虑到了,所以它提供了很多换源的方法。我按照WIKI使用了科大源:sudo sh -c '. /etc/lsb-release && echo "deb http://mi...
2019-07-08 16:13:36 8319 2
原创 ROS下kinect2驱动安装流程记录和遇到的问题解决心得
由于最近想在学习ROS机器人操作系统,发现很多机器人都会用kinect作为外部视觉传感器,用于导航和建图等。于是,我也想跳坑一下kinect(毕竟实验室闲置了这么多kinect2)。于是乎,边按教程来装kinect的驱动,然后一边记录安装流程,为以后再安装的时候提供一个参考,避免重复造轮子。首先按照这个博主的博客(该博主使用的是Ubuntu14.04,ROS-indigo,我使用的kinetic)...
2019-07-08 11:31:28 2481 5
原创 PX4固件1.9.0版本编译过程记录
本文假设已经把linux下该安装的环境都安装好了,如果是全新的ubuntu系统则需要配置很多依赖包,可以参考大神博客,接下来按部就班进行PX4固件1.9.0版本的编译。首先git最新的1.9.0固件:mkdir -p ~/srccd ~/srcgit clone https://github.com/PX4/Firmware.git然后进行初始化:cd Firmware...
2019-06-03 23:23:09 2865 7
原创 linux中的ROS环境变量配置遇到的问题,.bashrc文件的作用,环境变量添加和去除
由于自己误操作把原先配置好的ROS下的一个目录删除了,因为采用的是命令行 rm -rf 删除的所以无法修复(一定要慎重使用rm -rf),所以只能完全卸载ROS,然后重装。ROS卸载教程可以参考这位博主的博客。然后进行ROS系统重装,想着自己去年装过几次ROS了,这次肯定没问题啊,但是还是遇到了一些坑,究其原因,还是对linux环境不熟悉导致的。由于我今后要进行无人机相关的研究,所以ROS的安装...
2019-06-02 11:52:21 7539
原创 C++学习之路7——一张图看懂数据结构
首先,引用百度百科上的解释。数据结构:数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。下面这张图可以帮助我们更好的理解数据结构:名词解释:数据:程序的操作对象,用于描述客观事实;数据元素:组成数据的基本单元;数据对象:性质相同的数据元素的集合;数据项:一个数据元素由若干数据项组成。什么叫数据?比如int a...
2019-05-21 14:18:42 313
原创 C++学习之路6——C++中三目运算符和for循环,const &用法,nullptr指针
C++中的三目运算符和for循环,const &用法,nullptr指针C++中的三目运算符为:<表达式1>?<表达式2> :<表达式3>它的意思是:先执行表达式1,如果1为真则执行表达式2,否则执行表达式3,三木运算符常常用来代替if .... else....语句。如:int a = 1;int b;if (a < 0...
2019-05-20 15:38:18 498
原创 C++学习之路5——C++中关于断言(assert)
关于断言(assert)断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。使用断言可以创建更稳定、品质更好且 不易于出错的代码。当需要在一个值为FALSE时中断当前操作的话,可以使用断言。单元测试必须使用断言。以上为百度...
2019-05-20 15:38:10 706
原创 C++学习之路3——C++中main函数有参数和没参数的区别
main函数有参数和没参数的区别。//没参数的:int main () {...};//有参数的:int main (int argc, char** argv) {...};int main (int argc, char* argv[]) {...};//只有这两种形式,注意是形式,并不是说argc 和 argv这两个参数的名字必须是这两个,有的是args的,但是形式上只有这两...
2019-05-20 15:37:53 1425
原创 C++学习之路2——C++中冒号(:)和双冒号(::)的使用方法
C++中冒号(:)和双冒号(::)的使用方法记录,供自己查看。一、冒号(:)的用法(1)表示变量所占字节大小的定义typdef struct A { unsigned char a:4;//这里的:就是表示字符串类型变量a占4个bit空间 unsigned char c; }(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方...
2019-05-20 15:37:44 1262 1
原创 C++学习之路1——C++中的一些基本知识
谨以此文来奠定自己的博客之路,并督促自己学习好编程与3D重建的知识。C++ 中一个比较大的project,都不是一个人完成的,而且也不是简单的几个.h和.cpp文件组成的。一般一个大的C++项目,有很多文件夹,并且有许多的.h和.cpp文件,它们之间有着千丝万缕的关系,以下内容是我在读C++代码的过程中认识到的一些问题。.cpp文件中不一定必须包含主函数。一开始读代码,以为跟自己学习的简单...
2019-05-20 15:37:34 140
原创 C++学习之路4——C++中的命名空间的理解
C++头文件那些事①在C++中有的头文件用<>包含,有的则用“ ”包含,具体的区别是什么呢?#include “Myedit.h”#include<iostream.h>在刚开始学习都会有这种迷惑,有的程序用<>,有的却用" ",二者的区别在于:<>和" "表示编译器在搜索头文件时的顺序不同,<>表示从系统目录下开始搜...
2019-05-20 15:37:20 201
原创 Matlab中的selector使用方法
这个模块是对输入的量进行选择和重排序的,比如上图就是输入输出都是2个,我们假设输入为:x1 和x2 那么,输出就是:x2 和x1。选择和重排序模块。...
2019-04-12 10:40:12 6048
用遗传算法(GA)求解TSP问题的代码,包含三种语言:matlab\python\java
2019-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人