安装ABB ROS服务器

这篇博客详细介绍了如何在ABB机器人控制器上安装ROS服务器代码,并配置控制器设置。包括先决条件,如多任务处理和套接字消息传递选项,以及通过RobotStudio进行服务器代码安装和任务配置的具体步骤。
摘要由CSDN通过智能技术生成

介绍在ABB机器人控制器上安装ROS服务器代码并配置所需控制器设置的步骤。包含两部分:安装服务器代码和使用适当的任务配置控制器。

1.先决条件

ABB ROS服务器代码使用套接字接口和多个并行任务以RAPID编写。该代码最初是在带有IRB-2400机器人的IRC-5控制器上测试的,但其他组合也应该有效。需要以下控制器选项:

  • 623-1:多任务处理
  • 672-1:套接字消息传递(在最近的RobotWare版本中,此选项包含在616-1:PC接口中)

由于使用了某些套接字选项,因此需要RobotWare OS版本5.13或更高版本。早期版本可能有效,但需要修改RAPID代码。

2.安装服务器代码

应将abb_common / rapid(Hydro和旧版)或abb_driver / rapid(Indigo和更高版本)目录中的所有文件复制到机器人控制器。本教程假定文件被复制到系统HOME目录下的“ ROS ”子目录(例如/ / HOME / ROS / *)。

有关文件传输方法,请参阅制造商的文档。RobotStudio Online和USB驱动器通常是将文件传输到控制器的便捷方法。

3.配置控制器设置

ROS服务器代码需要3个任务。某些模块加载到特定任务,其他模块在任务之间共享,如下所述:

3.1文件概述

  • 由所有任务共享
    ROS_common.sys - 所有文件共享的全局变量和数据类型
    ROS_socket.sys - 套接字处理和simple_message实现
    ROS_messages.sys - 特定消息类型的实现

  • 具体任务模块
    ROS_stateServer.mod - 广播联合位置和状态数据
    ROS_motionServer.mod - 接收机器人动作命令
    ROS_motion.mod - 向机器人发出动作命令

3.2创建任务

  1. 浏览到ABB - >控制面板 - >配置 - >主题 - >控制器 - >任务(在RobotStudio 6中,可以在Controller选项卡 - > Configuration Editor - > Controller - > Task下找到,然后右键单击New Task)
  2. 创建3个任务如下:
NameTypeTrust LevelEntryMotion Task
ROS_StateServerSEMISTATICNoSafetymainNO
ROS_MotionServerSEMISTATICSysStopmainNO
T_ROB1NORMALmainYES
在重新启动控制器之前,最简单的方法是等待所有配置任务完成。

注意:

  1. T_ROB1运动任务可能已存在于您的控制器上。
  2. 如果T_ROB1具有现有的运动控制模块,则可能需要将ROS_Motion.mod中的main()例程重命名为ROS_main()。在这种情况下,将T_ROB1任务的入口点设置为ROS_main()。
  3. 对于多机器人控制器,请为每个任务指定所需的机器人(例如rob1)
  4. SEMISTATIC任务将在控制器启动时自动启动。它们是可见的,但不容易看到故障排除。出于调试或开发目的,可能需要将ROS_ * Server任务设置为Type = NORMAL。

3.3创建信号

  1. 浏览到ABB - >控制面板 - >配置 - >主题 - > I / O - >信号(在RobotStudio 6中,可在Controller选项卡 - > Configuration Editor - > I / O System - > Signal下找到,然后右键单击New Signal)
  2. 创建4个信号如下:
NameType of Signal
signalExecutionErrorDigital Output
signalMotionPossibleDigital Output
signalMotorOnDigital Output
signalRobotActiveDigital Output
signalRobotEStopDigital Output
signalRobotNotMovingDigital Output
signalRosMotionTaskExecutingDigital Output
在重新启动控制器之前,最简单的方法是等待所有配置任务完成。

3.4将信号绑定到系统输出

  1. 浏览到ABB - >控制面板 - >配置 - >主题 - > I / O - >系统输出(在RobotStudio 6中,可以在Controller选项卡 - > Configuration Editor - > I / O System - > System Output下找到,然后右键单击New System Output)
  2. 为信号添加一个条目,如下所示:
Signal NameStatusArg 1Arg 2Arg 3Arg 4
signalExecutionErrorExecution ErrorN/AT_ROB1N/AN/A
signalMotionPossibleRunchain OKN/AN/AN/AN/A
signalMotorOnMotors On StateN/AN/AN/AN/A
signalRobotActiveMechanical Unit ActiveROB_1N/AN/AN/A
signalRobotEStopEmergency StopN/AN/AN/AN/A
signalRobotNotMovingMechanical Unit Not MovingROB_1N/AN/AN/A
signalRosMotionTaskExecutingTask ExecutingN/AT_ROB1N/AN/A

3.5将模块加载到任务

  1. 浏览到ABB - >控制面板 - >配置 - >主题 - >控制器 - >模块的自动加载(在RobotStudio 6中,可以在Controller选项卡 - > Configuration Editor - > Controller - > Automatic Loading of Modules下找到,然后右键单击New Automatic Loading of Modules)
  2. 为每个服务器文件添加一个条目,如下所示:
FileTaskInstalledAll TasksHidden
HOME:/ROS/ROS_common.sysNOYESNO
HOME:/ROS/ROS_socket.sysNOYESNO
HOME:/ROS/ROS_messages.sysNOYESNO
HOME:/ROS/ROS_stateServer.modROS_StateServerNONONO
HOME:/ROS/ROS_motionServer.modROS_MotionServerNONONO
HOME:/ROS/ROS_motion.modT_ROB1NONONO
  1. 在最后一次更改后,选择“YES”以重新启动控制器并应用更改。

3.6更新软件

要使用新代码版本更新机械手 - 服务器文件,请使用以下过程确保实际应用更改:

  1. 像以前一样将新的/更新的文件复制到机器人控制器上。

  2. 使用P-Start重新启动控制器
    ▪ ABB - >重启 - >高级 - > P-Start - >确定
    ▪ 注意:这将擦除已加载到内存的任何现有模块。这可能会导致重新启动时出现编译问题。如果这是一个问题,请尝试另一种方法:热启动,手动重新加载模块(可能需要将SEMISTATIC任务设置为NORMAL任务)等。

  3. 控制器重新启动后,新的更改应该是活动的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值