机械臂功能 API 末端执行器 ROS

【睿尔曼-RealMan】睿尔曼超轻量仿人机械臂--常见问题速查手册

Forrest 2023-11-22

机械臂本体

问题一:机械臂型号有哪些?

       答:RM65系列:RM65-B、RM65-6F、RM65-B-V、RM65-6F-V (V为内部走线的视觉版机械臂)
              RM75系列:RM75-B、RM75-6F、RM75-B-V、RM75-6F-V 
              RML63系列:RML63-B、RML63-6F、RML63-B-V、RML63-6F-V
              ECO65系列: ECO65-B、 ECO65-6F

              GEN系列:Gen72-B

 

   

问题二:如何快速分辨机械臂是基础系列还是I系列?

      答:基础系列机械臂控制器面板有2个网口,I系列机械臂只有1个网口,控制器面板如下图所示。(I系列控制器增加了状态指示灯但是基础系列没有)

 

       基础系列    

 I系列

问题三:机械臂标准版与六维力版的区别?

      答:标配版机械臂末端没有力传感器,六维力版机械臂在末端集成了力传感器,可以检测机械臂末端X\Y\Z\三个方向的力以及这三个方向的力矩。用户可以使用这些数据做算法验证或是直接调用我们封装好的力控指令控制机械臂。可以获取的数据包括原始数据和重心标定后的系统外力。

问题四:力控和电流环控制的关系?

     答:机械臂关节内部没有扭矩传感器,我们是通过电流环实现关节力控的,即针对我们的机械臂而言,电流环控制等同力控。

问题五:机械臂编码器是什么类型的编码器,单圈编码器还是多圈编码器?

   答:绝对双编码器,输入输出端各一个;最后一个关节为多圈编码器,其他为单圈编码器。精度0.001°。

问题六:机械臂关节额定扭矩是多少?

  答:机械臂关节共有三个型号,额定扭矩分别为60Nm、30Nm和10Nm。

问题七:开机后机械臂蜂鸣器一直滴滴响,是什么原因?

答:可以连接示教器,查看系统信息界面,看关节有无错误信息。针对不同的错误,采用相应方法进行清除即可。

问题八:系统信息界面提示超限位,错误无法清除怎么办?

解决思路:先让超出限位关节拖回到限位内,清除关节报错信息。
1.在机械臂示教界面查看当前关节角度;
2.在配置-机械臂配置-安全配置中选择对应关节,调整关节限位至大于当前角度;
3.在系统信息界面清除关节错误;
4.在配置-机械臂配置-安全配置中选择对应关节,点击上使能按钮
5.在机械臂示教界面,控制关节回到限位内;
6.在配置-机械臂配置-安全配置中选择对应关节,点击掉使能按钮,将限位恢复为初始值,重新上使能即可。

问题九:机械臂控制器和末端的RS485接口有什么区别?

答:控制器485支持控制机械臂,也可以通过指令切换,对外支持标准MODBUS-RTU协议,可以控制外设,例如夹爪,电动吸盘等。末端的485仅支持对外控制,无法控制机械臂。

问题十:机械臂可以在安卓平台/PLC(可编辑控制器)控制吗?

答:I系列机械臂支持WEB端示教器,建立网络连接后打开浏览器即可访问,在安卓、IOS、WIN、LINUX均可以访问。
对于机械臂来说,只要接收到JSON格式的字符串就可以进行控制,收发字符串可以使用网口,WIFI,485等方式。使用安卓、PLC、单片机等可以直接发送JSON格式的字符串进行控制,也可使用MODBUS-RTU/TCP控制机械臂。

问题十一:第三代控制器IO复用功能有哪几种?

答:16芯线中的IO具备复用功能,可以通过程序指令或者web端示教器切换为:
具体操作方法如下:
点击IO配置界面的下拉列表,选择对应的复用功能。

 

问题十二:moveJ和moveJ-P有什么区别

   答:均对末端运动轨迹不做约束,但路点参数不同,“MOVEJ”的路点参数为各轴关节角度, “MOVEJ_P”为工具坐标点的位姿。

 

问题十三:机械臂供电需求

  答:电源电压范围可选20~27V,极限可以达到30V,建议使用600W以上,且具有打嗝模式、恒流输出1S功能的开关电源。

问题十四:关于六维力传感器资料

 答:六维力传感器目前支持获取原始数据和系统外力。相关接口我们已经集成好了,您直接调用机械臂的接口就可以,随箱资料里有相关示例。如果要验证算法,可以使用UDP回传,获取六维力的数据,解析处理后再控制机械臂。

 

