
ROS
文章平均质量分 54
进来感受机器人操作系统的魅力,在计算机视觉和无人驾驶领域做出你的突破吧!
振华OPPO
命由我作,福自己求;勇于改过,邪念不生;祸福无门,惟人自召;谦虚谨慎,虚己待人。——《了凡四训》
展开
-
ros使用rviz订阅Image类型话题,显示yolov7目标检测结果
教你如何订阅yolov7发布的话题原创 2023-09-28 19:34:13 · 1367 阅读 · 0 评论 -
ROS订阅Image话题,转换为OpenCV图像
当cv_bridge将ROS的图像消息转换为OpenCV图像格式时都是通过CvImage类实现的。一般来说,cv_bridge提供了两种方式转换为CvImage类,分别为复制(copy)和共享(share)。需求:从realsense相机发布的话题中拿到rgb图像和depth图像,并进行后续处理。也是将msg转换为 CV_8UC3 的图像,但是它只指向转换后的图像,格式为cv::Mat。是将msg转换为 CV_8UC3 的图像,然后得到指向msg的共享指针,就是取得图像,格式为cv::Mat。原创 2023-07-22 08:30:00 · 1658 阅读 · 0 评论 -
ROS将OpenCV图像转换为Image话题发布
下面在while循环中定义两个cv::Mat对象rgb和depth接收读取的图像,深度图选-1,彩色图选1。需求:将TUM数据集中rgb图像和depth图像分别作为Image类型的话题发布。函数转换OpenCV图像为ROS图像,该函数的输入有三个:标准消息包的头、图像编码和OpenCV源图像,再调用toImageMsg()转换为图像消息。最后通过发布对象publish消息,loop_rate.sleep()控制每个循环的时间相同。原创 2023-07-20 11:26:57 · 1099 阅读 · 0 评论 -
ROS话题通信自定义msg
在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty… 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如: 激光雷达的信息… std_msgs 由于描述性较差而显得力不从心,这种场景下可以使用自定义的消息类型。int8, int16, int32, int64 (或者无符号类型: uint*)string。原创 2023-07-16 06:00:00 · 2289 阅读 · 2 评论 -
ros::spin()和ros::spinOnce()的详解
这是因为在订阅过程中,如果发布方频率过快,而订阅方在回调函数中处理时间很长,则后面发布的话题的callback就会进入队列,这个队列就是订阅缓冲区,而等到上一次的callback结束后,subscribe会在回调函数队列中找到时间戳最早的那一个进行回调,这样可以防止遗漏。当处理到ros::spinOnce()时,会去话题订阅缓冲区中查看有没有回调函数,如果有则去处理回调函数,如果没有则继续往下执行,ros::spinOnce()不会一直卡在回调函数里面,只回调一次。原创 2023-07-03 06:30:00 · 3399 阅读 · 1 评论 -
ERROR: Cannot load message class for [ros_vo/Pose]. Are your messages built?
因为我们自定义的msg并不是ros自带的,因此我们在订阅话题前必须要刷新下环境变量,让ros能找到当前工作空间下的自定义msg。原创 2023-07-02 06:30:00 · 986 阅读 · 0 评论 -
ROS自带OpenCV和本地OpenCV版本冲突问题解决
查找报错分析是cv_bridge默认调用的是ros自带的OpenCV版本3.2.0,我本地安装的是OpenCV3.4.5,在功能包下的CMakeLists.txt中找的package也是3.4.5,所以导致cv_bridge报错。首先catkin_make编译功能包没有任何问题,100%生成目标文件,但是报了警告:库文件libmyslam.so需要的是libopencv_core.so.3.4,可能会与libopencv_core.so.3.2冲突。探索了1小时,试了多种方法,最后总结出自己的一套方法。原创 2023-06-29 17:08:22 · 5434 阅读 · 5 评论 -
Could NOT find cv_bridge (missing: cv_bridge_DIR)
catkin_make:build报错信息显示如下:由于安装ROS时没有安装它的opencv模块,导致没有cv_bridge库,输入命令安装即可:然后会显示即将安装的软件列表,确认无误后输入y回车进行安装。然后会显示即将安装的软件列表,确认无误后输入y回车进行安装。再次catkin_make:build发现程序运行成功。原创 2023-02-28 20:11:52 · 1910 阅读 · 1 评论 -
安装ros-melodic遇到的各种问题及解决方法
就是不要关闭【软件和更新】里面的更新设置,全部通知。我因为取消自动更新通知导致一直报错,折腾到十一点才解决这个问题,先前安装ros从未遇到的一个问题。2、选择【清华】镜像源,然后重新apt-get update,再install。本博客一直会更新,大家可以将自己的问题和解决方法投稿,可以给后面的初学者铺好路。1、安装包包名写错,所以无法定位,检查是否拼写正确。原创 2021-10-18 09:00:00 · 3825 阅读 · 2 评论 -
rosdep init 和rosdep update的解决方法,亲测有效
sudo rosdep initrosdep update原创 2022-03-05 15:06:28 · 1959 阅读 · 2 评论 -
ROS保姆级0基础入门教程⭐ |第一章 ROS的概述与环境搭建(4万字教程,建议收藏)
ROS全称Robot Operating System(机器人操作系统)ROS是适用于机器人的开源元操作系统;ROS集成了大量的工具,库,协议,提供类似OS所提供的功能,简化对机器人的控制;还提供了用于在多台计算机上获取,构建,编写和运行代码的工具和库,ROS在某些方面类似于“机器人框架”;ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体。原创 2021-07-29 14:27:18 · 18428 阅读 · 60 评论