ROS
sdhdwyx
此人不懒,但是什么都没有写
展开
-
ubuntu20.04安装配置openMVG+openMVS
主要跟着官方教程逐步安装。原创 2024-06-18 17:23:15 · 311 阅读 · 0 评论 -
ROS多线程处理方法
需要注意的是, 最好使得每个子流程的处理时间相近, 若子流程之间有相互逻辑关系, 需要加入一些其他的控制标识量.下面线程函数中的循环, 可用于处理耗时较高的任务, 例如地图建模/点云分割/运动规划等。(2) 将耗时高的算法流程分解为多个相对独立的子流程, 每个子流程放在一个新线程中.对于流程较长且循环执行的算法, 如果将所有处理任务都放在一个ROS节点的主线程中,下面主函数中的循环, 可用于处理耗时低的任务, 例如传感器数据回调函数。ROS本身占用计算资源较多, 且多传感器的时间戳不同步.原创 2024-06-12 10:02:28 · 267 阅读 · 0 评论 -
Ubuntu在Docker环境中使用ROS并使用GPU的启动命令
bashrc 文件。原创 2024-04-22 14:17:32 · 119 阅读 · 0 评论 -
Ubuntu修改文件夹下面所有文件权限的方法
ubuntu修改文件夹下所有文件权限方法原创 2022-10-23 11:57:06 · 23738 阅读 · 1 评论 -
提取rosbag中的图像话题存为本地图像
新建存放图片文件夹在目标文件夹目录下运行$ rosrun image_view extract_images _sec_per_frame:=0.05 image:=<ROSIMAGESTOPIC>其中<ROSIMAGESTOPIC>为rosbag中的图像话题名称打开另一个终端播放rosbag$ rosbag play <BAGFILE>其中<BAGFILE>为rosbag文件路径...原创 2022-04-21 19:57:15 · 859 阅读 · 0 评论 -
Error opening Velodyne socket dump file 的一种可能解决方法
在使用Velodyne功能包读取pcap点云数据并发布时运行roslaunch velodyne_pointcloud 32e_points.launch报错如下:搜索原因发现可能是pcap文件路径不完全导致的于是在launch文件中做如下修改:修改前:修改后:这里的home路径不能用~代替,记录下。REF:https://github.com/ros-drivers/velodyne/issues/118记录使用velodyne的参考:http://wiki.ros.org/v原创 2021-07-29 15:53:16 · 411 阅读 · 1 评论 -
读取csv文件中的IMU数据并以sensor_msgs/Imu格式发送
读取csv文件中的IMU数据并以sensor_msgs/Imu格式发送 20210724项目需要将所给的csv表格中IMU数据读取并转化为sensor_msgs/Imu格式,以便于后续使用数据跑定位算法。csv表格:读取csv文件code:ifstream inFile("(csv文件绝对路径)", ios::in); //vector<string> stamp,Yaw,Pitch,Roll,Ve,Vn,Vu;if (!inFile){ cout <&l原创 2021-07-24 10:55:13 · 1666 阅读 · 2 评论 -
使用PX4+mavros+gazebo实现无人机offboard控制仿真
使用PX4+mavros+gazebo实现无人机offboard控制仿真首先需要安装好ROS,gazebo,PX4,mavros,QGroundControl等工具,安装过程参考链接:操作系统:Ubuntu18.04ROS:http://wiki.ros.org/cn/melodic/Installation/Ubuntu(官网教程链接) 安装其中桌面完整版(ros-melodic-desktop-full)自带gazeboPX4:https://www.cnblogs.com原创 2021-07-17 10:21:25 · 7920 阅读 · 5 评论 -
conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’解决
问题参考及解决:https://github.com/ethz-asl/lidar_align/issues/16终端输入:sudo mv /usr/include/flann/ext/lz4.h /usr/include/flann/ext/lz4.h.baksudo mv /usr/include/flann/ext/lz4hc.h /usr/include/flann/ext/lz4.h.baksudo ln -s /usr/include/lz4.h /usr/include/flann/原创 2021-05-16 20:48:01 · 661 阅读 · 0 评论 -
cmake错误:Could not find a package configuration file provided by 的一种解决方法
错误截图如下:解决方法:我工程中CMakeLists.txt文件的find_package函数截图如下:将后三个非官方的包单独分离出,重新写在find_package函数里面:再次cmake,问题解决。原创 2021-05-16 11:00:19 · 11323 阅读 · 5 评论 -
Eigen删除矩阵的某行或某列
删除矩阵某一行:void RemoveRow(Eigen::Matrix3Xd& matrix, unsigned int rowToRemove) { unsigned int numRows = matrix.rows() - 1; unsigned int numCols = matrix.cols(); if( rowToRemove < numRows ) { matrix.block(rowToRemove,0,numRows-rowToRemove,nu原创 2021-05-08 15:39:48 · 2146 阅读 · 1 评论 -
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?问题:解决方案:1、ps afx|grep apt执行这个命令查看apt的进程,如图中apt进程号为30原创 2021-04-26 11:26:08 · 1091 阅读 · 0 评论 -
Ros学习笔记(六)Launch启动文件
Launch启动文件的使用前面创建多个节点,启动时需要分别打开shell并执行这些节点,可以通过启动文件(launch)来改变这种启动方式。在包文件夹中创建目录launch,并在文件夹中创建一个chapter2.launch文件,在文件中输入以下命令行:<?xml version="1.0"?><launch><node name = "example1a" pkg="chapter2_turtleial" type="example1a" output="scree原创 2021-03-08 20:11:47 · 168 阅读 · 0 评论 -
Ros学习笔记(五)创建Ros服务
创建Ros服务创建一个用于节点中的srv文件。在包文件夹中创建一个srv文件夹,并在其中创建一个chapter2_srv.srv文件,并在其中添加以下命令行:int32 Aint32 Bint32 sum其中A和B是来自客户端的请求数据类型,sum是来自服务器的响应数据类型。在package.xml中找到以下命令行并取消注释<build_depend>message_generation</build_depend><exec_depend>messa原创 2021-03-08 20:09:48 · 264 阅读 · 0 评论 -
Ros学习笔记(四)创建Ros消息
学习如何使用.msg文件创建用户自定义的消息,并且在节点中使用这些自定义消息,这包含一个关于要传输的数据类型的标准。首先在chapter2_turtleial包中创建一个msg文件夹,在文件夹中创建一个chapter2_msg.msg文件,并添加以下命令行:int32 Aint32 Bint32 C此外在package.xml文件中查找以下命令行并取消注释:<build_depend>message_generation</build_depend><exec_原创 2021-03-08 20:02:44 · 333 阅读 · 0 评论 -
Ros学习笔记(三)创建节点及节点之间通信
本节创建两个节点,一个用于发布数据,另一个节点接收该数据。定位到工作区的src目录下,创建两cpp文件。example_1a.cpp#include "ros/ros.h" //包含ros节点所需的全部文件#include "std_msgs/String.h" //用于向ros计算网络发布消息的类型头文件#include <sstream>int main(int argc,char **argv){ros::init(argc,argv,"example1a"); //初始化节原创 2021-03-08 19:58:51 · 994 阅读 · 0 评论 -
Ros学习笔记(二)创建功能包
创建功能包使用终端命令:$ cd ~/catkin_ws/src$ catkin_create_pkg chapter2_turtleial std_msg roscpp这条命令中包括功能宝的名称和依赖项,本例中依赖项包括std_msg和roscpp。然后需要对功能包进行编译,在工作空间路径下运行catkin_make命令再对功能包进行编译:$ catkin_make --pkg <package name>...原创 2021-03-08 19:51:46 · 189 阅读 · 0 评论 -
Ros学习笔记(一)创建工作空间
创建工作空间查看工作空间命令:$ echo $ROS_PACKAGE_PATH创建和初始化工作空间的命名:$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/src$ catkin_init_workspace成功创建一个空的ROS工作空间,其中只包含一个CMakeList.txt文件。编译工作空间:$ cd ~/catkin_ws$ catkin_make完成工作空间的配置:$ source devel/setup.bash(这条命令语句只原创 2021-03-08 19:49:30 · 313 阅读 · 0 评论 -
Ros简单程序编写及使用类Hello World
创建工作区和功能包1、创建工作区:使用mkdir命令创建一个目录作为工作区,区内创建一个叫做src的子目录,存放功能包的源代码。2、创建功能包:catkin_create_pkg package-name创建了一个存放功能包的目录,并在那个目录下生成两个配置文件。1.package.xml(清单文件)2.CMakeLists.txt,CMake脚本文件,包含一系列编译指令,包括生成的可执行文件,需要的源文件和需要的头文件和链接库。3、编辑清单文件:编译package.xml文件编写一个简单的hel原创 2021-03-08 19:44:47 · 529 阅读 · 0 评论 -
Ros基本概念及小乌龟程序学习
1. 功能包/软件包(Packages)实现特定功能的相关文件集合,包括可执行文件和其他支持文件查看所有包命令:rospack list2. 节点管理器(The Master)Ros基本目标是使很多称为节点(node)的几乎相对独立的小程序能够同时运行,为使节点之间可以通讯,启用节点管理器命令:roscore 停止:Ctrl + C3. 节点(Nodes)启动节点命令:rosrun package-name executable-name查看节点列表:rosnode list(节点名不原创 2021-03-08 19:36:05 · 335 阅读 · 0 评论 -
Ros安装过程及sudo rosdep init失败解决方法
Ros安装REF: http://wiki.ros.org/cn/melodic/Installation/Ubuntu(官方教程)遇到问题:sudo rosdep init不成功,报错如下:ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be原创 2021-03-08 19:31:01 · 1197 阅读 · 0 评论