- 博客(30)
- 收藏
- 关注
原创 ROS中gapping建图和hector建图的区别
hector则是相关的激光雷达进行定位,但是激光雷达在参照物不变的情况下会变得无法定位。使用里程计虽然有误差但是至少可以实现相关的定位。gapping主要是里程计在进行相关的定位。把两者进行结合可以进行误差的消减。如上图为激光雷达定位一直卡着。
2023-09-04 20:10:46 191
原创 ROS中TOPIC继续深刻解析
NodeHandle可以理解为一个标题的大管家,底下大管家进行快上车开黑群的话题的发布,String是发布的类型。就算两个节点进行互动的一个空间,就好比你想找队友进行开黑,这时候TOPIC就好比一个开黑群。spinonce函数就算回头看有没有信息在发送,相当于你打开手机看有没有开黑信息。头文件中的引用,以及最后pub进行话题的发布,底下是延迟。先在主函数中调用ros中的函数,10就是每秒10次发布。在cmake中创建相关依赖。回调函数可以当作中断进行处理。什么是话题TOPIC?
2023-08-22 10:49:44 76 1
原创 Ubuntu上超级终端Terminator
右键水平分割后成这样,方便同时需要打开几个终端的情况出现。按下ctrl+alt+t打开terminator。和ubuntu自带终端差不多。
2023-08-21 20:47:30 402 1
原创 ROS2中模块化可视化工具:RQT
introspection中的node group是对节点进行绘制。topic中的message passord发送话题或者改变话题。visualization中的plot显示订阅信息。终端输入rqt启动rqt。logging:日志信息。
2023-08-18 14:18:48 158 1
原创 ROS2中的分布通信以及树霉派的使用。
分布通信的意义:减少资源消耗,提高处理效率。这是使用树霉派与电脑进行分布通信的过程。用ssh把电脑终端切换为树霉派的终端。在最后一行添加此,组别31可以更换。分组通信,处于同一个小组才可通信。用vi命令进入bashrc。用ping命令进行连接。
2023-08-16 14:26:58 84 1
原创 ROS中的参数
参数是ros中的全局变量,可用于多个节点进行数据的共享。ros2 param list进行许多参数的查询。参数的作用:调节在程序中的数值,进行简单化改变。可用ros2 param对参数进行查询。将参数保存到相关文件里面,yaml结尾。修改过的文件参数重新显示。显示该节点的所有参数。获取参数的具体数值。改变参数的具体数值。
2023-08-15 19:57:38 45
原创 ROS2中的通信接口与动作
ros中通信接口分为硬件接口和软件接口。话题,服务和动作分别用不同位的数据进行储存。第一个图GetObjectPosition是自定义的服务接口。第二个图是里面内容。如上图是通过ros来运行海龟进行360旋转。这是客户端终端运行和相关py代码。这是服务器终端运行和相关代码。这是对其度数进行反馈。
2023-08-15 19:38:50 41
原创 ROS中的服务概念
之前知晓了话题是服务器发布给客户端的,但有时候话题很难满足客户端所需要的要求,这便需要服务了,服务是节点间的你问我答。二、客户端请求服务器进行目标识别,服务器用opencv进行相关识别并进行x,y坐标的标示。一、用话题来进行客户端提供数字,服务器来进行相加并反馈给客户端。这是服务器进行启动摄像头并把相关x,y信息返回给客户端。这是运行摄像头步骤。
2023-08-14 16:31:21 26
原创 ROS2中的话题定义以及用opencv和人ROS2自带的usb_cam进行摄像头设别。
ros中的话题主要分别发布者和订阅者,发布者发布一个话题之后,订阅者在一个发布周期内都可以进行相关的使用。上图左边是发布者右边是订阅者的代码执行大概路径。直接运行ros2 run usb_cam usb_cam_node_exe,启动摄像头。这是使用opencv的发布者, 用此来进行发布相关话题,用下面订阅者来进行接收。终端输入以下代码注意修改foxy,修改为什么见以下链接。这是订阅者运行结果,摄像头一直在打开并进行图像处理。二、usb-cam进行图像处理。一、opencv进行图像处理。
2023-08-13 15:24:25 1252 1
原创 ROS2的一些常用命令
尤其注意运行ROS2的时候要与上面的文件路径放在一起不然找不到相关的包。(我用的是ununtu20.04,可能只针对此版本)是文件代码的书写格式。ROS2都通过此来进行。必不可少的是创建功能包以及编译功能包。
2023-08-12 20:54:39 26 1
原创 ROS中话题消息的定义和客户端的搭建以及过程中环境路径错误的解决。
所以ros出现环境路径问题时候,可能路径真的没问题的,就是不连续而已。本来好好的在写着ros,和往常一样新建文件夹以及定义msg文件。然后随意的把它和前面的数据路径保存一起运行,居然运行了。这类包一直找不到,用了好多方法,ros都重新安装了没用。启动roscore,地下噩梦就开始了。cmakelist包中添加编译选项。package中添加功能包依赖。
2023-08-11 17:10:26 39 1
原创 QT进行TCP通信
底下分别是服务器需要的函数QTcpServer和客户端所需要的函数QTcpSocket。QT进行TCP通信需要服务器和客户端两个方面。底下部分基本和前面服务器是相同的,可以慢慢搞出来。首先在pro文件下添加network。其次声明两个指针变量。
2023-08-08 23:15:10 74
原创 QT程序打包
注意上方的路径进入此界面。在桌面新建文件夹把以exe结尾的文件复制到其中。进入qt 控制中,找不到可以搜索qt,会弹出黑色的控制,进入就是如图所示。出现这种代码,点击你桌面上新建的文件夹中的.exe文件就可直接运行。用cd/d 命令进入桌面上创建的文件,可直接复制路径然后粘贴。文件保存的文件夹中多了一个以release结尾的文件夹。输入windeployqt加上exe文件名。点击切换到release模式。可通过dir查看是否正确操作。
2023-08-07 15:16:56 11 1
原创 QT串口助手的逻辑步骤
在weight.cpp添加此头文件主要作用是进行底下的if判断添加额外框架。在widget.h中添加QString头文件来进行接受到的数据的一个暂时缓存。在昨天weight.cpp中创建一个serialNameport。在 weight.cpp使用connect语句进行信号与槽的链接。在头文件中添加此函数目的是接收信号用此来进行信号与槽的跳转。跳转到发送数据的槽进行发送数据以及位数的转换。分别创建头文件和*serilaport。在头文件中创建如图所示内容。最后是进行一个数据的清空。在底下填补此函数内容。
2023-08-06 16:26:30 19
原创 23.8.5 QT图像的插入以及串口通信的图像框架
如要使用相关图像,右击相关按键编辑样式图标,点击添加资源旁边的符号(记住是旁边的符号而不是添加资源)。点击第二个会显示添加在文件夹中的图片。右击文件找到并点击添加新文件,结果如下图点击。在后台把所需要的图片添加到之前的文件的途径下。在文件中找到添加的资源文件并进行前缀修改。底下的图形是串口号等旁边的可下拉界面图形。继续下一步进入此界面。一、qt图像的插入方法。二、串口通信的图像框架。
2023-08-05 23:15:29 36 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人