自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ROS2踩坑记录(持续更新)

使用ros2在两台nx上互发消息,一台发送,一台订阅,发布者发布消息。如果本机都没有输出,说明发布器可能没发布数据。没有任何输出,说明当前设备没有设置 multicast 路由。如果终端 A 能收到消息,说明两台之间的。发布者和订阅者都设置一下,最后再次通信成功。订阅者可以看到话题,但是没有任何数据。替换为你实际的网络接口名称(例如。如果收不到,说明两台 NX 的。

2025-08-07 16:08:52 393

原创 C++中多线程和互斥锁的基本使用

项目未使用互斥锁使用互斥锁(std::mutex线程安全否,可能发生数据竞争是,线程安全运行结果不确定,可能小于理论值稳定,符合预期值性能较快(无锁)稍慢(加锁释放有开销)推荐使用场景多线程只读,无共享写有共享写访问时必须使用。

2025-08-03 23:21:31 461

转载 (转载)如何在VsCode中使用git(免敲命令版本!保姆级!建议收藏!)

随着Vscode的推出和普及,Git的使用也发生了变化,从原来的命令行管理仓库,再到现在用vscode从提交代码、解决冲突、reivew代码,整个管理仓库的过程全部都是可视化,大大降低了新手的使用难度,让新手也能轻松使用git。

2025-07-25 17:17:49 351

原创 C++ STL常用容器总结(vector, deque, list, map, set)

/ 默认初始化,vec1为空// 使用vec1初始化vec2// 使用vec1初始化vec3// 10个值为0的元素// 10个值为4的元素// 列表初始化// 默认初始化// 10个值为0的元素// 10个值为5的元素// 列表初始化// 默认初始化// 10个值为0的元素// 10个值为5的元素// 列表初始化// 默认初始化// 列表初始化// 默认初始化// 列表初始化// 迭代器初始化。

2025-07-25 10:24:03 402

原创 查看ubuntu磁盘占用方法

【代码】查看ubuntu磁盘占用方法。

2025-07-13 23:18:10 346

原创 ROS2中的QoS(Quality of Service)详解

QoS是ROS2中用于控制通信质量和行为的机制。它定义了发布者和订阅者之间消息传递的各种策略和保证,包括可靠性、持久性、延迟等特性。

2025-07-13 23:10:39 588

原创 一篇学懂roslaunch文件语法

ROS1 中的launch文件是使用 XML 格式编写的,通常用于启动多个节点、设置参数、重映射话题等。

2025-07-02 23:21:12 665

原创 使用mavros启动多机SITL仿真

为多个PX4 SITL无人机分别启动各自的mavros实例进行通信。每架无人机都用一组不同的 UDP 和 TCP 端口进行连接。我们只需要为每架无人机配置一组唯一的fcu_url来启动多个mavros节点。

2025-07-01 23:22:22 834

原创 使用集群通信swarm_ros_bridge实现ros1多机通信

主要基于ZeroMQ的轻量级中间接口 ROS 包。它使 swarm 机器人之间通过 socket 通信传输指定的 ROS 消息。这个包的目的是取代ROS1 中跨多台机器运行 ROS的传统方式,这种方式在集群机器人情况下有一些缺点。两个 ROS 机器人通过 swarm_ros_bridge 相互通信的示例如下所示:稳健:无需先启动基站 ROS 主站。支持每个机器人随机启动并自主连接。灵活:您可以选择发送/接收 ROS 主题,而不是像 ROS1 那样传输所有主题(名称)。易于使用。

2025-07-01 11:28:04 630

原创 通过ros_bridge实现ros2和ros1的自定义消息桥接

首先,在ROS1和ROS2环境中都创建相同的消息包ROS1 (my_custom_msgs/msg/CustomMessage.msg)和ROS2 (my_custom_msgs/msg/CustomMessage.msg):创建msg文件创建int32 id终端1:开启roscoreroscore。

2025-06-26 13:07:39 1097 2

原创 mavros常用话题及代码总结

1.MAVROS 常用话题与服务2.mavros常用代码段2.1 切换offboard2.2 解锁飞控3.位置控制详解3.1 位置控制方式一(推荐)3.2位置控制方式二(不推荐)3.3 常见组合示例。

2025-06-18 15:48:19 828

原创 mavros中的gcs_url和fcu_url的含义

注意,一般QGC在启动的时候会自动监听14550端口,不需要自己创建udp连接,如果需要的话可按此操作建立udp与别的端口的通信。在硬件在环仿真的时候,USB 直连电脑和飞控时, gcs_url 参数并 “不重要”。

2025-06-18 14:35:37 1191

原创 通过mavros实现mission模式下的VTOL无人机航点飞行

mavros中对航点任务的说明服务名称作用作用从飞控请求存储的航点列表发送新的航点列表到飞控清除飞控中存储的所有航点设置飞控当前要执行的航点序号mavros/mission/push可以进行航点上传;mavros/mission/pull可以进行航点下载;mavros/mission/clear可以进行航点清除;mavros/mission/set_current可以设置当前航点;WayPointPush.srv消息的格式如上,是一个压缩消息的格式。

2025-06-18 11:37:25 1055

原创 Rflysim系统架构与工作流程

模拟无人机飞行行为和传感器数据真实飞控(如 Pixhawk)或SITL软件仿真关键模块说明:接收来自 Pixhawk 或 PX4 SITL 的 MAVLink 数据包括电机控制指令、电机状态等模型运算模块(运动模型、气动模型等)可加载动态链接库(DLL)运行模型仿真飞机位姿数据通过UDP 推播发送给三维引擎(如 3DDisplay / RflySim3D)飞控数据也可转发至等工具。

2025-06-04 16:50:42 959

原创 在ROS1下创建自定义消息msg

1. 创建一个自定义消息 MyMsg.msg2. 自定义消息相互嵌套int32 age步骤一:创建 msg 文件编辑MyMsg.msgint32 age步骤二:修改roscppstd_msgs## 声明消息文件FILESMyMsg.msg## 自动生成消息std_msgs## 声明 catkin 包步骤三:修改添加依赖:</</步骤四:使用自定义消息你可以在} return 0;} return 0;

2025-06-03 09:59:34 318

原创 通过ROS2获取相机传感器数据,并使用ros_bridge发布到ROS1

使用 OpenCV (cv2) 从读取图像,并发布到 ROS 2 话题。

2025-05-30 15:21:32 1087

原创 通过ros_bridge实现ROS1和ROS2(Foxy)的通信

注意顺序:先 source ROS1(noetic),再 source ROS2(foxy)重新加载软件源,系统现在能“看到” ROS2 Foxy 相关包了。同步你的系统软件源索引,确保能访问 ROS2 所需的依赖。下载并保存 ROS 官方 apt 公钥,用于软件签名验证。将 ROS2 官方软件源地址添加到 apt 源配置文件中。注意:此时不要加载 ROS2 工作空间(你应该会看到 ROS2 发来的消息。我们先构建其他依赖包(不编译。这会在 ROS1 中发布。这一步必须最先执行!

2025-05-29 23:26:28 1228 1

原创 使用Vscode实现ROS话题的发布和订阅(CMakeList.txt和package.xml的编写)

【代码】使用Vscode实现ROS话题的发布和订阅(CMakeList.txt和package.xml的编写)

2025-04-23 15:36:31 552

原创 ROS话题的发布和订阅(Python和C++实现)

【代码】ROS话题的发布和订阅。

2025-04-23 15:02:08 418

原创 从URDF到TF坐标变换

参考链接这是一个从 URDF 定义到加载 URDF,再到 C++ 中发布里程计消息的完整示例。</</</</</</</</</</</</</</</</</</</</</</</</</</</</</</</</</(添加了tf包)base_linklaser_linkodombase_linkodommapxacroxacro这个示例提供了一个起点,你可以根据你的具体需求进行修改和扩展。请记住,调试和测试是 ROS 开发的重要组成部分。使用rqt_plot和 RViz 来诊断问题。所以。

2025-04-18 17:21:37 479

原创 cmake遇到的错误及解决方式

版本过低报错解决方法:https://blog.csdn.net/ly869915532/article/details/136588163。解决方法:https://blog.csdn.net/jrrz0828/article/details/141466932。:尖括号通常用于系统或库的标准路径,而不是绝对路径。你可以将 Eigen 的路径添加到编译器的包含路径中。:如果文件不存在,可以新建一个。然后选择Python 3作为默认的Python版本。来寻找 Eigen3,你可以使用 CMake 的。

2024-12-04 23:55:03 5284

原创 C++常用协议之JSON通信协议

特性适用场景构建复杂的 JSON 对象直接生成 JSON 字符串内存操作需要在内存中分配和操作 JSON 对象不需要在内存中构建复杂的 JSON 对象生成 JSON 字符串方式通过 Document 对象的 Accept 方法生成最终的 JSON 字符串直接将字符串写入缓冲区,性能较高灵活性方便进行多次修改和操作适合一次性生成 JSON 字符串的场景。

2024-11-27 23:02:44 924

原创 csdn编辑器使用技巧

1.数学公式对齐2.首行缩进3.调节图片大小

2022-06-30 16:15:50 307

原创 Ardunio学习笔记(1)

Ardunio学习笔记-1配置Arduino IDE配置Arduino IDEArduino采用串口下载代码存储到内部的 flash 中那也就是我们将程序烧录到Arduino中,一共需要三步选择好对应的例程选择Arduino开发板型号(工具-开发板)配置Arduino开发板的下载口 (工具——端口)保存项目:Ctrl+s my_first_sketch 保存在Ardunio文件夹下参考:https://blog.csdn.net/as480133937/article/details/

2022-06-30 15:35:36 572

原创 机器人的运动学建模

机器人建模3.1 物体在空间中的位姿描述3.2 齐次坐标变换3.2.1 齐次坐标变换关系3.3.2 举例3.1 物体在空间中的位姿描述3.2 齐次坐标变换3.2.1 齐次坐标变换关系3.3.2 举例

2022-06-30 15:27:35 677

原创 基于蚁群算法的六轴机械臂路径规划(运动学模型建立)

以六自由度空间机械臂为研究对象,在MATLAB环境下,首先对其进行运动学分析,建立 D-H 运动模型,推导正、逆运动学变换公式,得到从空间坐标到关节转角的转换关系。然后抽象化三维空间模型。对蚁群算法进行改进,使用改进后的蚁群算法完成了机械臂在工作空间的路径规划。......

2022-06-30 15:20:04 3312 1

原创 MATLAB中GUI界面的学习

MATLAB中GUI界面的学习在命令行窗口输入guide选择新建空白GUI各控件的功能如下:创建一个按钮,并添加回调函数,实现功能在.m文件中pushbutton_Callback中编写具体实现的功能,实现方式有两种:(1)可以采用将所需功能保存为.m文件,然后在function中调用。(2)直接在function中编写。方式容易实现,而且MATLAB报错少。编写完成后,直接点击运行按钮即可。创建GUI界面创建报错及解决方案:解决方案:仔细检查feval和gui_mainf

2022-05-27 16:48:36 824 1

原创 ROS中的常见错误及解决方法

ROS中的常见错误及解决方法1.树莓派Ubuntu mate 16.04在连接arduino时报错解决方法:(1)给对应文件夹下的文件赋予读写权限并作为一个可执行文件。(2)设置串口波特率相同,以115200为例:ls /dev/tty*(查看串口设备)dmesg | grep tty*(查看串口信息)stty -a -F /dev/ttyUSB0(查看串口波特率)stty -F /dev/ttyO0 ispeed 115200 ospeed 115200 cs8(设置串口波特率)(3)

2022-04-09 10:47:19 6471

原创 ROS中catkin_make失败和roslaunch失败的解决方法

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计

2022-03-20 22:22:41 7322

原创 树莓派3b+Ubuntumate16.04彩虹屏解决办法

树莓派3b+Ubuntumate16.04彩虹屏解决办法1.用SD Card Formatter格式化存储卡2.用ImageWriter写入树莓派镜像文件ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img(注意ubuntu-mate-16.04版本仍然会有彩虹屏问题)树莓派旧版镜像下载网址:https://releases.ubuntu-mate.org/archived/16.04/armhf/3.四个步骤(1)在百度网盘下载附件,可以得到

2022-01-18 18:20:35 2336

原创 电机的工作原理

电机的工作原理,以及如何使用Arduino控制电机

2022-01-11 10:49:12 291

原创 按键电路的原理

按键电路的原理按键电路的原理:

2022-01-02 17:15:08 2533

空空如也

空空如也

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

TA关注的人

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