ROS-I使用总结

ROS-Industrial 之 MoveIt —— 碰撞物体约束添加 在之前的ROS-Industrial Overview中,ROS-I 的高层架构包含有MoveIt层,用来完成机器人的运动规划任务。在此记录一下在使用过程中遇到的磨人的问题。 文章目录1. 问题描述2. 应对方法3. 原因分析 1. 问题描述 2. 应对方法 3. 原因分析 ... 阅读详情


前言

工业机器人是机器人中非常重要的一个部分,在工业领域应用广泛而且成熟,ROS迅猛发展的过程中,也不断渗入到工业领域,从而产生了一个新的分支——ROS-Industrial(ROS-I)。简单来说,ROS-I的目的是为工业机器人提供ROS接口,从而使得ROS可以控制工业机器人。


1. ROS-I的目标

  1. 将ROS强大的功能应用到工业生产的过程中;
  2. 为工业机器人的研究与应用提供快捷有效的开发途径;
  3. 为工业机器人创建一个强大的社区支持;
  4. 为工业机器人提供一站式的工业级ROS应用开发支持。
  5. ROS向工业领域的渗透,可以将ROS中丰富的功能、特性带给工业机器人,比如运动规划,运动学算法,视觉感知,还有rviz,gazebo等工具,不仅降低了原本复杂严格的工业机器人研发门槛,而且在研发成本发面也具有极大的优势

2. ROS-I的架构

在这里插入图片描述
① ROS-I Controller Layer:这一层是机器人控制器层,作为整个框架的最底层,这一层是在具体的机器人控制器上编写指令,实现机器人状态、当前关节数据的发送,动作点位的接收及移动功能。发送、接收数据的规范由②Simple Message Layer定义,机器人控制器作为服务器。

② ROS-I Simple Message Layer:对信息传输格式进行规范,在底层和其上的层次之间加入一条规范的通道,所以向上传送和向下传送的数据必须按照这条通道规范的格式进行传送,不然就报错。上下层通讯方式为socket通讯,此层是定义socket通讯的具体协议。

③ ROS-I Interface Layer:此层提供了ROS接口。把从机器人控制器接收到的状态、当前关节数据以话题的方式发布到ROS。并通过ROS action的方式,接收ROS传送过来的点位路径数据,通过②Simple Message Layer协议发送到机器人控制器。

④ ROS-I Configuration:机器人及机器人控制器相关的配置信息。通常需提供机器人本体的URDF文件,用于在Gazebo或是RVIZ中进行机器人的建模。及parameters等指定机器人的相关参数,控制器的IP地址,各种可能用到的或用不到的信号量等等。

⑤ ROS Layer:ROS的开发层,可开发相关的ROS相关功能。

⑥ MoveIt Layer:ROS提供的机械臂开发平台。该平台提供了一系列功能包,帮助开发者完成机械臂的运动学求解、运动规划、3D感知、仿真配置等功能。

⑦ ROS-I Application Layer:这一层是针对工业应用的应用层,未来可能会包括工业的工艺规划,状态机等功能。

⑧ ROS GUI:ROS中现在已有的UI工具。

⑨ ROS-I GUI:专门针对工业机器人通用的UI工具,不过是将来才会实现。也可自己开发对应的界面。

从上边的架构我们可以看到,ROS-I在复用已有ROS框架、功能的基础上,针对工业领域进行了针对性的拓展,而且可以通用于不同厂家的机器人控制器。

使用ROS-I主要需要的开发工作位于① ROS-I Controller Layer、③ ROS-I Interface Layer及④ ROS-I Configuration。同时也需了解② ROS-I Simple Message Layer才能编写①及修改、使用③。


3. ROS-I官网

  • ROS-I官方:http://wiki.ros.org/Industrial
  • ROS-I教程:http://wiki.ros.org/Industrial/Tutorials
  • ROS-I源码下载:https://github.com/ros-industrial/industrial_core

4. 对应Layer解析

4.1 ROS-I Simple Message Layer

ROS-I Simple Message Layer主要包含2个内容:Simple Message数据格式定义及Simple Soket的通讯端口定义。

4.1.1 Simple Message解析

参考:Simple Message解析


4.1.2 Simple Soket解析

