
ROS
文章平均质量分 65
火柴的初心
这个作者很懒,什么都没留下…
展开
-
ros::spin()和ros::AsyncSpinner
是一个单线程,它根据消息到达的时间一一执行对应的回调函数,只有当前一个回调函数执行结束后,新的回调函数才能执行,:是一个多线程,将为每个回调函数创建一个自己的线程,这样就不存在。原创 2023-06-22 14:47:38 · 1098 阅读 · 0 评论 -
详解使用ament_cmake构建ROS2功能包
ROS2的构建系统叫做,它是基于CMake改进而来的。接下来将详细介绍一下ament。原创 2023-06-21 17:33:37 · 5286 阅读 · 0 评论 -
ROS相关问题汇总
1.运行roscore等待很久,出现Unable to contact my own server at [http://192.168.0.106:35099/]解决办法:在~/.bashrc添加环境变量ROS_HOSTNAME和ROS_MASTERexport ROS_HOSTNAME=localhostexport ROS_MASTER_URI=http://localhost:11311更新环境变量source ~/.bashrc2.[ERROR] [144653199原创 2020-11-05 12:47:43 · 973 阅读 · 0 评论 -
[ROS]问题记录
1.rosbag相关1) ERROR bag unindexed: xxxx-xx-xx-xx-xx.bag. Run rosbag reindex.问题描述:运行rosbag info,出现如下信息:ERROR bag unindexed: xxxx-xx-xx-xx-xx.bag. Run rosbag reindex.运行rosbag play xx.bag,出现如下信息:[ INFO] [1624972506.447439941]: Opening 2021-6-23-0103原创 2021-08-16 10:32:11 · 1232 阅读 · 0 评论 -
[ROS]launch文件(五)
转载 努力干活还不粘人的小妖精的文章,网址https://blog.youkuaiyun.com/qq_38402294/article/details/71512089来自参考书《ROS开源机器人控制基础》在ROS应用中,一般涉及多个节点,每个节点又有多个参数,可以编写.launch文件,然后用roslaunch命令运行。Launch文件名格式:<launch>…</...原创 2021-01-13 11:03:23 · 1510 阅读 · 0 评论 -
[ROS]message filters时间同步
1.message_filters介绍message_filters用于对齐多种传感信息的时间戳,对齐时间戳有两种方式,一种是时间戳完全对齐 :ExactTime Policy,另一种是时间戳相近:ApproximateTime Policy2.message_filters作用同时订阅并发布话题 时间同步3.message_filters实例头文件//ros头文件#include <ros/ros.h>//时间同步#include <message_fil.原创 2020-11-12 15:38:49 · 5688 阅读 · 18 评论 -
[ROS]ROS相关命令
1.roscore2.rosrun作用:运行ROS包节点。命令格式:rosrun package name executable name示例:rosrun turtlesim turtlesim node3.roslaunch命令格式:roslaunch package name file name.launch4.rosnode命令格式#测试node连通性(重命名后使用)rosnode ping#列出所有正在执行的节点rosnode list#打原创 2021-01-06 20:35:25 · 395 阅读 · 0 评论 -
[ROS]package.xml(三)
1.package.xml介绍package.xml 是啥呢?package嘛,软件包呗,其实它就是一个软件包的描述文件,描述了软件包的信息,比如啥名称、版本号、维护人员、许可证等等。它也是一个catkin的package必备文件,在较早的ROS版本(rosbuild编译系统)中,这个文件叫做 manifest.xml ,用于描述pacakge的基本信息。如果你在网上看到一些ROS项目里包含着 manifest.xml ,那么它多半是hydro版本之前的项目了。2.package.xml作用刚刚也说了原创 2021-01-07 22:42:29 · 388 阅读 · 0 评论 -
[ROS]CMakelist(二)
1.cmake_minimum_required()2.project()在CMake中,您可以随时在CMake脚本中随时使用变量$ {PROJECT_NAME}来引用项目名称。3.find_package()find_package(catkin REQUIRED COMPONENTS nodelet):这意味着由nodelet导出的include路径,库等也附加到catkin_变量。例如,catkin_INCLUDE_DIRS不仅包含catkin的include路径,还包含了nod.原创 2020-11-16 13:55:50 · 547 阅读 · 0 评论 -
[ROS]Catkint工作空间(一)
1.Catkin编译系统在Linux下编译器有gcc/g++,但是随着原文件数量的增加,直接使用gcc/g++的方式效率太低,于是出现了makefile来进行编译,然而随着工程文件的增加,makefile也不能满足编译的需求,于是出现了Cmake工具。Cmake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性。对于ROS这样大体量的平台来说,就采用的是CMake,并且ROS对C原创 2020-11-15 21:54:10 · 573 阅读 · 0 评论 -
nav982学习(2)
1.原始数据包 1.1原始数据包的结构体typedef struct{ float accelerometers[3]; float gyroscopes[3]; float magnetometers[3]; float imu_temperature; float pressure; float pressure_temperature;} raw_sensors...原创 2019-05-28 16:10:15 · 755 阅读 · 1 评论 -
ROS学习(五)命名空间
转载:https://www.cnblogs.com/zjiaxing/p/5541841.html全局命名空间:/rosout前面的反斜杠“/”表明该节点名称属于全局命名空间。之所以叫做全局名称因为它们在任何地方(包括代码、命令行工具、图形界面工具等的任何地方)都可以使用。无论这些名称用作众多命令行工具的参数还是用在节点内部,它们都有明确的含义。这些名称从来不会产生二义性,也无需额外的上...转载 2019-03-15 20:45:17 · 662 阅读 · 0 评论 -
ROS学习(四)QT开发
在学习ROS的时候,经常使用ROS Qtcreater进行ROS开发,自己现在对一些流程进行梳理,1.打开QT2.新建工程选择ROS Workpace3)建工作空间工作空间是以后软件包存放的一个仓库。新建完成后如图所示4)选择src文件,新建软件包(选择package)填写软件包的名称和catkin的依赖包5)新建完成后如果软件包...原创 2019-03-01 21:34:10 · 359 阅读 · 0 评论 -
ROS学习(三) ros::spin() 或 ros::spinOnce()
ros::spin() 或 ros::spinOnce()ros::spin() 或 ros::spinOnce()两个函数通常出现在ROS的主程序中,区别在于前者调用后不会返回,后者调用后还可以接着执行后面的程序。区别: 从其英文名字可以看出其中的差异,once表示“一次” ros::spin()在呼叫后不会再返...原创 2018-09-23 17:22:35 · 590 阅读 · 0 评论 -
ROS学习(二)NavSatFix.msg
1.sensor_msgs/NavSatFix.h源码# Navigation Satellite fix for any Global Navigation Satellite System## Specified using the WGS 84 reference ellipsoid# header.stamp specifies the ROS time for this m...原创 2018-09-07 20:56:41 · 7083 阅读 · 5 评论