- 博客(55)
- 收藏
- 关注
原创 ubuntu上传代码到git
git@github.com:DengShiNeng/offboard_control_mode.git是你前面创建的仓库地址。Title 随便写(例如“Ubuntu Desktop”),Key 里粘贴刚才的公串 → Add SSH key。如果你用的是 main 分支,就把命令里的 master 换成 main。上传之前,我们需要添加上传的文件,这里我们要上传当前文件夹内的所有文件。使用push指令进行上传,再次刷新GitHub即可发现上传成功。一路回车,默认会把私钥/公钥存到。把公钥内容复制到剪贴板。
2025-11-04 15:40:46
418
原创 PX4地面站调试指令集合
1.nsh> logger on 然后在 QGC 里点一次 Arm,观察 nsh 终端输出的。避免将电源线、电调、电机等强电流设备靠近飞控或磁力计 5.解决:武装前先将遥控器的右边的拔杆拉到最右边。单天线 RTK(包括 9PS)= 某类导航/任务检查失败。(会告诉你哪一项 fail)发AI,可查源码对应。
2025-10-19 15:14:36
877
原创 配置机载电脑开机自启动ros2节点和配置can0
在 Linux 系统中设置 ROS 2 节点开机自启动,可以通过 systemd 服务来实现,这是一种可靠且常用的方法。
2025-09-03 14:50:39
426
1
原创 ros2 tf2详解
例如,激光雷达的扫描数据在其自身坐标系下处理会更直观,而静态坐标变换能明确该坐标系与机器人基座坐标系的关联。这段代码是一个 ROS 2 节点,用于发布动态坐标系变换,特别是针对 turtlesim 仿真中的海龟位置和姿态。它的主要功能是将一个子坐标系相对于父坐标系(这里是 "world" 坐标系)的变换关系发布出去,供系统中的其他节点使用。核心内容:将教授如何获取特定时间点的变换。这段代码是 ROS 2 中 tf2 库的一种更灵活的坐标变换查询方式,允许为源坐标系和目标坐标系指定。,并指定一个参考坐标系。
2025-07-31 19:28:50
437
原创 ros2 launch文件编写详解
name='sim'spawn_turtle = ExecuteProcess(...) # 生成乌龟的服务调用change_background_r = ExecuteProcess(...) # 修改背景颜色的命令change_background_r_conditioned = ExecuteProcess(...) # 条件性修改背景颜色这些组件定义了要执行的基本操作,但它们的执行时机由事件处理器控制。
2025-07-30 17:01:49
1245
原创 ros2的package.xml和rosdep
rosdep 是一款可用于处理软件包和外部库依赖关系的依赖管理工具。它是一个命令行工具,用于识别和安装构建或安装软件包所需的依赖项。rosdep 本身并非包管理器,而是一款元包管理器,它借助自身对系统和依赖项的了解,在特定平台上找到合适的待安装软件包。实际的安装操作则通过系统包管理器(例如 Debian/Ubuntu 上的 apt、Fedora/RHEL 上的 dnf 等)来完成。rosdep 最常在构建工作空间之前调用,用于安装该工作空间内软件包的依赖项。
2025-07-28 16:53:06
552
原创 看一遍就懂----ros2编写msg和srv的步骤
(tutorial_interfaces REQUIRED)和ament_target_dependencies( node_name rclcpp。增加以下代码,目的是为了将消息转化为你所需要的C++/Python接口。对于C++包,调用接口,需要在CMakeList中添加。
2025-07-26 20:45:57
436
原创 看一遍就懂-----编写服务端和客户端的流程和注意事项
int64 aint64 b---int64 sum这是 C++ 标准库提供的智能指针,其作用是管理动态分配的对象,采用引用计数的方式实现内存的自动释放。这是 ROS 2 节点创建的工厂函数,它的返回值类型是。这是 ROS 2 服务对象的智能指针,它继承自,专门用于管理 ROS 2 服务。
2025-07-26 20:10:47
377
原创 看一遍就懂-----编写发布者和订阅者的流程和注意事项
在find_package(ament_cmake REQUIRED)前添加以下内容。然后,增加可执行文件并取名为talker,以至于你能使用ros2 run。在ament_cmake后添加。能够找到你的可执行文件。
2025-07-26 17:10:18
263
原创 ubuntu源码安装ceres-solves
下载 指定版本的 abseil-cpp到ceres-solver/third_party文件目录 : https://github.com/abseil/abseil-cpp/releases/tag/20250512.1。重点:安装 ceres-solves步骤(先克隆ceres-solver,在ceres-solver的third_party安装abseil-cpp)-DBUILD_SHARED_LIBS=ON \ # 关键参数:启用动态库编译。
2025-07-18 10:16:09
267
原创 ROS 2 中更改从设备(如电机控制器)的运动模式
在 ROS 2 中更改从设备(如电机控制器)的运动模式(例如从位置模式切换到速度模式),需要通过0x6060进行设置。结合你的配置(rpdo已映射0x6060利用 ROS 2 的COWrite服务直接写入0x6060索引,适用于需要精准控制对象字典的场景。
2025-07-02 20:06:37
592
原创 ROS 2 节点控制电机速度的实现文档
本文档详细介绍如何通过 ROS 2 节点控制遵循 CiA 402 协议的电机速度。基于已配置的 CANopen 网络(bus.yml中 RPDO2 映射了目标速度索引0x60FF),我们将通过编写 ROS 2 节点实现速度指令的发送与控制,包含底层服务调用和高层封装两种方式。
2025-07-02 20:02:45
1446
原创 循环神经网络:揭秘RNN的核心与应用
循环神经网络()是一类专为设计的神经网络,通过保留历史信息,实现对时序依赖关系的建模。:同一套权重参数在每一步重复使用。:隐藏状态传递历史信息,适合处理变长序列。:当前时间步的输入x_t和上一步的隐藏状态h_{t-1}。:当前状态h_t和预测值y_t。:通常用tanh或ReLU约束数值范围。时间步1: x₁ → h₁ → y₁时间步2: x₂ → h₂ → y₂...时间步T: x_T → h_T → y_T隐藏状态h_t像“记忆”一样传递信息。:预测下一个词(如:股票价格、天气数据。
2025-05-19 10:56:14
549
原创 稠密连接网络(DensoNet)
稠密连接网络(DenseNet)是由康奈尔大学的 Gao Huang 等人在 2017 年提出的深度卷积神经网络架构。它在 ResNet 的残差连接思想基础上进一步创新,通过显著提升了特征复用效率,减少了参数量。每一层的输入不仅来自前一层的输出,还来自前面所有层的输出。与ResNet的主要区别在于,DenseNet里模块的输出不是像ResNet那样和模块的输出相加,而是在通道维上连结。这样模块的输出可以直接传入模块后面的层。在这个设计里,模块直接跟模块后面的所有层连接在了一起。
2025-05-12 20:18:16
567
原创 残差网络(ResNet)
残差网络(ResNet)是由微软研究院的何恺明(Kai Ming He)等人于2015年提出的深度卷积神经网络架构,其核心思想是通过。
2025-05-12 20:08:37
1797
原创 ModuleNotFoundError 错误
问题的关键是确保 ROS 2 使用与您的虚拟环境一致的 Python 环境。通过设置PYTHONPATH或确保 ROS 2 使用正确的 Python 环境,您应该能够解决错误。如果问题依然存在,检查 ROS 2 的安装和依赖配置是否完整,或者尝试重新编译工作空间。
2025-05-06 16:08:34
809
原创 ros2中,创建虚拟环境后,安装了python模块,运行代码提示:ModuleNotFoundError 解决方案
包并没有安装到虚拟环境中。如果发现路径没有包含虚拟环境路径,可以手动设置。4. 确保你在正确的虚拟环境中。确保它包含虚拟环境的。
2025-01-04 19:21:42
760
原创 Python 中函数内部可以嵌套函数
嵌套函数可以帮助组织代码,不仅提高代码的可读性,还能实现封装。外部函数可以定义一个清晰的接口,内部函数可以使用外部函数的上下文,但对外部不可见。注:在 Python 中,外部函数无法直接调用其内部嵌套函数。内部嵌套函数的作用域是限定在外部函数内部的,其生命周期和可见性仅限于外部函数。在 Python 中,缺省情况下,嵌套函数只读外部函数的变量。如果你希望内部函数不仅读取,而且修改外部函数的变量,你需要使用。这是因为内部函数可以访问其所在作用域(即外部函数)的变量。
2024-12-07 15:36:39
432
原创 Python如何创建一个自己的包,并在其他工程里面调用
如果你在虚拟环境中使用pip来安装你自定义的包,那么这个包将会被安装在虚拟环境中,而不会影响全局环境。这是虚拟环境的主要功能之一,它允许你隔离项目的依赖,从而避免与全局环境中的其他包发生冲突。
2024-12-07 12:34:11
1328
原创 控制障碍函数
控制障碍函数是用于描述系统状态在某些约束条件下的行为的函数。通常,一个控制障碍函数 b:Rn→Rb:Rn→R 通过以下形式定义约束:这里,xx 是系统的状态。控制障碍函数的核心思想是通过合适的设计确保系统的运行状态始终保持在约束集内,也就是满足 b(x)≥0b(x)≥0。
2024-12-03 13:19:50
1549
原创 C++之线程剖析
1.基于进程的多任务处理:即程序的并发执行2.基于线程的多任务处理:程序片段的并发执行在C++11标准后,通过<thread>库提供了高效,安全的多线程编程方式。
2024-11-26 16:56:24
571
原创 C++ 信号处理剖析
在 C++ 中,信号处理是指对异步事件的响应,这些事件通常是操作系统或程序内部产生的。例如,用户按下 Ctrl+C,终端会发送一个中断信号(SIGINT),或者程序可能由于非法内存访问而崩溃并发送一个段错误信号(SIGSEGV)。信号处理通常通过signal函数或更高级的sigaction函数来实现。步骤:1.调用头文件2.定义信号处理函数3.注册信号处理函数。
2024-11-26 09:57:00
474
原创 C++中stringstream的用法剖析
是 C++ 标准库中的一个类,属于头文件。它提供了一个用于处理字符串的输入输出流,可以方便地将字符串转换为其他数据类型,或将其他数据类型转换为字符串。以下是的一些常见用法示例。
2024-11-22 16:54:49
541
原创 C++关于异常处理剖析
noexcept是C++11引入的一个非常重要的关键字,它可以帮助我们编写更高效、更可靠的代码。通过合理地使用noexcept,我们可以提高代码的性能,并更好地利用C++11的新特性。声明一个函数为noexcept,意味着你对函数的行为有很强的保证。如果函数确实抛出了异常,程序的行为是未定义的。在使用noexcept时,需要仔细考虑函数的实现细节,确保函数不会在任何情况下抛出异常。
2024-11-22 16:00:45
1923
原创 对同一件事多次占卜是否是对神明的亵渎
许多人对与周易的“初筮告,三再渎”认为,对于同一件事再三的占卜,属于亵渎神明。教浅学者凡遇卦之恍惚,心若未明,多占无碍,倘若卦中已明现矣,不可再渎。事之缓者,迟迟再占,事之急者,歇歇又占。不拘早晚,不必焚香,深更半夜亦可占之。只要单为此事而占,不可又占他事“。又如,同一件事可以由多个占卜师占卜,那么说明同一件事可以占卜多次,那么为什么又会不能多次占卜呢,只要卦象不明,显示是可以多次占卜。又有人说,“妻财子禄一挂能包,寿夭穷通六爻兼尽”。所以野鹤老人说:“必兼而断者,即先贤犹在,执此问之,知亦无从置喙“。
2024-11-21 15:01:44
719
2
原创 C++的虚基类表
虚基类表是C++中对虚继承机制的重要支持结构,它确保在复杂的继承层次中保持基类的唯一性,从而避免数据冗余与内存浪费,并提供了运行时多态性的功能。
2024-11-18 13:20:30
285
原创 C++的继承和python的继承的区别
C++和Python都支持面向对象编程(OOP),其中继承是一个重要的特性。C++和Python的继承机制在基本概念上相似,但在细节和实现上有明显的区别。
2024-11-18 11:07:12
274
原创 等号运算符重载实现链式编程
当一个类重载了等号运算符,使用它的用户可以在赋值时获得与内置类型相同的直观体验,确保代码的一致性和可读性。:可以在赋值过程中封装更复杂的逻辑,如自动管理资源(如动态内存、文件句柄等),提高代码的健壮性。:可以定义自定义类型赋值时的具体行为,例如,深拷贝或浅拷贝,确保对象的内部状态按预期更新。:可以减少不必要的拷贝,避免在对象赋值时出现性能问题,特别是在容器类或大型数据结构中。:通过重载等号运算符,可以使用直观的赋值操作,使代码更易于理解和维护。
2024-11-18 10:55:36
205
原创 基于维诺图的A*搜索算法实现路径规划
A*搜索算法是一种在图形搜索问题中非常有效的路径查找算法,它综合了Dijkstra算法和贪心算法的优点,在保证找到最优路径的同时,提高了搜索效率。
2024-11-16 12:31:49
1027
1
原创 如何在ros2中实现wait_for_message()
ros2中没有名为wait_for_message()的API, 所以如果要实现和ros1中wait_for_message()相同的功能需要自己写一个wait_for_message()函数。topic_type:你需要等待的话题数据类型。node:你需要使用这个函数的所在节点。topic:话题名字。
2024-11-15 12:53:55
333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