参考:Simple Soket解析


4.2 ROS-I Controller Layer

参考:Robot Contoller Layer


4.3 ROS-I Interface Layer

参考:ROS-I Interface Layer


4.4 ROS-I Configuration

参考:ROS-I Configuration


5. 参考:

1.ROS探索总结(二十七)——ROS Industrial


2.ROS-Industrial Overview


ROS 基本介绍及安装说明 1.ROS相关网站 ROS官网 https://www.ros.org/ ROS wiki http://wiki.ros.org ROS answers: http://answers.ros.org 2.ROS 安装说明 本文主要是针对Ubuntu 系统进行说明,这里可以参见 http://wiki.ros.org/noetic/Installation/Ubuntu英文介绍 2.1 设置 源列表 sudo sh -c '. /etc/lsb-release && ... 阅读详情

相关推荐

ROS-I学习笔记(4)-Actions(1.Server)

共两部分:Server和Client 1.SimpleActionServer:actionlib_tutorials/Tutorials/SimpleActionServer(ExecuteCallbackMethod) - ROS Wiki 2.SimpleActionClient: actionlib_tutorials/Tutorials/SimpleActionClient - ROS Wiki 第一部分:使用Execute回调编写简单操作服务器 Description:本教程介绍如何使

D124lab的博客 1073

ROKAE机器人 + ROS-I + MoveIt! + Socket通信实践总结

这篇博客记录一下使用ROS控制ROKAE机器人的学习过程,仅供山东科技大学机器人中心206实验室参考。

等你下课 7813

一、Pycharm中加载Ros库

配置pycharm 设置快捷键,使从快捷方式启动PyCharm的同时加载ROS环境变量 gedit /usr/share/applications/jetbrains-pycharm-ce.desktop #全部用户可用 gedit ~/.local/share/applications/jetbrains-pycharm-ce.desktop #如果选择安装为当前用户可用 不同版本jetbrains-pycharm-ce.desktop名字可能会有些差异 .

xp_fangfei的博客 842

ROS-I:ROS-I Configuration

文章目录1. 概述2. Robot urdf3. parameters 1. 概述 ROS-I Configuration部分主要向ROS提供三部分内容: Robot urdf parameters ROS convertions 2. Robot urdf Robot urdf文件是对机器人的描述,ROS通过读取urdf文件得到一个可视化的模型及机器人的各项参数。 Robot urdf文件可以通过SolidWorks导入机器人的3d模型,使用solidworks_urdf_exporter插件生成

flsxyw的博客 455

ROS机器人编程实战:深入理解与应用

本文深入探讨了ROS(Robot Operating System)在机器人编程中的应用,包括控制器和可视化工具的使用、I/O板、传感器和执行器的接口,以及ROS在工业机器人中的应用。文中详细介绍了如何编写实时关节控制器、ROS可视化工具RViz的使用与插件开发、以及Kinect和Velodyne LIDAR等视觉传感器的编程。同时,还涉及了差分驱动移动机器人硬件的构建与接口、MoveIt!的高级功能探索、以及ROS在工业机器人中的应用。最后,本文提供了ROS编程的最佳实践和故障排除技巧。

weixin_35755188的博客 785

ROS 6.19最新正式版破解版 MikroTik RouterOS可升7.x L6全功能版本

MikroTik RouterOS v6.19 最新正式版 L6许可,可顺利升级到7.x版本。 文件MD5:d99b840320739c0433bc8f062feb6bb5 此文件为VMware的导出文件。 可安装到VMware Workstation和VMware ESX服务器。

使用ROS-I接口通过MoveIt包安装和操作ABB机器人

使用ROS-I接口安装和操作ABB机器人 1.在RobotStudio中使用仿真机器人(用真实机器人的可以跳过这一步) 设置用于ROS-Industrial驱动程序的ABB RobotStudio模拟器。 http://wiki.ros.org/abb/Tutorials/RobotStudio 通过使用仿真机械臂替代真实机械臂,可以在ROS和ABB机械臂进行通信仿真。这种情况下,通常有两...

tuziaaa的博客 2301

ros-tutorial-icourse163(不带注释).pdf

