自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 张量数据库

张量数据库 =“多维数据的超算仓库”,既存储复杂科学数据,也加速 AI 模型训练,是连接HPC与AI的关键基础设施。

2025-07-18 08:39:45 91

原创 ubuntu 如何连接gitlab

替换为你的 GitLab 用户名和仓库名。登录你的 GitLab 账号,进入。栏粘贴你复制的内容,然后点击。安装完成后,打开浏览器访问。按照提示操作,完成后会在。,使用默认管理员账号。

2025-07-18 08:27:14 143

原创 万兆光纤接口

SFP+插槽通常向下兼容1G SFP模块,但10G SFP+模块无法在1G SFP插槽中使用。:SFP+模块的插槽外形是统一的,但内部可插不同波长或距离的光纤模块(如SR/LR/ER等)。:通常是SFP+插槽,可插10G SR(多模光纤)或LR(单模光纤)模块。(如10G SFP+ DAC),无需光模块,成本低但距离短(1-7米)。(主流,支持10Gbps,兼容1Gbps SFP但速率固定)(千兆接口转换器)无法支持万兆,但万兆时代已过渡至SFP+。(早期万兆模块,体积较大,已逐渐被SFP+取代)

2025-07-18 07:25:38 65

原创 ROS2 安装

官方提供两种ros2_control安装方式,分别为指令安装方式和源码编译安装方式,由于指令安装方式可能会导致功能包安装不全,故推荐使用源码编译安装方式。2.创建ros2_control工作空间,下载资源。1.首先source ROS2的资源。4.编译ros2_control。1.打开shell窗口。4.最后安装dev工具。

2025-07-18 07:22:44 567

原创 VTK三维软件包

VTK 是的缩写,中文常译为。它是一个开源的、跨平台的软件系统,用于,广泛应用于科研、工程、医疗等领域。

2025-07-18 06:18:37 259

原创 机械臂强化学习算法

• 先在 Isaac Gym 并行仿真训练,再使用“sim-to-real”域随机化(摩擦、质量随机扰动 10%)迁移到真实 Panda 机械臂,成功率维持 90% 以上。• HER(Hindsight Experience Replay)→ 与 DDPG/TD3/SAC 组合,解决“reach/pick-place”稀疏奖励问题。• DQN 系列:DQN、Double-DQN、Dueling-DQN → 适合离散关节档位控制。• 基础:关节角 + 末端位姿 + 目标位姿(7+7+3=17 维)。

2025-07-18 06:17:07 180

原创 深度学习算法与强化学习算法区别

深度学习(Deep Learning, DL)与强化学习(Reinforcement Learning, RL)经常被并列提及,但二者。

2025-07-18 06:11:11 39

原创 ROS2 参数服务器设置

演示如何在运行时通过 C++/Python API 读取/设置/列出参数。负责在启动时一次性声明若干参数,并对外提供查询/修改服务。目录结构(C++ 版)

2025-07-18 06:04:23 90

原创 ros2 server 可以设置命令同时获取位置

一个自定义服务 :请求字段 响应字段 服务端收到请求后,把 缓存下来,再把当前位姿填进响应返回。为了便于演示,位置用一个简单计数器模拟;你可以把它替换成 TF、里程计或 SLAM 输出。一、创建功能包bash复制二、定义服务接口在包目录里新建 :复制在 里加入:cmake复制在 里加入:xml复制三、服务端源码把下面内容保存为 :cpp复制四、CMakeLists.txt 与 package.xml 关键片段CMakeLists.txt:cmake复制pa

2025-07-18 05:58:43 118

原创 ubuntu 如何连接gitlab

通过以上方式,你可以在 Ubuntu 上连接并使用 GitLab。替换为你的 GitLab 用户名和仓库名。登录你的 GitLab 账号,进入。栏粘贴你复制的内容,然后点击。安装完成后,打开浏览器访问。按照提示操作,完成后会在。,使用默认管理员账号。

2025-07-17 09:26:48 249

原创 使用make编译ROS2节点

