昼行plus
学而知菜,菜而后学……
杂而不精,去杂就精……
展开
-
Python 订阅 image_transport 压缩后的深度图 compressedDepth
是ros的一个图像处理工具,可以很方便地进行图像数据的压缩,可惜当你如下安装了image_transport及其plugin后运行可看到如下内容一些原因就需要用python订阅压缩后的图像,CV_8U的RGB或者灰度图(image_transport/compressed)倒是好订阅解压,而深度图常用的数据类型是CV_16UC1和CV_32FC1(像素值范围分别为[0,65535], [0,1.0],单位通常为mm和m。),其压缩方法与RGB图像有一些出入。原创 2023-11-23 20:47:33 · 945 阅读 · 0 评论 -
OpenCV数据类型及CV_16UC1深度图ros订阅
这是因为我们的深度最大值远达不到 16U可表达的最大值65535, 现在imshow把所有像素值都除以255,那么深度图的有效范围可能由原来的[300, 1200], 变成了近似[1, 4]。并且只能看到一片黑暗。整型数据的范围根据其比特数确定,如CV_8U即8bit 无符号整型范围是[0,255], CV_16U是[0, 65535]比如一般RGB图像是CV_8UC3, 灰度图是CV_8UC1,深度图一般是CV_16UC1或CV_32FC1。32F, float---------单精度浮点型。原创 2023-11-23 19:16:40 · 1366 阅读 · 0 评论 -
解决ros2 play ros1的bag时的rosbag2_storage.so问题
很多文章都是先source ros1 然后source ros2,再play bag。为使ros1和ros2的bag一直互通。原创 2023-11-20 23:51:52 · 308 阅读 · 0 评论 -
ros2 中 深度图像转雷达扫描节点 “depthimage_to_laserscan” 的变动
节点名称: depthimage_to_laserscan -> depthimage_to_laserscan_node。话题名称: image -> depth;原创 2023-11-03 10:41:11 · 308 阅读 · 0 评论 -
Gazebo无法启动常规解决方案 及 nav2_bringup tb3_simulation_launch.py的GazeboGazebo无法启动问题
断网再开gazebo.评价: 方便且有效, 但来回联网很麻烦参考: https://blog.csdn.net/James___H/article/details/116906217。原创 2023-10-12 17:12:45 · 655 阅读 · 0 评论 -
ROS->ROS2, ROS2的安装、测试及过渡方法/工具收集
本文参考做了摘要,以便后用。ROS1目前有可以选择,但未来ROS2才是应用领域的主流。原创 2023-07-28 23:28:36 · 293 阅读 · 0 评论 -
pycharm 的ros配置
的时候就不会再报错,并且会有函数提示。简单来讲,在这里加上路径即可。原创 2023-04-16 03:10:35 · 684 阅读 · 2 评论 -
Ubuntu18.04安装onnxruntime(c++版)与CUDA运行Demo
根据项目需求,从pytorch转的onnx模型做部署。怎么转忘了做笔记了,大家自行搜索吧……原创 2022-11-27 10:21:29 · 2121 阅读 · 0 评论 -
C++ 下sensor_msgs::PointCloud2数据的高效读取
之前写过,前备知识就不再写一遍了,需要的话可以点进去看了再来。如果你看过python的版本并尝试过就会深有体会,即便已经把流程简化到不能在简化了,的速度也就顶多到。而我接下来介绍的方法()版本则是!原创 2022-11-24 11:28:07 · 2116 阅读 · 0 评论 -
Python下sensor_msgs.msg.PointCloud2数据的高效读取
最后贴一下我用的PointCloud2发布和订阅的代码吧#!""" # # 查看python 版本 import platform print(f"python version: {发布点云数据,:param msg_sub: 订阅的消息:param data: 预测后的数据。原创 2022-11-23 00:54:02 · 1938 阅读 · 0 评论 -
远端rostopic的本地rviz调用及显示
假设机器人的IP: 192.168.0.11 // remote computer (robot)本地PC的IP: 192.168.0.111 // local computer Ubuntu (host)查看IP地址的方法: 参考1,参考2本地PC通过ssh链接远端机器人,如利用Mobaxterm或VSCode在远端的命令行终端内输入如下命令:然后以ROS调用USB双目摄像头模组为例,跑通后会有如下一堆topic:然后打开本地PC的终端,输入如下命令: “11311”代表啥目前我还不清除……原创 2022-06-28 13:05:57 · 703 阅读 · 0 评论 -
CMake/ROS下调用anaconda的pytorch及numpy传参CV::Mat给python
系统:ubuntu 18.04前文Cmake/Gcc调用 Python模块演示了调用ubuntu自带python3.6的情况。这次演示下与anaconda混合编程的情况:上篇文章根据官网的获取链接命令方法:得不到类似 -lpython3.9的内容target_link_libraries部分直接写 -lpython3.9 会找不到Python.h涉及的各种函数从而无法通过编译。最后解决方法也很简单,我们直接给路径就完了:然后就可以类似OpenCV一样进行 include_directories 和原创 2022-07-09 11:02:00 · 962 阅读 · 0 评论 -
ROS+Pytorch的联合使用示例(语义分割)
本篇根据 ROS图像的Deeplab v3+实时语义分割(ROS+Pytorch)进行踩坑记录,并附加一些对应操作的理解。(自觉有很多理解不到位的地方,若有大佬路过还请不吝赐教!)首先,上面那篇文章写的非常好!代码也很nice,本文对其代码进行了稍微改动了一下,gitee地址代码里的vision_opencv的github地址为https://github.com/ros-perception/vision_opencv这里主要用到了里面的cv_bridge。因为在Ubuntu18.04下,ros的p原创 2022-06-29 22:38:51 · 2917 阅读 · 1 评论 -
ubuntu 的 kitti2bag安装与测试
安装kitti2bag包:卸载anaconda!!!anaconda会与ros冲突,问题很难解决,所以只能留一个!国内安装:sudo pip install pandas==0.23.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.comsudo pip install pykitti -i http://pypi.douban.com/simple --trusted-host pypi.douban.comsu原创 2022-04-25 11:08:07 · 2450 阅读 · 1 评论 -
ROS serial 读取IMU数据, 打包发布topic
一、查看 usb 挂载情况ls -l /dev/ttyUSB*修改串口权限sudo chmod 777 /dev/ttyUSB0不过上面方法是临时的,每次启动都要输入一次,永久办法如下:sudo gedit /etc/udev/rules.d/70-ttyusb.rules内容输入:KERNEL=="ttyUSB[0-9]*", MODE="0666然后sudo chmod a+rw /dev/ttyUSB0安装serial包sudo apt-get install ros-原创 2022-03-08 22:45:44 · 2543 阅读 · 0 评论 -
ORB-SLAM的USB双目摄像头测试
首先关于如何调用USB双目摄像头请先移步链接按照上面链接配置好后,执行rostopic list你应该可以找到两个比较关键的节点:/left_cam/image_raw 和 /right_cam/image_raw然后是ORB-SLAM2的安装与配置如果根据上面的链接ORB-slam2已经跑通Demo接下来我们要修**/orb_slam_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_stereo.cc**找到message_filters原创 2022-02-08 20:40:44 · 1878 阅读 · 0 评论 -
ROS调用USB双目摄像头模组
本篇文章内容大多来自古月居的ROS&OpenCV下单目和双目摄像头的标定与使用但这篇文章代码漏洞太多,严重影响正常实现,故把自己跑通的过程及代码写在下面:双目摄像头首先得确认你的双目摄像头属于独立的还是合成的独立图像的双目摄像头:使用的双目摄像头在计算机中是按两个独立的设备呈现的。这种比较简单,分别作为一个ros_node发布即可。合成图像的双目摄像头:使用的双目摄像头在计算机上是一个设备,即将两个摄像头的图像合成为了一副图像,此时需要先将一幅图分割为左右两幅,再分别作为一个ros_no原创 2022-01-27 22:52:06 · 8253 阅读 · 15 评论 -
Clion 的 ROS配置
首先是一些基本操作了:1)创建一个基本的ROS包,创建和构建ROS工作空间:mkdir -p test/srccd testcatkin_make2)在工作空间中,创建一个名为my_package的包:cd srccatkin_create_pkg hello roscpp rospy std_msgs之后是Clion的配置首先你需要打开命令行窗口,source下你的工作空间(注意修改ros版本,我的是melodic):source /opt/ros/melodic/setup.ba原创 2021-12-31 15:41:08 · 2868 阅读 · 2 评论 -
VS Code 编写Ros的python文件 配置后不能自动补齐
配置部分首先复制workspace下/devel/lib/python2.7/dist-packages的路径(noetic是python3)到.vscode下的setting.json文件中setting.json{ "python.autoComplete.extraPaths": [ "/opt/ros/noetic/lib/python2.7/dist-packages", "/xxx/yyy工作空间/devel/lib/python2.7/dist-原创 2021-08-25 10:31:47 · 497 阅读 · 5 评论 -
missing <odometrySource> default is 1 ; missing <publishTf>, defaults to 1
运行Gazebo的时候报下面的警告[ WARN] [1465156368.902100026, 1017.888000000]: DiffDrive(ns = //): missing <odometrySource> default is 1[ WARN] [1465156368.902473604, 1017.888000000]: GazeboRosDiffDrive Plugin (ns = ) missing <publishTf>, defaults to 1解决转载 2021-08-20 09:22:45 · 3434 阅读 · 6 评论 -
Unable to convert from SDF version 1.7 to 1.6
最近在b站上学ROS系统,在学Gazebo的时候发现会报标题上的错误,只需要按照下面把world文件的第一行改成如下即可<sdf version = '1.6'>原创 2021-08-20 09:17:29 · 3260 阅读 · 4 评论 -
标准的球体、圆柱与立方体的惯性矩阵 的 xacro 封装实现
球体<!-- Macro for inertia matrix --> <!-- m:质量 r:球体半径 --> <xacro:macro name="sphere_inertial_matrix" params="m r"> <inertial> <mass value="${m}" /> <inertia ixx="${2*m*r*r/5}"转载 2021-08-19 11:28:47 · 1120 阅读 · 0 评论 -
ROS通信常用命令汇总
最近学ROS,想对可能有用的命令(加粗)做个笔记节点命令:rosnoderosnode ping 测试到节点的连接状态rosnode list 列出活动节点rosnode info 打印节点信息rosnode machine 列出指定设备上节点rosnode kill 杀死某个节点rosnode cleanup 清除不可连接的节点话题通信相关:1、rostopic用于显示有关ROS 主题的调试信息,包括发布者,订阅者,发布频率和ROS消息。ro转载 2021-08-11 09:54:23 · 247 阅读 · 0 评论 -
VSCode中编译ROS的配置文件
快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build可以点击配置设置为默认,修改.vscode/tasks.json 文件{// 有关 tasks.json 格式的文档,请参见// https://go.microsoft.com/fwlink/?LinkId=733558“version”: “2.0.0”,“tasks”: [{“label”: “catkin_make:debug”, //代表提示的描述性信息“type”: “shell”,转载 2021-08-17 12:05:41 · 215 阅读 · 0 评论