自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 std_msgs::msg::Float32MultiArray()

【代码】std_msgs::msg::Float32MultiArray()

2025-04-08 20:58:23 290

原创 C++ 中成员变量初始化与 CAN 总线套接字的传递及应用

是 C++ 中的成员变量初始化列表语法,用于在构造函数中初始化类的成员变量。这是一种在对象创建时直接给成员变量赋值的方式,而不是在构造函数体中通过赋值语句来完成。的联系是通过构造函数参数传递和类成员变量的存储来实现的。是一个整数,表示 CAN 总线套接字的文件描述符。是构造函数的声明,表示构造函数接受一个参数 can_socket。函数,灵活地使用 CAN 总线套接字,而不需要依赖于全局变量。是成员变量初始化列表的一部分,表示将构造函数参数。函数中初始化的 CAN 总线套接字。类,并存储为类的成员变量。

2025-04-07 21:15:24 226

原创 c++数据传递的多线程

将当前Arm_Encoder对象传递给线程函数,以便线程可以访问类的成员变量和方法。发送一个取消请求给线程,强制终止线程。这个函数是线程的入口点,它接收一个。等待线程结束,确保资源被正确释放。类型的参数,该参数是传递给线程的。方法来处理CAN数据的接收。:用于创建一个新线程。类的构造函数中,通过。类的析构函数中,使用。

2025-04-07 21:02:16 164

原创 C++ 创建线程与安全结束线程

C++ 创建线程与安全结束线程

2025-04-06 18:10:15 68

原创 ros2中定时器在多线程中的注意事项

后续的回调会被延迟,直到前一个回调完成。通俗说就是后面的看到前面的还没完成,会在后面排队,前面的一旦完成就立刻补位。一秒产生一个新的定时器回调,但由于。执行时间,因此会现有5个回调函数被调用,当第一个回调函数处理完后,第二个回调函数由于只与第一个回调函数相隔。那么如何实现回调函数执行完毕后,创建定时器发布呢,感觉这个就比较类似多线程了。不能并行,所以后面产生的定时器回调只能在未完成的回调函数后面等待;被调用,因此过1s后便会被输出。创建一个,但是回调函数需要。由于是并发,所以定时器每。

2025-04-03 21:51:06 380

原创 ros2回调函数踩坑记录

(要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率),定时器的频率应是回调函数。相互调用,导致相互依赖,起初可能可以运行,但某一刻出现两个回调函。ros2运行一段时间后,话题还在,但不存在数据。数都不调用对方,之后就无法再发布新的数据。之后经过反复调试后发现问题。且逆解数据变成随机数字。最初考虑是否是数据溢出。

2025-04-02 22:49:58 156

原创 Ros2bag转CSV

【代码】Ros2bag转CSV。

2025-03-18 13:51:32 199

原创 ROS2回调组及多线程实现

直接利用 C++ 标准库的 std::thread 创建独立线程,完全脱离 ROS2 的回调组机制。假设有一个 ROS2 节点,包含两个定时器回调函数,它们共享一个计数器 shared_data_,并分别在不同的线程中并发执行。假设两个定时器各运行 1 秒(1000 次回调),期望 shared_data_ 的最终值为 2000(每次回调增加 1)。使用 std::mutex pub_mutex_ 定义互斥锁的目的是为了确保 共享数据(如计数器)的线程安全。每次运行结果可能不同,且通常远小于预期值。

2025-03-16 21:46:08 216

原创 Modbus-RTU协议笔记

协议规范:Modbus 要求多字节数据(如地址、数值)按大端格式传输(高位在前,低位在后)。

2025-03-12 21:25:44 895

原创 随便写一点笔记

在C++中,十进制数、二进制数、八进制数和十六进制数都是整数的不同表示方式,它们在内存中都以二进制形式存储,所以可以相互进行加减乘除等运算。当 hexNumber 与 0x80000000 进行按位与运算时,只有 hexNumber 的最高位(符号位)为1时,结果才为非0值(具体为 0x80000000)。0x80000000 是一个32位的十六进制数,其二进制表示为 1000 0000 0000 0000 0000 0000 0000 0000。按位与运算的规则是:两个位都为1时,结果才为1,否则为0。

2025-01-10 00:43:26 235

原创 将一个以小端字节序存储的4字节数据转换为一个32位整数,并根据其符号位判断是正数还是负数,然后输出其10进制表示。

这段代码的目的是将一个以小端字节序存储的4字节数据转换为一个32位整数,并根据其符号位判断是正数还是负数,然后输出其10进制表示。

2025-01-08 23:56:55 157

原创 ROS2通过CAN通讯收发消息

此贴作为对之前工作的一个回顾

2025-01-07 23:49:18 301 2

原创 如何在 ROS 2 中使用多线程执行器(Multi-Threaded Executor)和回调组(Callback Groups)

在 ROS 2 中,回调组(Callback Groups)主要用于管理节点中的各种回调,以控制它们的执行方式和并发行为。订阅者(Subscribers)当你创建一个订阅者时,可以指定一个回调组。这样可以控制订阅者回调的执行方式,例如是否与其他回调并行执行。计时器(Timers)计时器的回调也可以通过回调组来管理。这对于需要定期执行的任务非常有用,你可以通过回调组来控制这些任务的并发执行。服务服务器(Service Servers)服务服务器的回调可以使用回调组来管理。

2025-01-07 23:35:22 1732

原创 如何在Qtcreator中添加自己的代码

【代码】如何在Qtcreator中添加自己的代码。

2024-08-26 00:40:47 210

原创 启动rviz2发生界面闪烁问题

rviz2闪烁

2024-08-21 00:38:54 500 1

原创 ROS2-CAN通讯

在ROS2中使用CANalyst-II分析仪(创芯科技) Linux版控制电机

2024-08-18 01:38:08 1732

原创 mujoco学习记录-3

初学者学习记录

2023-12-12 22:22:41 1571

原创 mujoco学习记录-2

xml是一种可扩展性标记语言,用于传输和储存数据xml的标签必须自定义。

2023-12-12 18:18:38 100

原创 mujoco学习记录-1

本人仅有C语言基础,具体内容仍在学习中,欢迎各位交流和批评指正。

2023-12-10 17:30:08 1424

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除