可以看到make指令调用了脚本里的build下的指令,对代码进行了编译。同级目录下也产生了first_node可执行文件(绿色代表可执行)。工具,我们可以将g++的指令写成脚本,就可以通过make自动的调用脚本完成操作。编译节点无比的麻烦,的确是这样子,为此先行者们发明了一个叫做make的。,然后将上面的g++编译指令用下面的形式写到Makefile里。在Makefile同级目录输入。

2025-07-07 15:14:40 165

原创 ROS2工程引入第三方库,如何编写CMakeList.txt

所以你可以认为 ament_target_dependencies 是专门用于链接ROS 2 的库, target_link_libraries 用于链接普普通通的第三方库。对于不支持的,要先找到对应库路径,我们放到工程目录下,可以直接通过CMakeLists.txt提供的${PROJECT_SOURCE_DIR}获取路径,拼接lib即可获取库。如果你这样直接编译,是没有问题的,但最后运行的时候就会无法link,这是因为src目录下的库目录没有被 ROS 2的 setup.bash 添加到搜索目录。

2025-07-07 14:48:48 689

原创 qtcreator使用ros2编译qt代码

【代码】qtcreator使用ros2编译qt代码。

2025-07-07 14:43:18 86

原创 ament_cmake cmakelist

根据项目需求,添加其他必要的配置,例如设置编译选项、查找其他依赖包等。:在文件开头指定 CMake 的最低版本,例如。命令为可执行文件链接所需的库文件。命令设置源文件和头文件的路径。命令设置可执行文件的源文件。命令为可执行文件添加依赖项。命令安装目标文件到指定目录。命令设置项目名称,例如。

2025-07-07 09:31:20 221

原创 【QT】ROS2 Humble联合使用QT教程

然后点击Next,如果点击Next没有反应的话,我们先点击Browse,然后立马cancel,这个路径不要改,退出来之后,我们就可以点击Next了,这可能是一个小bug。然后安装插件,注意这里是默认Qt Creator的安装路径为~/Qt/Tools/QtCreator,如果你的路径不是这里,请将下面语句-C后改为你自己的安装路径。直接进入src文件夹中然后git clone这个ROS功能包,地址:https://github.com/shenmuxin/ros2_humble_qt_demo。

2025-07-04 12:46:47 448

原创 ubuntu 6.8.0 安装xenomai3.3

选择与内核 6.8.0 匹配的 Dovetail 补丁。例如,如果你使用的是内核 6.8.0,可以尝试下载。对于 Xenomai 3.2.1,你需要下载对应的 Dovetail 补丁。通过以上步骤,你可以成功下载和编译带有 Xenomai 补丁的 Linux 内核 6.8.0。在编译好内核后,需要安装 Xenomai 的用户空间库。下载 Linux 内核 6.8.0 的源码。下载 Xenomai 3.2.1 的源码。: 在网站中找到内核 6.8.0 的下载链接。

2025-07-03 14:13:38 675

原创 【QT】ROS2 Humble联合使用QT教程

然后点击Next,如果点击Next没有反应的话,我们先点击Browse,然后立马cancel,这个路径不要改,退出来之后,我们就可以点击Next了,这可能是一个小bug。安装ROSProjectManager的主要流程参考官方给出的流程,官方地址在这里(ros_qtc_plugin),我们采用二进制安装更为方便。首先先安装相关的依赖。然后安装插件,注意这里是默认Qt Creator的安装路径为~/Qt/Tools/QtCreator,如果你的路径不是这里,请将下面语句-C后改为你自己的安装路径。

2025-07-02 22:48:06 394

原创 ubuntu 22.04 LTS 安装preempt-rt

PREEMPT-RT 内核与 NVIDIA 驱动可能不兼容,建议使用开源的 Nouveau 驱动。如果需要定制内核或使用特定版本的 PREEMPT-RT 补丁,可以手动编译。如果你不想使用 Ubuntu Pro,可以手动下载并安装预编译的实时内核。Ubuntu Pro 提供了官方支持的实时内核,安装过程较为简单且稳定。:重启后在 GRUB 菜单中选择新安装的实时内核启动。:重启后在 GRUB 菜单中选择新编译的实时内核启动。:重启后,在 GRUB 菜单中选择实时内核启动。

2025-07-02 20:46:17 667

原创 Ubuntu22+ROS2+QtCreator+Ros_Qtc_Plugin开发环境搭建

之前开发ROS1程序时一直用的QTC,我本以为QTC应该还没有对应的ROS2插件,没想到网上查找了一番发现ros_qtc_plugin早就支持ROS2了,现在把我配置环境的过程记录下来。② 本例QTC版本为10,则选择ros_qtc_plugin10版本,根据操作系统选择相应的zip文件进行下载。③ 点击install Plugin,选择刚才下载的ros_qtc_plugin的zip文件进行安装,如果QTC版本和ros_qtc_plugin不对应则会报错。本例使用清华源,也可以换成其他支持qt的镜像源。

2025-07-02 17:52:28 400

原创 x86 ubuntu preempt-rt 补丁

如果你的系统是 Ubuntu 22.04 LTS,以上步骤应该可以帮助你安装官方预编译的实时内核。如果你使用的是其他版本的 Ubuntu 或有其他特殊需求,可能需要采取不同的方法。网站,根据内核主版本号下载对应的 preempt-rt 补丁,如补丁 5.15.83-rt53 需对应 5.15.x 内核。:对于 Ubuntu 22.04 LTS,你可以直接安装官方预编译的实时内核。:安装实时内核后,持续监控系统的性能和稳定性,确保一切正常运行。:在进行任何内核更改之前,建议备份你的系统,以防出现问题。

2025-07-02 11:19:09 467

原创 preempt-rt 测试

例如,在隔离CPU中运行的测评结果中,周期延迟的最大值为17微秒,最小值为1微秒,平均值为1微秒,其中1~4微秒范围占了99.997326%,1~8微秒范围占了99.999969%它的工作原理是启动一个主线程,主线程会启动几个实时测量线程,这些线程会在设定的时间间隔后定期唤醒,记录预期和实际唤醒时间的时差,并将结果传递给主进程,测试结束后输出汇总结果。例如,在空载测试中,某系统的测试结果显示最大延迟为34微秒。:用于模拟系统负载的工具,通过模拟CPU、内存、I/O等多方面的压力,可以对系统进行压力测试。

2025-07-02 09:56:04 390

原创 ubuntu 安装QT

在 Ubuntu 系统上安装 Qt 可以通过以下步骤完成,以下是详细的安装指南。

2025-07-01 17:11:30 1057

原创 qt5 安装

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/weixin_48560325/article/details/124373125。Ubuntu自带国外源;先判断 : clang -v。6、安装make-guile。4、安装 clang ++3、安装qtcreator。3、安装clang编译器。2、安装Qt的开发工具。1、判断gcc是否安装。2、判断g++是否安装。1、安装Qt5的组件。

2025-07-01 16:42:08 117

原创 ubuntu 启动SSH 服务

在Ubuntu系统中,启动SSH服务需要确保SSH服务已经安装,并且正确配置。

2025-07-01 10:45:20 823

原创 安装 preempt_rt 实时内核

重启系统后,进入引导程序(如Grub)的引导加载器屏幕,选择新构建的Preempt_RT内核启动。下载与当前系统内核版本匹配的Linux内核源码文件和Preempt_RT补丁文件。在某些系统中,可能需要手动编辑Grub配置文件来设置默认启动的内核。将当前系统内核的配置文件复制到内核源码目录下,并重命名为。命令检查当前运行的内核版本,若版本号中包含。例如,若CPU有4个线程,可使用。命令安装编译内核所需的依赖软件。进入内核源码目录,并应用补丁。后缀,则说明实时内核安装成功。命令,进入内核配置菜单。

2025-06-25 13:41:56 312

原创 sudo cyclictest -l100000 -m -t5 -p99 -i1000 -h100 指令详解

直方图用于统计不同延迟范围内的发生次数,帮助分析系统的延迟分布情况。此参数限制了直方图记录的最大延迟值,超过该值的延迟将不会被记录在直方图中,但会在结果中显示为溢出(overflow)。如果指定了该选项但没有指定具体的线程数,则会创建与CPU核心数量相同的线程。在实时测试中,高优先级的线程可以优先获得CPU资源,从而更准确地测试系统的实时性能。这个参数定义了线程在每次唤醒之间的时间间隔,用于控制测试的频率。可以对系统的实时性能进行详细的测试和分析,帮助评估系统在不同负载和配置下的延迟表现。

2025-06-24 17:47:54 105

原创 Ubuntu 系统是否已安装 PREEMPT-RT 实时内核补丁

Ubuntu 22.04 LTS 及以上版本可通过 Ubuntu Pro 服务直接安装官方实时内核。:Ubuntu 22.04 LTS 是首个官方集成 PREEMPT-RT 补丁的版本,需确认系统版本是否支持。,则说明系统已通过 Ubuntu Pro 订阅启用了 PREEMPT-RT 内核。,但存在实时性能优化,可能是用户手动编译的内核,需进一步检查。),若数值在微秒级(如 <100μs),则表明实时内核生效。,则表明内核已启用实时抢占功能。),则说明系统已启用实时内核。:若内核版本号未明确标注。

2025-06-17 11:22:09 320

原创 xenomai3+linux构建linux实时操作系统-基于X86_64和arm

Xenomai是一个实时性解决方案,通过在Linux上添加实时内核Cobalt来增强实时性能。它有三个主要部分:libcobalt(用户空间实时库)、Cobalt(内核空间实时内核)和硬件架构特定层(ipipe-core或dovetail)。ipipe-core适用于Linux 5.4以下版本,而dovetail用于5.4及以上版本。本文介绍了在X86 Ubuntu环境下,如何编译Xenomai内核,搭建应用环境,包括配置、编译、安装和实时性测试。对于其他硬件架构,如ARM和ARM64,步骤类似。

2025-06-17 11:05:30 661

原创 Qt Creator 从入门到项目实战

Qt Creator 是一个跨平台的集成开发环境(IDE),专门用于开发 Qt 应用程序。它为开发者提供了一个强大的工具集,包括代码编辑器、调试器、UI 设计器以及性能分析工具等。Qt Creator 提供了一个直观的用户界面,其中包含了多种功能,以帮助开发者更高效地进行软件开发。信号和槽在 QObject 的子类中使用signal和slot关键字来定义。// 示例:定义信号和槽Q_OBJECTpublic:signals:Qt 提供了一套丰富的控件库,用于构建图形用户界面(GUI)。

2025-06-12 17:52:38 719

原创 linux的实时性

在设计上更注重吞吐量和公平调度,而非严格的实时性。Linux 的实时性取决于其内核配置和使用场景。标准 Linux 内核(

2025-06-03 20:49:15 469

原创 udp 传输实时性测量

如果你熟悉编程,可以使用Python等编程语言编写自定义的UDP测试脚本。脚本可以模拟UDP客户端发送数据包,并验证服务器端的响应,以测试UDP的性能和可靠性。

2025-05-29 16:55:34 682

原创 Ubuntu22.04 安装Linux实时补丁preempt_rt

RT补丁:https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/Linux内核:https://mirrors.edge.kernel.org/pub/linux/kernel/cp -v /boot/config-6.8.0-50-generic .config ##复制现有的内核配置文件。选择相近版本内核 linux-6.8.2以及内核相同版本补丁 patch-6.8.2-rt11。启动RT内核需下载linuxn内核源码和RT补丁。

2025-05-29 16:30:47 851 1

原创 Docker 挂载卷并保存为容器

docker commit 是一个非常方便的工具,可以快速将运行中的容器保存为一个新的镜像。如果你只是需要快速保存当前容器的状态,docker commit 是一个不错的选择。docker commit 创建的镜像仅包含当前容器的状态,不包含构建过程中的上下文信息(如 Dockerfile 中的指令)。在 Docker 中,你可以将运行中的容器保存为一个新的镜像,以便后续可以基于这个镜像快速创建新的容器。使用 docker commit 创建的镜像会包含容器的所有更改,包括文件系统的变化和运行时的状态。

2025-05-27 17:29:02 842

原创 doucker 挂载卷

v /path/to/host/workspace:/root/ros2_ws:将宿主机的 /path/to/host/workspace 目录挂载到容器的 /root/ros2_ws 目录。在 Docker 中,挂载卷(Volumes)是一种非常重要的功能,它允许你将宿主机的文件系统与容器的文件系统进行共享。-v /path/to/host:/path/to/container:将宿主机的 /path/to/host 目录挂载到容器的 /path/to/container 目录。

2025-05-27 17:05:58 784

原创 ssh 测试 是否可以连通docker 容器

docker inspect -f '{{range .NetworkSettings.Ports}}{{.HostPort}} -> {{.HostIp}}:{{.HostPort}}{{end}}' <容器名称或ID>docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名称或ID>如果一切配置正确,你应该能够成功连接到容器的 SSH 服务。确保容器的 IP 地址是正确的,并且网络设置没有问题。

2025-05-27 16:12:58 614

原创 mobaxterm通过ssh登录docker无图形界面

在Mobaxterm中配置SSH连接信息,包括IP地址、用户名和端口号。打开Mobaxterm,点击“Session” -> “SSH”,输入IP地址、用户名和端口号,然后保存配置。在Mobaxterm中使用SSH连接到Docker容器。通过上述步骤,你可以成功使用Mobaxterm通过SSH登录到无图形界面的Docker容器。4 在Mobaxterm中通过SSH连接到Docker容器。在Docker中启动一个容器,确保容器已经安装了SSH服务。# 通过SSH连接到Docker容器。

2025-05-27 15:53:42 457

原创 MobaXterm连接Docker Desktop中的容器(shell)

输入terminal启动命令:docker exec -it [你的容器] sh 即可。选择terminal shell类型,我选择的是powershell。

2025-05-27 15:43:33 544

原创 Docker+MobaXterm+x11实现容器UI界面转发本地

我们的需求是,可以直接通过ssh访问生成的ubuntu 18.04 container,因此需要将容器的ssh端口暴露到server的某个端口上,这样做有很多好处,最主要的是直接通过Xterm上传下载container中的文件,而不用使用docker cp命令,同时也可以支持x11转发UI界面。这里将容器的22端口转发给server的50002端口,以后直接ssh server:50002就可以直接进这个container。使用Dockerfile获取镜像,对应的文件内容如下。

2025-05-27 15:34:03 472

原创 Mobaxterm解锁Docker

Mobaxterm集成了多种终端功能,如X11转发、SFTP客户端、SSH客户端、Tunnelling、Telnet客户端等。它特别适合于远程登录服务器和进行远程开发工作。集成终端:提供Linux和Windows风格的终端,支持多个终端标签页。X11转发:允许用户在Windows系统上运行Linux应用程序。SFTP客户端:安全文件传输,支持SSH协议。SSH客户端:提供SSH连接,支持SSH密钥认证。Tunnelling:支持SSH隧道,用于安全地转发网络流量。

2025-05-27 15:31:06 727

原创 Mobaxterm 连接到 Docker 容器

输入容器内部的 SSH 端口,默认端口为 22。如果容器没有运行 SSH 服务,你将无法通过 SSH 连接。在“SSH 服务器”选项卡中,输入容器的 IP 地址或 localhost(如果使用端口映射)。如果容器使用了非默认的 SSH 端口,请确保在 Mobaxterm 中输入正确的端口号。在“用户认证”选项卡中,输入连接到 Docker 容器的用户名(如 root)和密码。如果容器的 SSH 端口未正确映射到宿主机,你可能需要重新启动容器并添加端口映射。步骤 3:在 Mobaxterm 中连接到容器。

2025-05-27 15:15:09 569

空空如也

空空如也

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

TA关注的人

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