
ROS
智渊
这个作者很懒,什么都没留下…
展开
-
SUMO ubuntu 源码安装
ubuntu sumo 源码安装。原创 2022-03-04 10:22:55 · 590 阅读 · 0 评论 -
ros 旋转矩阵计算欧拉角
void matrix2angle(Eigen::Matrix4f &result_trans, Eigen::Vector3f &result_angle){ double ax, ay, az; if (result_trans(2, 0) == 1 || result_trans(2, 0) == -1) { az = 0; double dlta; dlta = atan2(result_trans(0, 1), result_trans(0, 2)); i.原创 2021-10-30 14:26:12 · 805 阅读 · 0 评论 -
ROS Nodehandle句柄
1、句柄可以让你通过构造函数指定命名空间ros::NodeHandle nh("my_namespace");这使得使用该句柄的任何相对名字都是相对<node_namespace>/my_namespace,而不是只相对<node_namespace>你也可以指定一个父句柄和追加的命名空间ros::NodeHandle nh1("ns1");ros::NodeHandle nh2(nh1,"ns2");这将把nh2放入到<node_namespace&g转载 2021-04-18 14:23:18 · 322 阅读 · 0 评论 -
pcl::fromROSMsg 不是pcl的成员函数
这个原因是没有包含相关的头文件,这里需要添加#include <pcl_conversions/pcl_conversions.h> #include <pcl/conversions.h> #include <pcl_ros/transforms.h>原创 2021-03-30 17:41:59 · 3722 阅读 · 4 评论 -
ROS 踩坑之路 ros中点云的数据类型
ROS 中点云共有三种类型:sensor_msgs::PointCloud sensor_msgs::PointCloud2 pcl::PointCloud<T> 这使一个模板类,temple class , 使用过程中用具体的数据类型替换掉<T>参考连接:http://wiki.ros.org/pcl/Overview...原创 2021-03-27 17:05:29 · 681 阅读 · 0 评论 -
点云保存到文件
// 将改变的点云输出到文件 pcl::io::savePCDFile<pcl::PointXYZ>("./src/rslidar/data/result.pcd", *cloud_change);原创 2021-03-26 20:16:25 · 844 阅读 · 0 评论 -
PCL Octree之双缓冲机制
PCL 中的Octree来管理空间中无序的点云,从而加快查找速度 。八叉树的原理已经后很多文章进行过描述,主要就是将一个正方体分成八块或者不切分,一层一层构造成树的结构, 我在这里不进行赘述,本文主要讨论八叉树的双缓冲机制,查找了很多资料对此都没有详细的描述。简介:八叉树的双缓冲机制简单来说就是在内存空间中开辟两块缓冲区来进行存储,Octree在动态检测使用中的原理:1、 Pcl的Octree中,通过点云建立一棵树,这棵树只会存在于其中一个点云之中。 octree.setIn原创 2021-03-26 15:30:52 · 521 阅读 · 0 评论 -
anaconda3/lib/libfontconfig.so.1:对‘FT_Done_MM_Var’未定义的引用 collect2: error: ld returned 1 exit status
这个错误应该是安装了anaconda之后和ros版本有冲突导致的问题,可以使用python虚拟环境进行版本控制其次,我发现一个神奇的东西,就是 我可以先编译 beginner_tutorials 包之后,再编译我的这个包,就不会报错啦。 我怀疑是个别库的问题,之后我再研究一下。...原创 2021-03-26 00:07:09 · 1547 阅读 · 0 评论 -
ros踩坑之路 使用pcl报错
这个代码主要是实现点云的读取和可视化。这个问题通过对比代码发现是头文件包含缺少了,补充完整则为:#include <iostream>#include <pcl/point_cloud.h>#include <pcl/io/pcd_io.h> //读写pcl文件#include <pcl/point_types.h> // 点云类型#include <pcl/visualization/cloud_viewer.h>...原创 2021-03-25 11:45:34 · 709 阅读 · 0 评论 -
vscode ros 开发自动补全
进入vscode,按快捷件Ctrl + Shift + P打开,搜索C/C++: Edit Configuration点击,生成一个c_cpp_properties.json文件,内容为:{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", ],原创 2021-03-24 20:56:34 · 1006 阅读 · 0 评论 -
ros踩坑之路 新建一个 Publisher和 Subscriber
ros tutorials链接:http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29在之前新建的package新建文件夹src,在下面创建文件 talker.cpp 和 listener.cpp,内容复制上面链接的内容按照上面指示更新CMakeList.txt在工作区目录catkin_ws下运行catkin_make 然后就报错啦!...原创 2021-03-24 17:13:10 · 278 阅读 · 0 评论 -
ros踩坑之路 创建src和msg
先附上ros 教程链接:http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv先讲一下msg文件和srv文件的作用,msg文件: 用于表述ros 中msg的类型(field),并将其生成源文件srv文件:用来描述一个服务,指定其输入和输出的参数类型msg部分:roscd beginner_tutorialsmkdir msgecho "int64 num" > msg/Num.msg修改pckage.xml,添加依赖.原创 2021-03-24 16:47:36 · 638 阅读 · 0 评论 -
新建一个ros 的package
我们先理解一下ros的工作区间, package包, node之间的关系。首先,workspace是一个大的工作间,假设是一个工厂,而 package 代表不同的生产区间,有的生产皮鞋,有的生产衣服等等,类似于你定制的不同的app, 最后就是node, ros的每个node表示类似于生产线上的工人,各自负责各自的小工作。本节目标:建立一个ros package方法:// 先进入src文件夹下面cd src// 建立工作包catkin_create_pkg <package_..原创 2021-03-19 17:27:25 · 443 阅读 · 1 评论 -
ROS 踩坑之路(一) 初始化工作区间
目标:新建一个ros工作区间:// 先新建一个文件夹test工作区间,并含有一个src文件mkdir -p test/src// -p的含义为保证文件夹存在,如果不存在则创建文件//初始化工作区间//切换到你的workspace cd test// 运行catkin_makecatkin_make// 网上也有帖子说需要切换到src目录下运行catkin_init_workspace// 实际使没有必要的,因为catkin_make其实是一个组合操作,包含了上述操作//原创 2021-03-19 17:03:25 · 477 阅读 · 0 评论