这个ROS操作系统的教程是本人目前为止看到过的最非常清晰明了,通俗易懂的ROS中文教程。这个是未带注释的版本,另外我在学习的过程中做了注释笔记,把重点地方框了出来,并做了高亮注释,更改了少数的错误。有需要下载带注释版本的请查看博主另外上传的资源。

apriltags2_ros应用实践——如何在realsense d435i上使用apriltags二维码实现定位

最近课题中采用VINS-Mono来做视觉惯性融合定位(VIO),因为所要求的环境条件无法进行闭环,为消除累计误差,打算以每多少米放置一个二维码的方式来辅助SLAM定位。为此选择了apriltags。 至于为什么在那么多种二维码中选择apriltags(其他常用的二维码还有QR、ARtag等),apriltags是如何进行二维码识别与定位的,以及如何将apriltags得到的位姿融合到VIO中...

Manii 1万+

Excel也能玩转K-means聚类?手把手教你用表格搞定用户分群(附完整公式)

本文详细介绍了如何在Excel中实现K-means聚类算法,无需编程即可完成用户分群。通过SUMIF、SQRT等基础函数,从数据预处理到最终分群全流程手把手教学,特别强调数据标准化和迭代优化的关键步骤,帮助运营团队低成本高效分析用户行为数据。

weixin_30555125的博客 178

ubuntu17.04 UHD 驱动出错

ubuntu 17.04 源码安装UHD

xrh003的博客 1万+

在PC通过虚拟机使用ROS Kinetic与ROS-I工业机器人官方培训资料汇总

----PC设置ROS Kinetic 第58页初学者培训Kinetic(最新)IndigoHydro Groovy在本地克隆这个维基 在桌面上克隆使用ROS-Industrial培训材料有两个选择。第一个推荐的选项是利用预配置的虚拟机。第二个选项是使用Ubuntu将所需的软件安装到本机。虚拟机方法是迄今为止最简单的选择,并确保在培训期间最少的编译错误,但是其连接到某些硬件的能力受到限制,特别是通

zhangrelay的专栏 3161

STM32嵌入式开发实战:如何用miniLZO压缩算法节省70%存储空间(附完整工程)

本文详细介绍了如何在STM32嵌入式开发中使用miniLZO无损压缩算法实现高达70%的存储空间节省。通过对比分析不同轻量级算法,重点讲解miniLZO的内存优化配置、分块压缩策略和完整工程实现,帮助开发者有效解决嵌入式系统中的存储瓶颈问题。

ss78901的博客 877

在ros中利用C++订阅话题输出为TXT文本及从文本读取发布话题

目录 订阅话题输出TXT文本读取txt文本发布话题读取效果 订阅话题输出TXT文本 /home/zero/catkin_ws/src/tang/src/save_point.cpp rosrun tang save_point #include "ros/ros.h" #include <geometry_msgs/PointStamped.h> #include <fstream> #include <iostream> #include <Eigen/Core

qq_45281711的博客 5450

波分复用-Zblock仿真

Z-BLOCK是一种用于光通信模块的光学元件,其核心结构是在玻璃块一侧贴有4个特定波长滤光片,另一侧镀有反射膜和增透膜。光信号在内部呈现Z字形反射路径,实现波长分离。文章以可见光LED为例,在ZEMAX中演示了非序列模式下的建模过程,重点介绍了滤光片和膜层的参数设置方法。需要注意的是,入射角度需根据玻璃折射率、通道高度和厚度精确计算,否则可能导致光泄漏。该建模方法同样适用于光通信中的光纤激光器系统。

Zhaxibamao的博客 1719

STM32C8T6实战:用PID算法搞定超级电容的10W无线恒功率充电(附代码避坑)

本文详细介绍了如何使用STM32C8T6和PID算法实现超级电容的10W无线恒功率充电。通过优化硬件设计、动态调整PID参数以及三重滤波技术,解决了超级电容充电过程中的功率尖峰和效率问题。附有代码示例和调试经验,帮助开发者快速实现高效稳定的无线充电方案。

weixin_29190169的博客 399

ubuntu 20.04安装visp, vision_visp, visp_ros,配合realsense d453i教程

本教程适用于利用visp视觉伺服平台在真实机器人上实现视觉伺服功能,visp_ros是方便visp与机器人之间通过ros进行通讯,通过ros topic的形式收发数据,vision_visp作为visp提供给ros的组件。

Maomaokingya的博客 2071

SAP WM模块事务码(TCODE)大全

OL07 Data transfer stor.bins LDK34->RLPLA 仓储位LDK34 ->RLPLA

matinal 當冬夜漸暖 。公众号:matinal 5834

如何在NXP i.MX8MP平台主板上构建ROS ?

熟悉ROS开发的用户会发现ROS在Ubuntu系统中集成得很好。这是因为ROS被广泛用于在Ubuntu x86架构上开发机器人解决方案。相反,基于arm的平台通常默认提供嵌入式Linux(如Yocto OS),由于嵌入式Linux以提供一个框架而闻名,使终端用户能够从构建块设计自己的操作系统,因此使用ROS平台安装和开发更加困难。

研华嵌入式 1027

【DDSCAT——离散偶极近似仿真程序05】模型设计Matlab代码:多核壳球 、多核壳圆柱

简洁明了,后面及部分给出的都是模型设计的Matlab代码,这些代码都来自于一篇文章:Chin C W S. Localized Surface Plasmon Resonance with the use of Silver and Titanium Oxide Nanostructures[J]. 2011. 一、设计多个核壳球形结构 1)Matlab代码 ...

XD_Yangf的博客 4252

YOLO11涨点优化:知识蒸馏 | 引入FGD(Focal and Global Distillation)蒸馏,让轻量学生模型汲取大模型全局感知力

文章摘要 目标检测模型YOLO11在轻量化部署中存在"全局盲区"问题,即轻量模型感受野不足导致大尺度场景下性能下降。知识蒸馏技术FGD(Focal and Global Distillation)通过双分支机制有效解决这一问题:Focal Distillation分离前景背景特征,让学生模型聚焦关键区域;Global Distillation传递像素间关系信息,弥补全局感知缺陷。实验表明,FGD可使YOLO11轻量版mAP提升2.5%以上,且不增加推理耗时。本文详细解析了FGD原理,并给出YOLO11上的实

2601_95807009的博客 225

ROS1/Linux——vim使用

Linux系统vim操作记录

eagle_Annie的博客 302

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

qt如何配置ros环境

在Qt5.7的版本可以使用bash -i -c来启动qt,让Qt自己识别系统环境,不知道为什么Qt在之后的版本,这样使用都失效了。因为它会默认把CMAKE_PREFIX_PATH修改掉。网上还有安装ros插件版本的qt creator,感觉失去了一些灵活性。自己测试发现,只要在CMakeList.txt中加入ros的库信息即可。但是运行的时候还要配置ROS的一个变量ROS_MASTER_URI。具体位置在qt的Build Environment。这样编译是没有问题的。

南北粉面馆 621

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

mx8平台如何使用yocto增加ros2

参考文献https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-%E6%9C%BA%E5%99%A8%E4%BA%BA%E5%B9%B3%E5%8F%B0-i-MX-Robot-Platform/ta-p/1198619 下载此链接文件 git clone https://gitee.com/zxd2021-imx/meta-robot-platform.git 在下载相应平台的ros2 https://github.

ldinvicible的专栏 1624

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ros构建机器人运动学模型_ROS入门学习之七Moveit机械臂控制

1.MoveIt!系统架构MoveIt是什么:一个易于使用的集成化开发平台由一系列移动操作的功能包组成:运动规划、操作控制、3D感知、运动学、控制与导航算法提供友好的GUI可应用于工业、商业、研发和其他领域ROS社区中使用度排名前三的功能包系统架构用户接口(User Interface)C++:使用move_group_interface包提供的APIPython:使用moveit_command...

weixin_36002475的博客 1264

zed2i录制前的准备

文件一:catkin_zed/src/zed-ros-wrapper-3.8.x/zed_wrapper/params/common.yaml。需要注意的地方,我都用中文注释了,自己摸索出来的,如果有谬误,欢迎指正~录制前需设置文件主要有两个。

weixin_44760904的博客 1335
上一篇: ROS-Industrial :simple_message
下一篇: ROS-Industrial :simple_socket
日落如初
博客等级 码龄16年 3粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值