问题十五:机械臂的末端可以接什么型号的执行器?

答:机械臂末端可对外输出5V/12V/24V,最大输出电流1.5A。具备RS485通信接口,可支持标准的Modbus RTU协议的设备。同时,我们将因时的两指夹爪和五指灵巧手的驱动写在末端控制板了,可以直接使用。

问题十六:机械臂使用末端按钮拖动过程中可以控制夹爪吗?轨迹复现时可以复现夹爪的动作吗?

答:拖动和复现过程中都可对夹爪操作,目前该功能暂时仅适用于我们基础好的两指夹爪,后续会增大支持范围,可以支持的最新型号可以联系我司技术支持获取。

问题十七:设置工具坐标系的质量和质心参数影响什么?

  答:碰撞检测、和电流环拖动的手感。

问题十八:常用的运动控制指令有哪些?都有什么区别?

  答:

 

路径不可控,机器人根据算法选择最优路线,但可以增加多个中间点来约束轨迹。

在保证最终路点位置的同时,保证两点之间轨迹为直线运动。
用来执行圆弧或圆形轨迹,默认当前状态为起点,只能添加两个路点(中间点和终点),圈数大于1时轨迹为圆形,圈数小于1时轨迹为圆弧。 

示教器软件

问题一:机械臂如何设置碰撞等级?碰撞等级是否越高越好?

答:通过机械臂示教器软件“配置”>>“机械臂配置”>>“安全配置”界面可对碰撞等级做设置,等级共分0~8级,上电后机械臂默认碰撞检测不打开。设置后断电重启碰撞等级不保存。碰撞等级越高,检测越灵敏,同时越容易发生误碰撞停止,用户根据使用需求设置。如果末端有负载,可以新建工具坐标系,写入准确的质量和质心参数,降低误检测的几率。 

问题二:机械臂显示连接失败,如何排除问题?

步骤一:将电脑IP设置为固定IP,必须和机械臂IP在同一网段(机械臂出厂默认为192.168.1.18,电脑可设置为192.168.1.66)。
步骤二:电脑终端ping 192.168.1.18,检查是否连接正常(若ping不通网络,①通过软件查看机械臂网口IP;②更换网线)
步骤三:打开示教器软件,重新连接。
步骤四:网络ping通的情况下,如果仍然连接失败,①查看控制电脑是否打开VPN模式(需处于关闭状态);②查看电脑是否启用代理服务器模式(需处于关闭状态)。

 

电气连接

问题一:机械臂的供电电压和电流需求是怎样的?

答:电源电压范围可选20~27V,极限可达到30V,建议使用600w以上,且具有打嗝模式、恒流输出1s 功能的开关电源。我司内部使用电源网址,有需要可自行购买。

https://detail.tmall.com/item.htm

问题二:机械臂控制输出时,外部连接的继电器无反应,如何处理?

答:机械臂控制器的数字输出接口,输出电流为2mA,无法带动继电器等负载,需通过一个模块进行转换。如果需要控制大功率设备,如:电机、灯泡、继电器、电磁阀等,可以选配场效应管模块。

https://item.taobao.com/item.htm

通讯设置

问题一:WIFI AP模式与WIFI STA模式的区别?

答:WIFI AP模式为机械臂自己创建一个热点模式,电脑可连接相应热点。 WIFI STA模式需要连接外部路由器WIFI。

问题二:机械臂IP可以进行设置吗?

答:
基础系列机械臂:
普通网口:默认IP地址是192.168.1.18,可配合我公司提供的对应软件修改IP。IP修改后,要在示教器的本地配置写入新的IP地址才能连接机械臂。
WIFI不支持修改IP地址。
高速网口:可以参考JSON协议尾页的示例,在配置高速网口IP时,设置为自定义IP。

I系列机械臂:
默认IP地址是192.168.1.18,可以发送JSON协议或者在示教器中进行修改。

问题三:更改设备IP及设备连接?

答:
基础系列机械臂:
使用ZLVirCom软件进行修改(如有需要联系我司技术支持)。
步骤一:打开机械臂,通过网线连接网口。
步骤二:打开ZLVirCom软件,点击“设备管理”>“编辑设备”>“修改设置”。保存设置。
I系列机械臂:
默认IP地址是192.168.1.18,可以发送JSON协议或者在示教器中进行修改。

名词概念

问题一:什么是透传?透传的周期是多少?用途是什么?

:透传是指用户自己使用上位机进行轨迹规划,然后将各关节的角度直接下发给控制器,不经过控制器的处理,各关节直接运行。机械臂运行的效果直接依赖于用户轨迹规划的水平。
基础系列控制器透传周期:WIFI透传周期最快20ms,普通网口最快20ms,USB接口最快10ms。高速网口,目前可做到10ms。
I系列控制器透传周期:可达到5ms,如果上位机实时性足够高,可以实现2ms透传。
主要用于验证用户算法或者结合视觉,在非结构环境下做动态轨迹规划实现抓取或者避障。

问题二:什么是力位混合控制?

答:机械臂在笛卡尔空间运动的同时,检测力传感器的数值,在对应方向上进行位置补偿。

问题三:TCP速度限制的线速度和角速度分别是什么呢?

答:线速度和角速度,都是笛卡尔空间的速度,线速度是末端位置的速度,圆弧和直线的位置速度都用线速度表示。角速度是末端姿态的速度。

问题四:什么是奇异点?

答:机器人的奇点(奇异点)是指使得机器人自由度退化、逆运动学无解的空间位置。机器人一般有三种奇异点:腕部奇异点、肩部奇异点、肘部奇异点。具体说明可以参照最新版用户手册。

问题五:机械臂DH参数

答:DH 参数一般使用四个参数:X轴旋转,一般使用α表示、X轴平移,一般使用a表示、Z轴旋转,一般使用θ表示Z轴平移,一般使用d表示;根据轴的先后顺序分为标准DH参数和改进DH参数。
标准DH参数:两个连杆坐标系变换是先绕z轴转动、平移,再绕x轴转动、平移。即X-Z顺序,先转动后平移。
改进DH参数:两个连杆坐标系变换是先绕X轴转动、平移,再绕Z轴转动、平移。即Z-X顺序,先转动后平移。最新DH参数可以联系我司技术支持获取

问题六:机械臂使用寿命及计算方式

答:机械臂额定负载下的连续运行的寿命是3万小时。目前已取得上海国家机器人检测中心做MTBF检测认证。

问题七:机械臂对底层的算法或者程序开源吗?

答:机械臂控制器内的程序都是公司的核心,暂不对外开放。

问题八:如果要自己开发控制程序,对用户的上位机有什么要求?

答:如果用户直接使用我们封装好的API,则只能在Linux/Windows环境下使用C/C++/C#/Python/MATLAB工程调用,或者使用ROS操作系统。如果用户使用JSON协议,则灵活性会高很多。对用户的系统和编程语言没有任何限制,只要能根据协议发送出固定的字符串即可,常用于PLC、安卓、IOS等平台。

 ROS开发

问题一:ROS控制机械臂时,提示连接失败如何解决?

      步骤一:检查机械臂是否开机且通讯线缆连接正常。
      步骤二:ping机械臂IP地址,查看是否可以ping通。
      步骤三:检查是否更改过机械臂默认IP地址(默认为192.168.1.18),如更改过机械臂IP,需在ROS资料包中,rm_driver>>src>>rm_robot.h文件中重新定义新的IP地址。

问题二:ROS里面添加的节点不全,机械臂部分功能无法使用怎么办?

       答:可参考已经添加的节点,将《机械臂json通讯协议》文档中的相关指令,自行添加到ROS中。也可参考博客《睿尔曼超轻量仿人机械臂--ROS功能包添加写寄存器操作》

问题三:如何在ROS里引用正逆解函数库?

       答:1.创建一个功能包或者进入现有ROS功能包,新建"include"以及"lib"文件夹(如果不存在)。
              2.将API中提供的头文件复制到"include"文件夹,将"Linux"文件夹中的so库文件复制 到"lib"文件夹。
              3.在ROS功能包中的CMakeLists.txt文件中,添加对引用库的依赖
              4.编译功能包
              5.引用头文件,在ROS代码中使用API库中的算法接口

问题四:在 ROS中控制升降导轨,需要发布哪些话题?

问题五:支持ROS2哪个版本,有没有对应ROS功能包?

        答:支持ROS2的humble和foxy的版本,可以到开发者平台下载对应的ros包

https://develop.realman-robotics.com/robot/ros2/getStarted.html

问题六: 使用 moveit 控制真实机械臂有卡顿

        答:可能是ROS包未更新到最新版本,需要更新,MOVEIT规划的角度通过透传接口下发,但旧版的透传指令没有follow这个对象,控制器默认会使用高跟随透传,对轨迹的顺滑程度要求更高所以会产生剧烈的抖动。最新的ROS包默认低跟随。如需更新请联系我司技术支持。

API使用

问题一:若要周期查询机械臂状态,周期应当怎么设置?

       答:若要周期查询机械臂状态,普通网口与WiFi连接时查询周期不能小于20ms,高速网口、USB口、485接口连接时查询周期可支持到10ms。建议设置在50ms以上。I系列版机械臂可以使用UDP回传,最快可以达到5ms。

问题二:ROS与API可以同时使用吗?

        答:可以在ROS中调用API中的算法接口,参考链接 https://blog.csdn.net/realman_Rop

问题三:如何在API中引用在线编程文件?

        基础系列机械臂:
        步骤一 保存在线编程文件,如果在线编程文件中包含拖动示教轨迹,需要连接机械臂运行一遍,在示教器文件夹下寻找GJTMP.txt文件保存。
     步骤二 在程序中写入引用的在线编程文件路径(包括文件名),如果为I系列,则该接口支持设置默认在线编程文件以及设置单步模式。如下所示:
      I系列机械臂:在线编程文件可直接保存到控制器中,使用JSON协议、API、ROS、MODBUS-RTU/TCP、IO均可触发。

问题四:通过API发送移动指令控制机械臂时,两点之间有明显的停顿时间,如何减少停顿?

       答:可将移动指令设置为非阻塞模式,连续下发多个点位,机械臂会顺序执行,减少点位之间的停顿。注:机械臂移动指令最多缓存10个点位,发送时需保持平衡,以免覆盖最先下发的点位。也可以使用moveit进行规划,将A-B,B-C两段轨迹合成为一条轨迹,有效避免加减速过程,提高运行效率。

问题五:python调用透传接口异常退出、Linux下报段错误?

       答:1.透传接口需要用到回调函数,设置回调函数后可正常使用。
              2.查看环境配置是否有问题。
              3.内存不对应,也可能和客户编写的程序有关。
              排查方法:分批次下发。

问题六:get current arm state查询到的当前位姿pose中的姿态是xyz相对欧拉角还是zyx相对欧拉角?

      答:我们用的是roll-pitch-yaw表示法,对应的是ZYX欧拉角内旋。

问题七:调用API控制机械臂沿工具端运动,可以使用什么接口?

      答:调用切换示教运动坐标系的接口,切换示教坐标系为工具坐标系后,使用示教或者步进指令,即可控制机械臂沿工具端运动。

问题八:python运行报32位或64位的错误

     答:示例库的问题,python调用C的库示例的库默认是64位,需要先排查是否和当前设备对应、32、64位。

问题九:机械臂都支持哪些形式的二次开发?

     答:目前支持的二次开发形式有四种
1:通过API形式:目前C\C++\C#\python\matlab五种开发环境。
2:通过ROS进行控制,目前支持melodic与noetic两个版本。
3:是通过JSON协议进行控制,此种方式不限制开发语言与开发系统。
4:通过MODBUS-RTU/TCP控制机械臂。

集成应用

问题一:双臂机器人产品,用户通过AGV的 WiFi映射端口,连接机械臂与主控,只能控制其中一个机械臂?

    答:通过映射的方式,每个端口只能控制一个设备,两个机械臂端口号一样,所以只能连接一个,更改另一条机械臂的端口号即可,注意AGV已经默认占用9001端口。

 

问题二:客户在控制底盘过程中,发现底盘出现乱跑的现象,是什么原因导致的?

  答:1.是否机械臂的姿态或其他东西挡住了底盘的红外线传感器
         2.检查红外线传感器是否有污渍,可以擦拭一下重新进行控制

问题三:客户想要开发遥操作的功能,推荐使用什么接口?

  答:关节示教,位置示教,姿态示教,如果想沿指定坐标系运动,可以使用API中的切换示教坐标系接口进行切换。

问题四:使用tcp调试助手发送json协议查询复合升降状态报错36是什么问题,在json协议文档中查询不到错误代码?

  答:我们json协议错误代码都是十六进制,而使用tcp调试助手发送json协议查询升降机状态的错误代码是十进制的,报错36转换成十六进制就是20+4,也就是编码器错误和欠压,遇到这种查询不到的错误代码可以判断一下是否是错误代码组合的形式出现。

 

 

JSON、API报错解析和解决方法




附件下载

0 条评论

关于作者

Forrest

让机械臂成为智能、易用、可靠、通用的作业工具,走入千行百业、千家万户。

选择发帖板块
选择发帖板块