- 博客(145)
- 资源 (1)
- 收藏
- 关注
原创 IgH EtherCat主站启动失败
原因:Linux 内核升级(现在是 6.8.0-107),但 EtherCAT 的内核模块 ec_master 没有跟着重新编译,所以加载不了,导致启动失败。选定以字母e开头的MAC地址,编辑。
2026-04-15 16:58:45
32
原创 IsaacSim 安装与使用记录(14)
机器人描述文件的一个关键方面是定义机器人的c空间。比如Franka臂,并附带一个两自由度的夹持器。在机器人URDF文件中,共有九个非固定关节可以被认为是可控制的。然而,Lula算法设计用于将机器人移动到位置,但不用于控制终端执行器。主动关节固定接头任何标记为主动关节的物体都会被直接控制,而标记为固定关节的物体则从Lula算法的角度假定为固定的。在Franka机器人上使用时,Franka手臂上的七个关节标记为主动关节,抓握关节标记为固定关节。
2026-04-01 21:58:45
277
原创 IsaacSim 安装与使用记录(13)
注意:shift+鼠标左键,可以在仿真时拖动物体移动。注意:Z轴负方向朝向被吸物体就不可以,无法吸附。注意:Z方向的刚度要大一些。
2026-04-01 16:35:32
271
原创 IsaacSim 安装与使用记录(12)
适用于需要全向感知的场景,如自动驾驶车辆的环境建模。RTX Lidar 和 PhysX Lidar 是两种不同的激光雷达技术,分别由英伟达(NVIDIA)的不同技术分支支持。RTX Lidar 基于英伟达的 RTX 技术,专注于实时光线追踪和 AI 加速,适用于高精度 3D 建模和实时场景重建。PhysX Lidar 基于英伟达的 PhysX 物理引擎,主要用于模拟物理交互,如碰撞检测和动态环境中的物体运动。PhysX Lidar 通过物理引擎计算物体间的相互作用,生成的数据更侧重于动态环境的物理属性。
2026-03-31 17:12:14
239
原创 IsaacSim 安装与使用记录(11)
内存 Stage 无持久化 Layer:Create in Stage 是在内存 Stage创建资产,无持久化 Layer,Action Graph 需要写入 Stage 的 Layer,空 / 无效路径导致创建失败。在导入时有两个选项,一个是Convec Hull,这是简化的凸包络,会把一些模型合并成一个包络,即包络不精准,增加了碰撞体的包络。且在导入时选择的Collider Type就确定了对象的凸包络,导入之后,在Property中再编辑碰撞近似方法也是无效的。适合只读场景,如仓库货架、静态场景。
2026-03-31 10:50:57
248
原创 IsaacSim 安装与使用记录(10)
首先,使用sw2urdf插件,将文件导出为urdf(SLDPRT零件是无法直接使用sw2urdf的,需要将其插入到SLDASM装配体中)这是生成的文件,对于导入isaacsim,只需要meshes和urdf两个文件夹就行。刚导入的对象是没有物理属性的,即在仿真时,该对象静止不动,且不存在碰撞,运动等属性。然后点击仿真,出现报错:默认的是Triangle Mesh,需要修改碰撞近似方法:修改为Convec Hull然后再点击仿真,没有报错了,但是物体静止:这是因为在导入时有一个
2026-03-27 17:38:10
269
原创 IsaacSim 安装与使用记录(9)
提示:2026-03-13 08:54:08 [Error] [omni.kit.commands.command] <class ‘RuntimeError’> Could not find assets root folder: /home/xhj/isaacsim_assets/Assets/Isaac/5.1/Isaac。可以看出,这里会检查default_asset_root路径下的两个文件夹,一个是Isaac,另一个是NVIDIA。通过查看,发现是缺少NVIDIA文件夹。
2026-03-20 00:39:11
231
原创 IsaacSim 安装与使用记录(8)
,},"topic": {},},上面的代码就是生成这个OmniGraph图案,指定了输入与输出的节点。下面是自定义的内容:# 导入必要的模块from isaacsim.core.api.controllers import BaseController # 控制器基类from isaacsim.core.utils.types import ArticulationAction # 关节动作类型import numpy as np # 数学计算库# 机器人物理参数。
2026-03-13 16:52:53
257
原创 IsaacSim 安装与使用记录(7)
这个报错意思:ROS_PublishJointState 节点中指定的机器人路径 /World/isaacsim_gubbleis35 不是一个可驱动的 articulated 机器人(机械臂 / 轮式机器人等带关节的机构),或者该 Prim 不存在。注意:如果通过URDF导入机器人为USD文件,所有的连杆必须都要有质量和惯量属性,不能为0,否则就无法添加Articulation Root ,因为不会出现这个选项。官网提供的示例代码直接运行无法成功,因为它要求使用线上的assets。
2026-03-11 18:44:04
276
原创 IsaacSim 安装与使用记录(6)
系统中安装的 spdlog 版本(1.9.2)与 Isaac Sim ROS2 桥接插件自带的 spdlog 库(路径在 /home/***/isaacsim/exts/isaacsim.ros2.bridge/humble/lib/)发生了冲突,ROS 2 优先加载了 Isaac Sim 自带的 spdlog 库,导致符号不匹配。如果出显示 /cmd_vel 、 /parameter_events 、/rosout 三个 topic ,就表示目前 ROS 2 状态正常。
2026-03-06 09:22:55
268
原创 IsaacSim 安装与使用记录(5)
将Stabilization Threshold降低到0.00001,这降低了机器人在不运动时开始稳定自身的阈值。将Sleep Threshold 降低到0.00005,这降低了机器人在不运动时进入睡眠的阈值。对于具有多个自由度和拟态关节的复杂机器人,增加这些值将以牺牲性能为代价,使仿真更加精确。但关节的一些属性还是需要配置的,如关节的上下限位角度、最大速度、关节驱动等。在Construct Array Node的Inputs就是机械臂的关节角。点击后,就会打开对应的属性窗口。
2026-03-05 14:58:52
278
原创 IsaacSim 安装与使用记录(4)
这个报错是 Isaac Sim / Omniverse 中常见的材质绑定问题,核心原因是尝试修改材质的 prim 是一个 instance proxy(实例代理),而实例代理本身不允许直接修改材质绑定,需要修改其对应的 master(主)prim 或对实例进行 “展开” 操作。的复用,实例代理本身只是一个引用,不存储材质等属性,因此无法直接绑定新材质。直接对实例代理进行材质操作会触发该警告,操作不会生效。在属性选项中有一个“Instanceable”,勾选表示为实例代理,不勾选表示为独立prim。
2026-03-05 11:43:20
262
原创 IsaacSim 安装与使用记录(3)
配置settings.json,以解析urdf文件中的“<mesh filename=“package://vehicle_is35_robot/meshes/vehicle_base_link.STL”/>”这里在Model中选择的是“Create in Stage”,所以在并没有产生模型文件。网址:https://viewer.robotsfan.com/但是在显示窗口中并没有机械臂对象,这就说明urdf存在问题。把整个URDF文件夹拖到上述页面,即可查看。输入:Tasks: Run Task。
2026-03-04 18:05:01
297
原创 IsaacSim 安装与使用记录(2)
如果看见错误ModuleNotFoundError: No module named ‘isaacsim’,请确保虚拟环境被激活并且source _isaac_sim/setup_conda_env.sh已经被执行。新建文件夹isaacsim和isaacsim_assets,将isaacsim的安装压缩包放入isaacsim,把Isaacsim Assets的三个压缩包放入isaacsim_assets。资产包的路径:isaacsim_assets/Assets/Isaac/5.1/Isaac。
2026-02-28 15:30:58
497
原创 IsaacSim 安装与使用记录(1)
如果计划使用Visual Studio Code,则推荐使用二进制包安装,因为在二进制包中集成了VScode的配置文件,而pip安装方式没有。Isaac Lab依赖于Isaac Sim,因此需要先安装Isaac Sim,然后再安装Isaac Lab。对于大部分用户,安装Isaac Lab最简单和最快速的方式是使用Pip包安装。该方法将通过pip安装Isaac Sim,Isaac Lab通过其源码安装。注意:全程按照提示操作,否则就会导致系统升级失败,无法开机。上面提示在执行升级前,先卸载ROS。
2026-02-27 09:57:45
481
原创 simulink 转换为模型模块,实现模型加密保护
原子子系统是 Simulink 中“不可拆分的独立运算单元”,区别于仅做视觉分组的虚拟子系统;核心价值是保证时序完整性和代码独立封装,是工业级控制算法开发的常用操作;设置后子系统拥有独立的采样时间、触发方式等属性,需注意与内部模块的时序匹配。如果需要,我可以提供一个“PID 算法封装为原子子系统”的完整示例(包含模型文件+代码生成效果),帮你直观理解,需要吗?
2026-02-10 14:52:03
587
原创 windows11安装NLopt库,在qt 5.14.2中调用NLopt
注意:这里已经把nlopt_install文件夹复制到qt项目文件的libs路径下,且重命名为nlopt.
2026-02-06 17:02:55
506
原创 windows 使用MinGW安装Nlopt
默认安装到C盘Program Files(x86)文件夹下。管理员身份打开cmd,重新进入到build文件夹。
2026-02-05 23:17:42
89
原创 Gazebo 问题记录(四)
步骤工具/命令关键点预处理 URDFxacro处理宏定义和参数化转换为 SDFgz sdf -p检查输出文件完整性加载到 Gazebo自动转换并加载物理属性修复手动编辑 URDF/SDF确保质量、惯性正确如遇到具体错误(如关节类型不支持),建议查阅 Gazebo 日志或使用提前验证。
2026-01-19 11:44:04
751
原创 Gazebo 问题记录(三)
gdb(GNU Debugger) 是一个功能强大的命令行调试工具,主要用于调试用 C、C++ 等语言编写的程序。启动程序:在调试器的控制下运行程序。暂停程序:让程序在特定点(如断点、异常点)停止执行。检查状态:当程序暂停时,可以查看变量的值、寄存器内容、内存状态、源代码位置等。修改状态:在暂停时,可以改变变量的值或执行流程(需谨慎)。控制执行:单步执行(逐行)、继续运行、跳过函数调用等。分析崩溃最重要的功能之一,就是当程序因为错误(如段错误SIGSEGV、总线错误SIGBUS)而崩溃时,gdb。
2026-01-17 22:16:37
1078
原创 Gazebo 问题记录(二)
boost 是 C++ 的一个 开源跨平台通用库集合(Boost C++ Libraries),里面提供了大量 “准标准” 功能:智能指针、文件系统、正则、线程、日期时间、数学……注意:这种写法是把新的路径放在最前面,再把原来的 $GAZEBO_MODEL_PATH 接在后面,因此旧内容依旧保留,只是搜索顺序变了(新路径优先)在新下载的gazebo例程中,一般gazebo的模型配置路径是需要着重检查的,需要替换为自己的路径。启动脚本 /usr/share/gazebo/setup.sh 做两件事:。
2026-01-17 18:25:39
858
原创 ROS2 调试笔记(一)
是 ROS2 C++ 中简化参数声明的实用工具,适合需要快速声明和管理参数的场景。通过合理使用,可以减少代码冗余并提升开发效率。get_node()是 ROS 2 C++ 中用于获取当前节点共享指针()的方法。通常在继承自的类或使用实例时调用,用于访问节点的功能,如创建发布者、订阅者、服务等。
2026-01-17 13:31:12
730
原创 VSCode编译运行CPP程序记录(四)
是VSCode的**C/C++扩展(Microsoft C/C++)**专用配置文件,用于配置代码补全、语法检查、头文件跳转等IntelliSense功能(解决头文件标红、代码提示缺失等问题)。结合你的项目环境(同时支持MSYS64 g++、Visual Studio 2022,且包含。这个配置能让VSCode的C/C++扩展正确识别项目的头文件与语法规则,实现精准的代码补全、跳转与错误检查。,分为「用户级」(对所有项目生效)和「工作区级」(仅对当前项目生效,存放在项目的。将上述配置保存到项目的。
2025-12-19 19:11:26
724
1
原创 VSCode编译运行CPP程序记录(三)
在中定义预设(以你的g++.exe"description": "使用Visual Studio 2022生成器配置x64 Debug版本",},"description": "使用MSYS64的g++配置Debug版本",},"description": "使用MSYS64的g++配置Release版本",识别预设:保存后,VSCode的CMake Tools扩展会自动识别到这些预设。选择预设。
2025-12-19 17:52:29
1086
原创 VSCode编译运行CPP程序记录(二)
当需要编译整个项目(包括库文件和可执行文件)时,应该使用这个任务。而单文件编译任务(如"g++.exe 生成活动文件")更适合快速测试单个源文件。这段配置定义了一个VSCode任务,用于使用CMake构建整个项目。通过运行这个任务,CMake会执行完整的构建流程,生成位于。,使用MSYS2环境中的g++编译器。点击这个就是执行原来的tasks.json。这个配置是VSCode中用于编译C++程序的。目录下的库文件和可执行文件。这个任务的主要作用是。
2025-12-19 17:14:26
845
原创 VSCode编译运行CPP程序记录(一)
Windows端配置编译器选MinGW-w64的g++;安装CMake + VSCode的CMake Tools扩展;调试选C++(GDB)。Linux端配置确保安装g++和gdbVSCode中安装CMake Tools扩展;调试同样选C++(GDB)。
2025-12-19 15:18:52
1026
原创 将固定物体添加到Rivz和Gazebo
注意:在定义fixed.urdf文件中的parent link时,要选择其他urdf文件中已有的link,若新建link:world,而其他urdf中没有world,则会报错。注意:在填写<mesh>的地址时,package://, model://, file://$find都不行,需要用绝对地址。若将固定物体按照类似机械臂那种方式应用到Gazebo,可能造成Gazebo卡死。注意:如果新建了文件夹,需要把其添加到CMakeLists.txt以安装。然后就会打开Gazebo,World模型加载。
2025-12-03 18:21:05
625
原创 gazebo问题记录(一)
launch_gazebo 帮你把 ROS 环境、插件路径、端口清理都准备好了,所以“一次就跑起来”;裸 gazebo 命令缺少这些前置步骤,才显得“老崩 / 老占端口”。
2025-12-03 17:05:30
740
原创 Gazebo-Moveit2 替换不同模型的stl与urdf
*.urdf.xacro**文件,这样就可以使用<xacro />了。若想在urdf中增加一些运算,可以将****.urdf。注意文件名称的大小写。
2025-12-02 18:27:06
180
原创 ROS2-RViz-MoveIt-Gazebo-URDF学习笔记(六)
它只认 ament index 里声明为“gazebo_plugin”或“gazebo_model” 的条目,而普通 find_package 不会自动往里写。修改:需要将过时的load_yaml()函数调用改为xacro.load_yaml()再启动 launch,mesh 若加载成功,说明路径没错。
2025-12-01 18:08:47
658
原创 ROS2-RViz-MoveIt-Gazebo-URDF学习笔记(五)
语法结构name='argument_name', # 参数名称default_value='default_value', # 默认值description='Description of what this argument does' # 参数描述使用示例。
2025-12-01 17:07:01
857
原创 问题:Ubuntu设置没有WiFi,且蓝牙也无法打开
查看,显示product:Alder Lake-P PCH CNVi WiFi状态为unclaimed,即未认领的。发现低版本内核可以正常加载WiFi驱动,那就在此环境下载原版本的驱动。重启Ubuntu系统,进入 advanced 就可以选择内核。"查询iwlwifi和iwlmvm模块时也是显示没有。异常情况就是上述内容都不可见了。选择低版本内核进行启动。
2025-12-01 11:23:28
646
原创 Ubuntu ROS2安装-RVIZ2、Moveit2、Gazebo
下命令将安装正确的 Gazebo 版本 ros_gz用于在Linux系统上安装ROS。这会安装:ros-humble-gazebo-rosros-humble-gazebo-ros2-controlros-humble-gazebo-dev等依赖包。(2)安装ROS控制器包:为了使用Gazebo仿真平台中的控制器,需要安装ROS控制器包。(3)安装Gazebo的Ros插件(这里以Noetic为例子),这个根据用的ros版本修改。(5)安装完整 Gazebo 集成(可选)。
2025-11-30 23:10:22
1680
原创 Ubuntu报错:libdrm-dev : Depends: libdrm2 (= 2.4.101-2) but 2.4.107-8ubuntu1~20.04.2 is to be installed
以下是全部命令与输出。
2025-11-30 19:53:15
195
原创 Ubuntu ROS2安装-humble
如果您处于最小化环境(例如 Docker 容器),语言环境可能是最小化的,如 POSIX。不过,如果您使用其他支持 UTF-8 的语言环境,应该也没问题。ROS 2 包是建立在频繁更新的 Ubuntu 系统上的。在安装新的包之前,始终建议确保您的系统是最新的。ROS-Base安装(基础安装):通信库、消息包、命令行工具。安装ROS 2 Humble桌面版,该桌面版包含了RViz 2。您需要将 ROS 2 apt 仓库添加到您的系统中。在一个终端中,先源化设置文件,然后运行C++的。,您可以尝试一些示例。
2025-11-30 19:43:34
511
原创 ROS2-RViz-MoveIt-Gazebo-URDF学习笔记(四)
首先查看Gazebo官网可以看到官网推荐例称,点击打开:这是一个用于将 ros2_control 控制器架构与 Gazebo 模拟器集成的 ROS 2 软件包。该软件包提供一个 Gazebo-Sim 系统插件,可即时连接 ros2_control 控制器管理器,并将其连接到 Gazebo 模型。gz_ros2_control在 Ubuntu 上为 ROS 2 mombe 发布。要使用它,你必须安装ros-humble-gz-ros2-control包,例如,通过运行以下命令:将 ros2_con
2025-11-30 01:22:02
369
原创 ROS2-RViz-MoveIt-Gazebo-URDF学习笔记(三)
问题在于ROS2控制器配置中,state_interfaces包含了effort,但关节轨迹控制器只支持position, velocity, acceleration。发现effort还没有清干净,修改“is35_description.ros2_control.xacro”,将与effort相关的行删除。然后再次运行,点击“Execute”,就可以看到机械臂运动了。点击“Execute”,还是Failed,查看。点击“Execute”,还是Failed,查看。此时机械臂在重力作用下堆叠在一起。
2025-11-29 17:02:25
994
原创 ROS2-RViz-MoveIt-Gazebo-URDF学习笔记(二)
在"RobotModel"中选择Topic为“/robot_description”,回车即可看到机械臂模型。由于SolidWorks导出的URDF文件适配于ROS1,不适用ROS2,因此需要更改该文件夹。如果需要更改导出文件夹的名称,则需要把文件夹内部所有文件与旧名称相关的部分都修改为新名称。配置ros2_control的URDF,即增加机械臂命令控制接口与状态感知接口。针对上述构建的"arm"规划组,自动生成一个"arm_controller"添加虚拟关节,针对固定基座机械臂,添加一个固定的虚拟关节。
2025-11-29 12:58:53
442
原创 ROS2-RViz-MoveIt-Gazebo-URDF学习笔记(一)
新建功能包,或把别人的包 git clone 到 src 下再 colcon build。不仅配置当前工作空间的环境变量,还会递归加载所有依赖工作空间的环境变量。它适用于需要完整环境配置的场景,确保所有依赖项均被正确加载。仅配置当前工作空间的环境变量,不包括其依赖的其他工作空间。它适用于仅需当前工作空间的环境配置,而不需要加载依赖项的场景。是用于配置环境的脚本文件,但二者的作用范围和依赖关系有所不同。如果仅需当前工作空间的配置,可以使用。在 ROS 开发中,通常建议使用。在ROS2中创建工作空间通常使用。
2025-11-29 12:58:22
323
nerf-pytorch的两个数据集lego和fern
2024-04-16
BIRDy:机器人动力学辨识基准
2024-04-14
静摩擦与库伦摩擦力的Matlab实现代码与使用示例
2024-03-12
Karnopp摩擦力模型的Matlab实现代码与使用示例
2024-03-12
Stribeck摩擦力模型的Matlab实现代码与使用示例
2024-03-12
库伦摩擦力的MATLAB实现模型和使用示例
2024-03-12
摩擦力模型LuGre,Matlab实现代码
2024-03-11
使用拉格朗日欧拉动力学对任意自由度的机械臂进行逆动力学分析,输入为关节空间变量(关节位置、速度和加速度),输出为关节力矩/力
2024-03-03
深度强化学习DQN算法实现小车平衡杆(CartPole)问题
2024-02-07
柔索离散模型的Bushing连接副的Simulink仿真模型实现
2022-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