ROS
文章平均质量分 65
泠山
欢迎提出任何想法和指正,没回复多半是太忙了
展开
-
使用 ROS 的几个注意事项
sudo rosdep init && rosdep update 时,提示 “rosdep: command not found”。因为使用的zsh,如果直接使用以下命令,解决方式:老老实实安装 rosdep。原创 2023-11-09 10:44:26 · 220 阅读 · 0 评论 -
错误日志:cmake error while loading shared libraries No such file or directory | ldd =>not found
有一个 C++ 工程,直接使用 CMakeLists.txt 编译出来好好的,可以直接执行;导致的,详细原因请参考第二个参考文献。指令,发现确实动态库没链接上。原创 2023-01-12 20:02:13 · 1434 阅读 · 0 评论 -
ROS 和 ROS2 架构和通信
ROS 和 ROS2 架构和通信1. ROS 架构设计1.1 OS 层1.2 中间层1.3 应用层2. ROS 的通信机制2.1 话题通信机制2.1.1 Talker 注册2.1.2 Listener 注册2.1.3 ROS Master 进行信息匹配2.1.4 Listener 发送连接请求2.1.5 Talker 确认连接请求2.1.6 Listener 尝试与 Talker 建立网络连接2.1.7 Talker 向 Listener 发布数据2.2 服务通信机制2.2.1 Talker 注册2.2.2转载 2021-07-24 12:52:24 · 4005 阅读 · 0 评论 -
C++11中std::function和std::bind及在ROS12中的使用
C++11中std::function和std::bind及在ROS2中的使用1. 可调用对象Reference:C++11 中的std::function和std::bind1. 可调用对象在 C++11 中经常提及 Callable object,即所谓的 可调用对象,常见的可调用对象有以下几种:functionmember functionfunction objectlambda expressionbind expressionC++11 中提供了 std::funct原创 2021-03-25 23:25:35 · 1160 阅读 · 0 评论 -
rostopic 只echo部分信息
例:当echo topic: /radar_all_tracker时,如果只想接收 header,使用方式如下,ros2 topic echo /radar_all_tracker | grep header -A4-A4表示接收 header 后四行原创 2021-01-29 10:01:57 · 6387 阅读 · 0 评论 -
ROS中可执行文件的remap方法
ROS中可执行文件的remap方法以 tidl_3d_node 为例ROS1中的remap方式为:./tidl_3d_node --cfg ./app_tidl_3d.cfg /nv12_image:=/nv12_image_frontROS2中也可以使用上述方法,但更好的替代方案为:./tidl_3d_node --cfg ./app_tidl_3d.cfg --ros-args --remap /nv12_image:=/nv12_image_front此时 topic /nv12_i原创 2021-01-11 10:55:12 · 619 阅读 · 0 评论 -
ROS Client Library-roscpp
ROS Client Library1. ROS Client Library 简介roscpp1. ROS Client Library 简介ROS 为机器人开发者们提供了不同语言的编程接口,比如 C++ 接口叫做 roscpp、Python 接口叫做 rospy、Java 接口叫做 rosjava。尽管语言不通,但这些接口都可以用来创建 topic、service、param,实现 ROS 的通信功能。Client Library 有点类似开发中的 Helper Class,把一些常用的基本功能做了原创 2020-11-23 10:56:31 · 383 阅读 · 3 评论 -
ROS 2 基本命令总结
创建一个称作Num.msgint64 num该自定义消息,传输一个名为num的64位整数。创建一个称作int64 aint64 bint64 c---int64 sum该自定义消息,它 request 三个名为 a、b 和 c 的整数,并用一个名为sum的整数 respond。原创 2020-10-20 17:36:43 · 8815 阅读 · 4 评论 -
ROS中的setup.bash
在创建了ROS的workspace后,需要将workspace中的setup.bash文件写入~/.bashrc 文件中,让其启动,就像这个样子:source /opt/ros/melodic/setup.bash写入和打开方式(vim打开也阔以):sudo gedit ~/.bashrc这句话的目的就是在开新的terminal的时候,运行这个setup.bash,而这个setup.bash的作用是让一些ROS* 开头的命令可以使用。在工作空间的devel文件夹中存在几个setup.*sh形式原创 2020-10-20 14:57:04 · 12983 阅读 · 3 评论 -
ROS:catkin/CMakeLists.txt
ROS:catkin/CMakeLists.txt1. 简介2. 完整的结构和顺序2.1 CMake版本2.2 功能包名2.3 寻找依赖CMake功能包2.3.1 find_package() 是做什么的2.3.2 为什么Catkin功能包被指定为了Components2.3.3 Boost2.4 catkin_package()2.5 指定搭建目标2.6 Messages, Services, 和Action Targets2.6.1 重要的先决条件/约束2.6.2 实栗1. 简介文件CMakeLis原创 2020-07-23 14:58:34 · 435 阅读 · 0 评论 -
解决rosbag时间戳未对齐的解决方法
rosbag时间戳未对齐的解决方法Reference:ROS.org: rosbag/Cookbook : http://wiki.ros.org/rosbag/Cookbook.rosbag在存储时间时,接收消息的时间和生成消息的时间可能会有很大的差别。例如:程序处理速度慢导致的消息延后; 消息在慢速播放时被记录;Synchronizer的msg传入过晚…因此,使用每个topic内的header时间作为播放时的时间戳(rosbag record时间使用的是当前的电脑时间)不失为一种比较奈斯的方法:原创 2020-08-14 18:21:28 · 9951 阅读 · 7 评论