ROS2机器人操作系统
文章平均质量分 74
ROS2机器人操作系统
机器人梦想家
211&985本硕推免华中科技大学,韩国庆北大学联合培养。申请数十项专利,曾在武汉华中数控负责五轴加工中心轨迹速度控制算法开发,深圳汇川技术负责复杂数控系统设计开发,机器人独角兽企业担任TechLeader,目前在深圳一家初创机器人公司负责算法及架构。立志在机器人领域做出一番成绩,希望和大家一起进步!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从0到1快速搭建pybullet机械臂物理干涉检测体系
摘要:本文详细介绍了如何从零开始快速搭建基于PyBullet的机械臂物理干涉检测系统。首先概述了PyBullet作为机器人仿真平台的核心特点,包括其高效的物理引擎和易用性。然后通过具体代码示例,展示了环境搭建、URDF模型加载、箱体干涉模型创建等关键步骤,最后实现实时碰撞检测功能。该方案适用于实际机械臂应用中的高效干涉检测,为机器人路径规划和安全控制提供了可靠的仿真验证手段。(149字)原创 2026-02-12 09:30:00 · 1117 阅读 · 0 评论 -
ROS2 如何用logrotate避免单个日志过长问题
ROS2日志管理:使用logrotate解决日志文件过大问题 本文介绍了如何利用Linux系统自带的logrotate工具解决ROS2日志文件无限增长的问题。通过配置logrotate的轮转策略,可以自动切割、压缩和清理ROS2日志文件,避免单个日志文件过大导致磁盘空间不足。文章详细说明了logrotate的配置文件参数,包括轮转周期、保留历史数量、压缩选项等,并提供了通过crontab定时执行logrotate的方案。该方法相比修改ROS2源码更为简便,能有效管理ROS2节点运行过程中产生的日志文件。原创 2025-08-15 09:30:00 · 1580 阅读 · 0 评论 -
ROS2 各依赖库说明文档及API检索汇总分享(humble jazzy rolling等)
本文汇总了ROS2开发中常用的文档与API检索网站,包括ROS Index(提供软件包依赖查询和版本兼容性校验)、ROS 2 Humble官方文档(系统化教程和工具链说明)、MoveIt机器人模型库(预配置URDF和运动规划资源)以及ros2_control API文档(控制器开发接口规范)。这些资源为机器人开发者提供了从基础学习到高级集成的完整技术支持,覆盖ROS2多个版本(Humble、Jazzy等)和核心功能模块。原创 2025-06-18 12:04:47 · 3256 阅读 · 0 评论 -
ROS2 编译、打包、封装三方库(Knet为例)
本文详细介绍了在ROS2环境中如何将Knet网络库编译为动态库并封装为ROS2包的全过程。首先通过修改CMakeLists将Knet源码编译为动态库,提取关键头文件和库文件。随后创建ROS2封装包,重点配置了ros2_knetConfig.cmake文件以实现find_package机制,包括设置库路径和头文件目录。最后通过空项目验证封装效果,为ROS2中的动态库复用提供了标准化解决方案。原创 2025-06-10 17:11:45 · 1604 阅读 · 0 评论 -
ROS2 从零开始创建、编译及调用C++动态库
本文详细介绍了ROS2中创建、编译和调用C++动态库的完整流程。首先创建ros2_cpp_lib包,通过CMakeLists.txt配置生成动态库,包含继承rclcpp::Node的类和计算功能。接着编译安装该库,生成头文件和共享库文件。然后创建ros2_cpp_lib_demos包,在其CMakeLists.txt中引用前述库,并在main.cpp中调用库功能。最后编译调用程序包,完成库的使用验证。整个过程展示了ROS2模块化开发的核心方法,是ROS2底层包开发的基本流程。原创 2025-06-09 09:30:00 · 1431 阅读 · 0 评论 -
ROS2 架构梳理汇总整理
本篇文章用来记录和梳理ROS2开发者及个人学习过程中对架构的理解,通过思维导图,分层架构图,逻辑流程图等说明。后续该文章会持续更新,将之前文章中所提到Nodes、Interfaces、Topics、Services、Actions、Parameters、Launch等补充到本文,使整体链接起来。原创 2025-03-25 09:30:00 · 4962 阅读 · 0 评论 -
ROS2 Control transmission_interface说明
12提供了一个基类和一些插件的实现,这些插件可以被自定义硬件组件集成和加载。它们不会被任何硬件组件或 gazebo 插件自动加载,每个硬件组件负责加载适当的传动接口,将执行器读数映射为关节读数。目前没有在中文论坛搜到完整对于这一部分的说明,所以对外网资料做了一下梳理,具体测试效果待后续完成后再写一篇文章。↩︎↩︎。原创 2025-03-14 15:00:57 · 1622 阅读 · 0 评论 -
ROS2 python package链接本地动态库技巧
本文简单记录ROS2 python pkg如何安装并连接动态库。原理相通,大家有类似导入动态库可以参考。原创 2024-10-17 22:04:50 · 1795 阅读 · 0 评论 -
ROS2 launch时根据xacro生成urdf
本文简单记录如何在ros2 launch时生成urdf并保存到目标目录。原创 2024-10-04 16:45:03 · 1767 阅读 · 0 评论 -
ROS2 Control controller_interface说明
controller_interface是ROS control控制使用的硬件之上的接口,用来做上层轨迹指令的规划,从硬件接口更新状态并根据状态生成发送命令并发送给硬件接口。该interface最初是来自ros2_control1,本文将基于博主对源代码的理解完成说明。原创 2024-09-14 20:47:16 · 3166 阅读 · 0 评论 -
ros2单目python实现基于AprilTag空间定位最简全流程
在前一篇文章内写了如何实现ros2 AprilTag定位的最简全流程1,不过那篇文章是c++实现的AprilTag的节点,本文使用Python实现全流程,更简单,配置文件也做了json解析实现,便于改变参数。AprilTag是一种高性能的视觉标记系统,广泛应用于机器人导航、增强现实和自动化领域。类似于二维码,AprilTag标记由黑白图案组成,但其设计旨在提供更高的精度和更强的鲁棒性。原创 2024-09-10 09:00:00 · 2894 阅读 · 0 评论 -
ROS2 2D相机基于AprilTag实现3D空间定位最简流程
AprilTag是一种高性能的视觉标记系统,广泛应用于机器人导航、增强现实和自动化领域。类似于二维码,AprilTag标记由黑白图案组成,但其设计旨在提供更高的精度和更强的鲁棒性。通过相机识别和解码这些标记,可以实现精确的位置和姿态估计,从而使机器人或计算机视觉系统能够准确地感知和定位自身在环境中的位置。AprilTag因其高效性和可靠性,在现代机器人技术和自动化应用中扮演着重要角色。本篇文章主要做了该套代码整体实现,整体架构如下:本项目源代码在gitee1可以找到。fill:#333;原创 2024-09-03 00:24:14 · 4557 阅读 · 0 评论 -
raspberry pi/orienge pi等arm架构硬件打包ros humble docker视觉及机器人开发镜像
这篇文章主要用于定制化打包需要的docker镜像,由于ros1提供的镜像源是国外的很多软件无法更新,所以这篇文章讲如何通过定制的方式修改源,并且提前安装好需要的环境软件等。amd64, arm32v7, arm64v8名称内容系统硬件raspberry pi或orange pi arm64V8(32V7理论上也是可以的)内存8G硬盘32GB。原创 2024-05-22 21:45:32 · 3039 阅读 · 1 评论 -
ROS2 launch rs_launch.py的说明(设置分辨率、配准、pcl图等)
本文目的是记录下当前ROS2版本apt install 的 realsense-ros的rs_launch文件中参数有哪些及如何配置。原创 2024-03-13 22:37:48 · 2796 阅读 · 0 评论 -
ROS2 Python导入三方库及自定义python程序
本文主要讲解ROS2建立pyhon包时如何导入三方库文件(.so),及自定义的python程序。关键区别在于是否有"."# 通常我们在导入python程序时如下# 在导入自定义python文件时如下# 去掉点会报错。原创 2024-03-12 23:14:20 · 2850 阅读 · 3 评论 -
ROS2 control常用command命令功能及使用
以下命令支持从命令行与进行交互。它们可通过标准的ROS2 CLI框架获得。原创 2024-03-10 23:39:42 · 2127 阅读 · 0 评论 -
ROS2快速实现ament_lint_auto自动代码审查
本文用来记录ROS2如何快速实现代码自动审查测试。本文提供一种在ROS2 程序CI编译时自动自动审查测试的方法,也可以单独设置等1,其中还有有一些规范设置等参数,感兴趣的朋友可以自行研究。↩︎。原创 2024-03-07 21:23:06 · 2357 阅读 · 0 评论 -
ros2 launch如何控制node的启动顺序
本文用来说明如何控制ros2 launch 节点的先后顺序,我们有时候需要一个节点启动完成后再启动其它节点。原创 2024-03-06 22:19:58 · 2155 阅读 · 0 评论 -
ROS2 Control hardware_interface说明
hardware_interface是ROS control控制使用的硬件接口,用来向硬件发送 ( write() ) 命令并从其接收 ( read() ) 各轴的状态。本文主要对ROS control常用的hardware_interface做了整理汇总统一说明,方便后续查阅了解使用。原创 2024-03-05 16:07:26 · 4358 阅读 · 0 评论 -
ROS2 Python环境变量PYTHONPATH设置
创建python包时,有时候会涉及外部库的导入,这里讲解一下如何配置PYTHONPATH变量让程序顺利找到外部库。设置,这种方法不但能导入.py程序,同时动态库、静态库也可通过此方法导入并找到。或者新建一个目录更新PYTHONPATH环境变量,使用。放同级,在写程序时通过import即可,例如导入一个。此处以ROS2 Humble版本为例。如果依赖库是py程序,与。app.py应当如下所示。原创 2024-03-04 21:09:52 · 2993 阅读 · 0 评论 -
ROS2 Control分析讲解
是一个使用(ROS 2)进行机器人(实时)控制的框架。它的软件包重写了ROS(机器人操作系统)中使用的软件包。的目标是简化新硬件的集成并克服一些缺点。1本文对于做了总体的介绍,后续会做一个真实机器人controller driver的实现,用于针对不同的硬件做控制驱动。↩︎。原创 2023-12-14 20:28:15 · 9480 阅读 · 0 评论 -
ROS 1到ROS 2项目移植的一些转换点
这些指南展示了如何将现有的ROS 1软件包转换为ROS 2。如果您是ROS 1和ROS 2之间移植的新手,建议您按顺序阅读指南。原创 2023-12-12 20:49:04 · 2780 阅读 · 0 评论 -
ROS2 LifecycleNode讲解及实例
本文用来记录什么是LifecycleNode,做背景介绍及基本原理的介绍及分析如何使用。1这是节点在实例化后立即处于的生命周期状态。这也是节点在发生错误后可能返回的状态。节点可以经由configure转换转换到Inactive状态节点可以经由shutdown转换转换到Finalized状态本文对于LifecycleNode做了整体的说明和测试,说明了中间的变换关系,方便大家理解和用于实际使用中。↩︎↩︎ROS2----LifecycleNode生命周期节点总结↩︎。原创 2023-12-12 20:39:57 · 4149 阅读 · 0 评论 -
一文学会配置Fanuc控制柜端ROS2驱动
本文用来记录如何配置Fanuc机器人控制器ros驱动,目的是后续实现ROS2控制实体机器人运动。本文讲解了如何配置Fanuc机器人控制柜端的程序,后续会在此基础上讲解如何配置ROS端的软件程序。原创 2023-08-18 19:16:39 · 5256 阅读 · 6 评论 -
Ros2中常用的一些指令记录
ros2常用指令分享原创 2023-06-01 11:57:08 · 2030 阅读 · 0 评论 -
一文说明ROS中URDF和SRDF分别是什么
文章目录前言一、功能作用说明URDFSRDF二、样例文件说明URDF文件例子SRDF文件例子总结前言URDF全称为Unified Robot Description Format,中文可以翻译为“统一机器人描述格式”。与计算机文件中的.txt文本格式、.jpg图像格式等类似,URDF是一种基于XML规范、用于描述机器人结构的格式。SRDF, 全称为Semantic Robot Description Format,是MoveIt针对控制机器人关节运动使用的一种机器人描述文件格式。一、功能作用说明原创 2023-05-30 13:11:13 · 6326 阅读 · 0 评论 -
raspberry/arm 搭建ros2 docker开发环境
文章目录引言实现安装dockerros2 image from dockerhub启动ros2 bash总结引言本文用来记录如何在raspberry 3B上搭建起ros2的docker开发环境。实现安装docker参考如何建立并使用dockerros2 image from dockerhub本想建立foxy的docker container 但是由于image不支持arm v7所以改用ros2 Eloquent Elusorros2 所有历史版本链接,拉image方法如下所示1:sudo原创 2021-11-10 00:14:19 · 4424 阅读 · 0 评论 -
Ros2 vcs(vcstool)安装及使用
本文用来简单记录vcstool如何下载,vcs在ros中用来做项目版本管理,可以用来方便保存、下载、更新依赖repo流程。原创 2023-05-10 16:13:38 · 5400 阅读 · 0 评论 -
如何将ROS2程序打包至busybox中,以volume方式挂载运行
本文用来记录如何手动打包ROS2安装程序。之所以这么做是当前博主打包的docker base镜像包含ros2 humble的基础环境和一些常用依赖等,希望将应用程序以volume的形式挂载到镜像里,这样就大大缩减了成品包的大小。1本文用作简单记录配置流程。Docker - 镜像的分层 - busybox镜像制作↩︎ROS2新电脑配置-linux/debian/ubuntu↩︎ROS2构建工具colcon介绍↩︎↩︎。原创 2023-01-20 15:48:53 · 3104 阅读 · 0 评论 -
ROS2新电脑配置-linux/debian/ubuntu
这里用来记录新配置一台主机ROS2 docker环境的过程。至此ros2基础环境已经配置完成,可以在docker中实现工程项目的开发。原创 2023-01-04 19:35:50 · 3084 阅读 · 0 评论 -
快速创建ROS2 packages
我们通常用创建包,它是Ros2提供的一种能快速创建c++、python包的方法。原创 2022-11-21 11:23:50 · 3888 阅读 · 2 评论 -
ROS2 编写运行简单server client
ROS2创建server client文章目录正本创建package创建interfaceServer代码Client代码编译运行运行结果注意正本创建package创建节点通讯使用service时,在工作空间如何快速创建一个项目package,使用如下命令:#首先进入dev_ws/srccd srcros2 pkg create --build-type ament_cmake cpp_srvcli --dependencies rclcpp example_interfaces输入结果如原创 2022-02-16 19:30:29 · 2893 阅读 · 0 评论
分享