Adapter生成器手册
本节介绍Adapter生成器以及如何使用Adapter生成器快速生成Adapter程序。
Adapter生成器介绍
Adapter生成器是集成在Mech-Center中的一个小组件。Adapter生成器仅适用于采用TCP/IP Socket通信方式且只使用Mech-Vision提供视觉点的场景。
Adapter生成器可以完成以下事项:
-
快速生成Adapter程序,并搭建Adapter工程。
-
快速学习Adapter的编程开发,以满足复杂的需求。
依次单击
,启动 Adapter 生成器以进行相关设置。Adapter生成器仅在管理员模式下可用。 |
使用Adapter生成器快速生成Adapter程序
为方便配置,对应组件处有其详细描述,可把鼠标光标悬浮到组件处查看。 |
网络配置 —— 服务端或客户端
在此步骤,设置参数 Adapter 名字、 Adapter 作为、 通信格式。
参数说明:
-
Adapter 名字:指定Adapter程序的名称。
-
Adapter 作为:指定Adapter作为TCP/IP Socket通信的服务端(Server)或客户端(Client)。如果Adapter作为客户端并且服务端对客户端有端口限制,需要勾选 绑定端口 复选框。
为了保证与对端的正常通信,在Adapter工程部署时需要指定正确的主机IP地址和端口。详细信息,请参见 Adapter工程的部署 章节的内容。 -
通信格式:指定通信的传输格式,支持ASCII字符串或HEX(十六进制)。当 通信格式 格式设为“HEX”时,还需指定字节顺序(endianness)为“大端”或“小端”。
Mech-Viz/Mech-Vision配置 —— 位姿和关节角度
|
如“check_collision”示例工程所示,工程由“视觉识别”步骤触发拍照,且必须包含非移动类的任务,任务名称不可更改,包括 notify_1、notify_2 和 visual_look_1。 |
在此步骤,设置Mech-Viz和Mech-Vision工程相关的参数。
Mech-Vision相关参数说明:
-
Mech-Vision工程名:指定Mech-Vision工程的名称。从下拉列表中选择与Adapter交互的的Mech-Vision工程。
-
位姿数量:选择发送给对端的位姿个数。
-
位姿形式:可以选择四元数或欧拉角。
-
位姿单位:一般情况下选择使用毫米和度。
-
相机:选择相机安装方式,分为ETH和EIH两种情况。
-
位姿坐标系:确定发送的位姿基于的坐标系。一般情况下,位姿都是基于机器人基坐标系。在EIH场景下,当机器人不能给出机器人末端位姿的情况下,位姿只能基于工具坐标系。
-
保留小数位数:确定发送的位姿的小数位数。最大位数为 10。
Mech-Viz相关参数说明:
-
使用 Mech-Viz 检测碰撞:勾选后,视觉点经过Mech-Viz工程的碰撞检测,过滤规划失败的点,筛选出过程无碰撞的抓取位姿。
-
Mech-Viz 配置: 勾选 使用Mech-Viz 检测碰撞 后,该按钮可用。点击该按钮弹出 生成器 Mech-Viz 配置 界面,设置相应参数后,点击 保存 按钮,如下图所示。
-
需要区分抓取点位和放置点位:抓取点位是视觉移动之前的所有点位(包含视觉移动),放置点位是视觉移动之后的所有点位。在某些场景下,机器人根据任务可能需要区分抓取动作和放置动作。
-
需要发送抓取点位和放置点位数量:若点位数量比较多,可带上数量字段,勾选后默认点位数量大于1个才会带上此字段。
-
需要发送每个点位的运动方式:Mech-Viz中移动类任务的运动方式,分为关节运动或直线运动。
-
更新数值:默认关节运动对应码是1,直线运动对应码是2,可自定义码,更改后点击 更新数值 按钮生效。
-
Jps 或位姿:发送位姿的形式,默认使用Jps。
-
Jps 单位/位姿单位:当发送位姿形式为 Jps 时,设置 Jps 单位,一般使用度。当发送位姿形式为 Pose 时,设置位姿单位,一般使用毫米。
-
机器人名字:指定机器人服务的名称。使用 Mech-Viz 模拟机器人运动需要一个真实的机器人服务,生成的 Adapter 会模拟这个服务,机器人名字即该服务的名字,需要和 Mech-Viz 中机器人名字一致。单击 获取机器人名称 即可自动添加机器人名称。
-
原点关节角度(单位:弧度):设置 Mech-Viz 中开始运动的参考原点,单位是弧度,以逗号分隔。可以从 Mech-Viz 中编辑一个
移动
作为原点,复制该原点的关节位置。
接收数据格式配置 —— 接收字段
在此步骤,设置接收字段的格式,包括拍照指令、多个工程(指令码)以及总字段个数、字段类型、字段中的分隔符和嵌套分隔符,然后点击 下一步 ,如下图所示。
-
总字段个数:与需要设置的参数个数有关,其取值范围为 1~10。字段中必须存在拍照指令。
-
拍照指令:外部通信设备向梅卡曼德软件系统发送的拍照指令,使相机进行拍照采集。当通信格式为ASCII码时,建议使用字母表示,例如字母p并且字段位置默认为1。当通信格式为十六进制时(HEX),需要使用十六进制形式的整数,例如0xff或ff 。
-
字段分隔符 和 嵌套字段分隔符:当通信格式为ASCII时需要设置。如果字段超过2个,需填写字段分隔符;如果额外信息里又需要另外的分隔符,嵌套字段分隔符也是必须的,可指定嵌套字段的起止范围。
-
字段类型 和 字段描述:当通信格式为十六进制(HEX)时需要设置。可选的字段类型有 CHAR、SHORT、INT、FLOAT 和 DOUBLE。 字段描述 用于描述字段的功能或含义。
-
多个工程(指令码):可选项,当一个项目中存在多个Mech-Vision工程,需要根据外部的指令来调用不同的Mech-Vision工程,指令码可配置。
每个工程对应的指令码唯一,并且字段位置唯一,不可与其他字段重叠。
机器人配置 —— Eye In Hand
在“Mech-Viz/Mech-Vision配置 —— 位姿和关节角度”步骤中,如果 相机 参数设置为 Eye In Hand 时,该步骤可用。 |
在此步骤,设置机器人拍照时的位姿格式,然后点击 下一步 ,如下图所示。
参数说明:
-
需要机器人给 Adapter 反馈拍照时的关节角或法兰位姿:如果对端需要基于机器人基坐标系下的物体位姿,则需要机器人提供拍照时的关节角或法兰位姿,请勾选该复选框。勾选后,指定位姿的形式,可以选择关节角或法兰位姿。
-
关节角单位:指定关节角单位,可以选择度或弧度。
-
法兰位姿单位:指定法兰位姿单位,可以选择四元数或欧拉角。当使用四元数时,单位可以选择米或毫米;当使用欧拉角时,单位可以选择度或弧度。
-
关节角/法兰姿态字段位置:指定关节角或位姿的起始和结束字段在总字段中的位置。
索引位置从1开始计数,不可与其他字段重叠,例如索引位置1为拍照指令! -
机器人名字:用来标识机器人服务的名字,需要和Mech-Viz中机器人名字一致。
-
机器人自由度:当前支持4轴和6轴机器人,按工程实际情况选择对应的机器人自由度。
发送数据格式配置 —— 发送字段
在此步骤,设置发送位姿的格式,然后点击 下一步 ,如下图所示。
参数说明:
-
字段分隔符 和 嵌套字段分隔符:设置分隔符形式。当通信格式为ASCII时需要设置。如果字段超过2个,需填写字段分隔符;如果额外信息里又需要另外的分隔符,嵌套字段分隔符也是必须的,可指定嵌套字段的起止范围。
-
状态码:设置发送状态,每一种状态对应的状态码唯一。
-
需要检查点云:勾选后,Adapter会检查点云,若点云不存在则会输出对应的状态码。
-
需要发送物体标签:发送物体标签是指根据Mech-Vision识别的标签发给对端,每个标签是接在位姿后面;当对端不方便解析标签字符串时,也可以指定对应标签的码,需要加载包含所有标签字符串的标签文件。注意:标签文件格式必须是 json 数组格式。
-
需要发送数量:发送时包含当次发送的位姿数量。
-
需要固定包体:当视觉识别失败时,给对端发送消息(错误码后面的消息)。
-
需要固定尾部:勾选后会在发送的数据后面添加固定尾部标识。
当通信格式为十六进制(HEX)时,需要设置状态码、位姿个数和位姿字段的数值类型。 |
完成以上全部配置后,单击 完成 或 工程另存为 保存 Adapter 工程。保存 Adapter 工程后,您可以参照 Adapter工程的部署 章节部署和使用Adapter工程。
关于 Adapter 编程开发的更多信息,请阅读: