自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2025-06-12 17:52:38 247

原创 linux的实时性

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

2025-06-03 20:49:15 414

原创 udp 传输实时性测量

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

2025-05-29 16:55:34 640

原创 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 700

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

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

2025-05-27 17:29:02 806

原创 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 764

原创 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 571

原创 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 445

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

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

2025-05-27 15:43:33 514

原创 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 450

原创 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 691

原创 Mobaxterm 连接到 Docker 容器

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

2025-05-27 15:15:09 510

原创 UDP 传输时间(延迟)

iperf3 是一款功能强大的网络性能测试工具,支持 UDP 和 TCP 的带宽、延迟、丢包率等指标的测试。nping 是 Nmap 项目中的一个工具,可以用来发送自定义的 UDP 数据包并测量往返时间。通过上述工具和方法,你可以有效地测试 UDP 的传输时间(延迟)并分析网络性能。UDPping 会输出每个数据包的往返时间(RTT),并统计平均延迟和丢包率。UDPping 是一个轻量级的工具,专门用于测试 UDP 的延迟和丢包情况。nping 会输出每个数据包的往返时间(RTT),并统计平均延迟。

2025-05-27 13:24:33 452

原创 Unable to get end effector tips from jmg

这个错误通常是由于配置文件中缺少末端执行器信息,或者代码中使用了错误的关节模型组或末端执行器名称。按照上述步骤检查和修改配置文件和代码,应该可以解决问题。

2025-05-17 20:56:28 423

原创 MarkerArray 可视化工具

这段代码通过在Rviz中可视化了一些信息和轨迹。确保text_pose和等变量的值是合理的,并且与MoveIt中的关节组名称匹配。如果需要更灵活的用户交互,可以考虑使用其他方法替代。

2025-05-17 20:55:24 606

原创 【MoveIt 2】使用 MoveIt 任务构造器(MoveIt Task Constructor)进行拾取和放置

当您选择特定阶段时,成功和失败的解决方案列表将显示在最右侧的窗口中。选择其中一个解决方案将开始其可视化。

2025-05-14 19:08:37 859

原创 Ros2 - Moveit2 - DeepGrasp(深度抓握)

MoveIt 任务构造器包含一个生成器阶段。此阶段不直接包含 GPD 或 Dex-Net 的实现。相反,与 MoveIt 任务构造器的通信是通过 ROS 操作消息实现的。该阶段包含一个与操作服务器通信的操作客户端。操作服务器的实现位于moveit_task_constructor_dexnet和包中。操作服务器将抓取候选连同相关成本一起作为反馈发送回操作客户端。消息的相关字段可以在中看到使用阶段很简单。将下面的阶段添加到当前任务中。实现可以在中看到。模板参数是操作消息。指定。

2025-05-14 19:04:24 835

原创 PPO算法:一种先进的强化学习策略

PPO(Proximal Policy Optimization)是一种增强学习算法,主要应用于解决连续控制任务。PPO算法在2017年由OpenAI提出,旨在解决传统策略梯度方法在连续控制任务中面临的挑战。PPO算法通过引入一个近似目标函数和重要性采样,提高了策略更新的稳定性和效率。PPO算法是一种有效的增强学习算法,适用于解决连续控制任务。通过引入近似目标函数和重要性采样,PPO算法减小了策略更新的方差,提高了学习效果。

2025-05-14 18:58:36 172

原创 强化学习_PPO算法

state定义:比如说视觉就是一幅图像或者是一幅矩阵(模型的输入)action定义:交互后的反应,例如选择上下左右(模型的输出,反作用于模型的下个输入state)初步理解:如何得到state和action:比如以超级玛丽游戏为例子,由现在的图片(当前状态state)作为输入,来控制上下左右走的行动action,也就是输出奖励(reward)背景:我们前面提到了超级玛丽的例子,提到了不同的行动,但是并没有说明那种行为更好,因此我们在此处引入了奖励奖励(reward)定义。

2025-05-14 18:53:03 555

原创 笛卡尔路径规划

两点之间插值的算法有很多,简单起见,我们就采用直线插补,因为这里小鱼是从当前点向下运动30cm,所以姿态是不存在变化的,姿态的变化也有相应的插值算法,比如球面线性插值(将ompl支持的算法常用的都测试了下,可能因为参数调的不够好,最终效果都不太满意,关于如何调整moveit所使用的ompl算法,再搞一篇文章来讲。等,虽然都可以进行路径搜索,但并不能保证最终搜索出来的路径是我们想要的那种,比如这里小鱼让机械臂向下移30cm,结果机械臂饶了一圈。为什么路径和姿态那么奇怪,开始以为是姿态问题,毕竟用的求解器是。

2025-05-14 12:09:41 277

原创 MoveIt途经点过多导致轨迹规划失败如何优化

在使用MoveIt进行机器人轨迹规划时,途经点(Waypoints)过多是一个常见问题。途经点越多,计算复杂度越高,可能导致规划时间过长甚至失败。为解决这一问题,需要从简化途经点和优化约束条件两方面入手。

2025-05-14 12:05:28 347

原创 ubuntu22.04在 Docker容器中安装 ROS2-Humble

22.04 安装 docker 容器并实现rviz功能1命令拉取包含-Humble的镜像:d验证该镜像是否拉取成功。

2025-05-11 11:19:44 435

转载 Docker容器中安装 ROS2-Humble

volume=/dev/dri:/dev/dri:挂载卷,将宿主机的 /dev/dri 目录挂载到容器的相同路径,这个目录包含了 Direct Rendering Infrastructure (DRI) 设备文件,用于 GPU 硬件的直接访问。–volume=/tmp/.X11-unix:/tmp/.X11-unix:挂载卷,将宿主机的 /tmp/.X11-unix 目录挂载到容器的相同路径,这个目录包含了 X11 服务器的 UNIX 域套接字,用于图形界面的通信。

2025-05-11 05:46:58 118

原创 Docker容器中安装 ROS2-Humble 并使用 rviz

拉取完后创建容器,但是为了能在docker中能打开窗口,将使用以下参数,只需要修改名字即可,your_name 改成你想要的名字,必须英文。这两种创建的版本,哪个能用用哪个,参考在docker中进行RVIZ可视化。然后就可以运行容器啦,$containerId 换成容器名字也可以。运行下面这句,把 $containerId 替换为容器的 id。这个时候必然会报错,上步的目的是为了创建有对应参数的容器,解决主机无法访问和容器的共享文件夹的问题,这句在主机运行。此时进入容器了,再在容器里面运行这句。

2025-05-10 18:24:55 580

原创 RViz(机器人可视化工具)的配置文件(moveitcpp)

这里是配置文件中定义的各种显示内容,包括网格、规划场景、轨迹等。面板是RViz界面中的各个功能区域,用于显示和操作不同的数据。: 展开的属性树节点,这里列出了几个默认展开的节点,如。这是RViz的核心部分,用于管理所有显示的内容。这里是配置文件中定义的工具列表,用于操作和交互。分割窗口的比例,用于控制面板的布局。指定面板的类型,这里是显示面板。用于选择和操作场景中的对象。用于显示额外的可视化工具。帮助区域的高度(像素)。: 展开的工具属性节点,如。属性树的高度(像素)。显示当前工具的属性。

2025-05-05 18:00:42 857

转载 panda 物体抓取和放置

第一个阶段CurrentState也是一个生成阶段——为了连接第一个阶段和这个阶段,必须使用连接阶段,我们已经在上面创建了。然后,我们创建一个ComputeIK阶段并将我们的GeneratePlacePose阶段传递给它——其余的逻辑与抓取阶段相同。这个阶段是一个传播阶段,它接收相邻阶段的解决方案并传播到下一个或上一个阶段。

2025-04-29 04:47:59 41

原创 Docker获取 Ubuntu 镜像

由于网络原因,国内用户可能会遇到下载镜像速度慢的问题。此时,可以使用国内的 Docker 镜像加速器。在获取 Ubuntu 镜像之前,需要确保系统上已安装 Docker。一旦容器启动,你将进入一个 bash 会话。现在你可以安装软件和配置环境。通过以上步骤,你可以成功获取并运行 Ubuntu 镜像,并根据需要进行配置和使用。这将会从 Docker Hub 下载最新的 Ubuntu 镜像。是启动容器后运行的命令,这里是启动 bash shell。是用来运行一个新的容器的命令。是你拉取的镜像名称。

2025-01-16 11:46:25 674

原创 docker hello world

3、在文件夹中使用 vim Dockerfile 命令创建一个Dockerfile文件(名字不能出错),在文件中输入以下内容。1、需要一个jar包,使用IDEA创建一个Spring boot项目,随便输出一句话,install打成jar包,jar包生成在target目录下。4、使用 docker bulid -t hello . 来构建镜像, hello为命名的构建后镜像名, . 表示构建在此目录下,如图则构建成功。4、使用 docker run hello-world 来运行镜像,如图便运行成功。

2025-01-16 11:12:51 939

原创 moveit config 属性

【代码】moveit config 属性。

2025-01-08 09:17:39 318

原创 MoveIt 中启动文件

”功能,用于简单、理想化的模拟。在我们的示例中,这是在 URDF 级别使用先前定义的“use_fake_hardware”xacro 参数配置的。虽然“ros2_control”允许您连接到真实的机器人硬件,或基于物理的模拟器(如 Gazebo 或 NVIDIA Isaac Sim)中的机器人,但它还公开了“模拟组件<>”节点,用于监听机器人的关节状态,使用机器人的 URDF 模型计算框架变换,并将它们发布到“tf2”。最后,我们可以告诉我们的启动文件实际启动我们在前面部分描述的所有内容。

2025-01-07 19:22:55 773

原创 move_group.launch.py 示例

import os# 获取 MoveIt 配置包的路径# 定义启动参数# 定义 MoveIt move_group 节点的参数文件路径# 创建 launch description 对象# 添加启动参数声明# 添加 move_group 节点Node(],],return ld。

2025-01-07 16:55:17 627

原创 MoveItConfigsBuilder 配置机器人的完整示例

这个示例涵盖了 MoveIt 配置的多个关键方面,可以根据具体需求进行调整和扩展。

2025-01-07 16:49:44 704

原创 docker基础命令入门、镜像、运行容器、操作容器

一. Docker 基础入门相关命令1.1 启动Docker1.2 查看 Docker 运行状态1.3 停止 Dokcer1.4 重启Docker1.5 配置开机启动 docker1.6 查看 docker 所有命令二. Docker 镜像相关命令2.1 docker search 镜像名称——(查询某个镜像)2.2 docker pull 镜像名称:version——拉取指定版本镜像2.3 docker images——列出当前主机上所有镜像。

2024-12-26 14:00:12 1430

转载 ROS2组件component自定义实现

本教程的主要目标为:生成一个自定义的组件信息test_component::Test1,功能包为test_component,该组件的主要功能为发布话题“/talker”,发送的数据类型为std_msg/msg/string。本教程主要实现一个自定义的组件信息test_component::Test1,功能包为test_component,组件管理器启动加载该组件后,能够正常发布话题“/talker”,据类型为std_msg/msg/string。// 创建定时器,定时1s后进入回调函数。

2024-12-06 13:53:24 152

转载 ROS单线程与多线程处理

这意味着ros::spin()和ros::spinOnce()不会调用这些回调函数。如果将NULL(默认值)作为setCallbackQueue的参数会导致使用全局队列(由ros::spin()和ros::spinOnce()服务)。在上面的spin()实现中使用了对ros::getGlobalCallbackQueue()的调用。ros::MultiThreadSpinner是一个阻塞式的spin,类似于ros::spin()。在上面的例子中,所有的用户回调函数都会在ros::spin()内部被调用。

2024-12-05 20:21:21 227

转载 精讲多线程之 MultiThreadedSpinner

笔者在实际中未遇到使用该方法的地方,仅记录在此,保持文章的完整性。CallbackB 处理了 B/message 中的所有消息 (1,2,3,4,5,6),而 CallbackA 还是 2s 调用一次,只处理了 A/message 中编号为 1,3,5 的消息。这就说明了单线程的不足,不管有多少个 Subscriber,节点都只能顺序执行回调,这在某些时候是不能忍受的,因此,多线程有了用武之地,我们要做的事情就是增加 spinner thread。一图胜千言,在只有一个。

2024-12-05 20:18:32 134

原创 MoveIt Doucument

【代码】MoveIt Doucument。

2024-12-01 17:41:22 962

原创 MobaXterm访问VMware Ubuntu虚拟机

如果您使用的是网络地址转换(NAT)或桥接模式,确保您的虚拟机IP地址和SSH端口在主机上可访问。如果您使用端口转发,请确保转发规则正确配置,并且MobaXterm连接到正确的端口。在虚拟化平台(如VMware)中,检查虚拟机的网络适配器设置,确保它与您的主机网络兼容,并且允许外部连接。:如果您的Linux虚拟机上启用了SELinux或AppArmor等安全模块,它们可能会阻止SSH连接。在Ubuntu上,您可以使用。:确保虚拟机的IP地址设置正确,不应该和物理机的IP地址相同,但需要在同一网关中。

2024-11-28 08:51:37 358

原创 AI总目录

未来已来?国内12家AI大模型盘点(附体验网址)_国内ai大模型十强-CSDN博客

2024-11-22 15:39:54 162

原创 建立IKgroup

1.点击UR5_joint1上的图标,弹出scene object properties,再设置mode,将其设置为inverse kinematics mode,并且勾选上hybrid oper。在点击dummy,设置 配对。点击kinematics,再点击add new ik group,空白框出现IK_Group,可以选择命名。<如果,没有这样设置,会导致机械臂走不到目标点,而随处旋转。选中ur5,再点击tool,选择calculation module properties。

2024-11-19 21:02:16 270

空空如也

空空如也

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

TA关注的人

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