遨博协作机器人插件开发-机械臂无线手柄遥控插件开发

目录

1.课程简介

2.实训目的

3.实训环境

4.实训原理

5.实训步骤

6.真机测试


1.课程简介

在前面课程我们讲解了如何进行通用插件的开发以及使用,本次课程以无线手柄为例,介绍无线遥控插件的开发流程,可按照本课程的内容轻松完成插件的开发,当然,如果需要开发更加复杂的插件,这需要您具有一定的编程基础,主要使用的是Qt开发环境,虽然实验中会介绍Qt的基本使用方法,但是更多的编程知识鼓励您参考专业书籍进行学习。

2.实训目的

  1. 了解USB无线手柄的驱动方法,并实时获取手柄的数据;
  2. 掌握插件开发中使用AUBO SDK接口开发,控制机械臂运动与IO控制;
  3. 掌握无线手柄遥控插件的开发方法

3.实训环境

  1. 硬件:遨博E系列机器人、USB无线手柄;
  2. 软件:AUBOPE虚拟机(Qt开发环境);

4.实训原理

4.1 USB无线手柄简介

下图为USB无线手柄的结构和功能按键说明,分为USB接口和手柄主体两个部分,使用时需要将USB接口插入需要的设备,启动手柄的电源开关,即可自动配对,然后用户通过按键完成需要的功能。

无线手柄具备自动休眠模式,在开启无配对状态下,30s后启动休眠模式,开启并配对完成的状态下,5分钟无按键按下,然后启动休眠模式,按下START按钮即唤醒手柄。

4.2 USB无线手柄驱动

大多数情况下,Linux系统都带有手柄驱动模块joydev,当我们插上设备的时候可以通过指令(ls /dev/input/)查看是否检测到该设备,如果有出现js0 的设备,则证明设备能正常使用。

以上是使用软件进行游戏手柄的测试,在更多时候我们是需要其输出相关信息,下面介绍使用程序将游戏手柄的数据输出。

因为Linux中的list.h不能直接用,所以我们把它单独提出来,建立一个listop.c文件和listop.h文件。

listop.c的代码如下:

获取按键数据的执行代码如下:

4.3 AUBO SDK使用

AUBO SDK是基于TCP/IP网络协议实现的机械臂控制接口,接口提供了大量用于机械臂控制的方法,包括机械臂相关的数据结构,初始化,运动模块,常用算法模块,相关信息的获取与设置,IO模块等,SDK提供了机械臂控制的接口类(基于C++开发)的,接口类提供了一系列用于操作机械臂的方法。使用时,需要和机械臂处于同一个网络,通过机械臂的IP和端口8899,调用指定函数进行连接,具体函数接口可查询AUBO提供的接口说明书,下列是本实验需要的函数接口的介绍。

  • 构造函数

  • 登录接口

函数功能:该函数用于与机械臂服务器建立网络连接,该函数调用成功,是使用其他接口的前提。

参数描述:

1、host机械臂服务器IP地址,即控制器的IP;

2、port默认为8899

3、userName用户名默认为:AUBO

4、possword密码默认为:123456

返回值:调用成功返回ErrnoSucc;错误返回错误号

  • 示教运动的启动停止

函数功能:启动示教运动。

参数描述:

1、mode示教关节:JOINT1,JOINT2,JOINT3,JOINT4,JOINT5,JOINT6,

位置示教:MOV_X,MOV_Y,MOV_Z

姿态示教:ROT_X,ROT_Y,ROT_Z;

2、direction方向正方向true反方向false;

返回值:调用成功返回ErrnoSucc;错误返回错误号。

  • 设置IO的状态

函数功能:根据类型和名称设置指定接口板IO的状态

参数描述:type IO类型

name IO名称

value IO状态

返回值:调用成功返回ErrnoSucc;错误返回错误号

  • 设置机械臂运动速度

机械臂的运动分为关节型运动和末端型运动,本部分接口主要用于设置末端型运动的最大线速度、最大线加速度、最大角速度、最大角加速度。最大线速度不超过3米每秒,最大线加速度不超过3米每秒方,最大加速度不超过3米每秒方;最大角速度不超过180度每秒,最大角加速度不超过180度每秒方。

5.实训步骤

(1)环境准备

       ①  打开虚拟机

在电脑Windwos系统环境中使用VMWare虚拟机软件打开配套的AUBOPE虚拟机,等待系统正常启动运行,如下图所示。

       ② 插件开发代码环境

将本实验目录中的pluginmanager.tar.gz拷贝到虚拟机home目录,打开左侧的终端按钮,输入如下命令进行解压。

如下图所示:

(2)制作插件joystick

       ① 新建joystickplugin插件包

在解压的插件开发包pluginmanager/src/plugins路径下,将实验目录中名为joystickplugin.zip的文件在此目录下解压,里面包含本次实验的全部代码,具体的代码分析请参照实验原理部分。

      ② 修改plugins.pro

打开虚拟机左侧的Qt Creator按钮,选择文件->打开文件或项目,选择解压后的pluginmanager/目录,选择pluginmanager.pro文件,点击Open按钮,如下图所示。

在打开的插件开发包中,在工程路径中选择plugins.pro文件,并SUBDIRS参数后增加新建插件的文件夹名称joystickplugin,如下图所示。

(3)编译运行

       ① 编译

自动构建完成后,可以看到工程已包含joystick插件,如下图所示。

点击Qt Creator的左下角小锤子按钮进行编译,等待编译完成,如下图所示。

      ② 示教器程序中运行

上述编译完成后,会默认将插件编译到示教器软件的安装目录下/root/AuboRobotWorkSpace/teachpendant/lib/teachpendant/plugins,此示教器程序调用了aubosdk的动态库,如下图所示。

需要将动态库放置到示教器程序可以识别到的库路径,在此工程路径下,找到src/plugins/joystickplugin/pluginform/robot_control/sdk/lib下的4个以libaubo_sdk开头的库文件,将这4个文件复制到/root/AuboRobotWorkSpace/teachpendant/lib/teachpendant路径下,如下图所示。

拷贝完成后打开终端软件,执行如下命令生效:

在虚拟机桌面打开AUBOPE示教器程序,并根据提示进入到仿真模式,如下图所示。

依次选择扩展->Peripheral->Joystick,即可打开新建的插件,如下图所示。

将USB无线的USB接口模块连接到电脑,在虚拟机弹出设备选择中连接到虚拟机中,如下图所示,若未弹出下列弹窗,在菜单栏虚拟机->可移动设备中选择对于设备进行连接。

点击插件的启动按钮,可正常启动功能,会自动连接手柄,如下图所示。

在机械臂示教界面,点击初始位姿使机械臂进入初始位姿,或者运动到合适位置,启动手柄电源开关,默认进行位姿示教模式,速度控制滑杆控件可以手柄控制机械臂的速度。

左侧方向按键、L1、L2分别进行XYZ位置控制,右侧方向按键、R1、R2按键分别进行XYZ姿态控制。

点击MODE按钮切换到关节控制模式,左侧方向按键、L1、L2分别进行1-3轴控制,右侧方向按键、R1、R2按键分别进行4-6轴控制。

SELECT按键控制用户IO(U_DO_01);START按键控制用户IO(U_DO_02);左摇杆按下控制用户IO(U_DO_03);右摇杆按下控制用户IO(U_DO_04)。

6.真机测试

使用U盘将编译完成的插件文件libJoyStick.so,拷贝到真实机械臂的/root/AuboRobotWorkSpace/teachpendant/lib/teachpendant/plugins/目录下,并将上述4个libaubo_sdk.so库文件拷贝到真实机械臂的相同路径,执行ldconfig命令,重新打开AUBOPE软件,即可在扩展的相同位置看到插件正常运行,与在虚拟机中的一致。(注意调节机械臂控制的速度,防止过快)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
遨博机器人编程中的TCP/IP协议是指通过网络连接来实现机器人控制的一种通信方式。遨博机器人SDK提供了基于TCP/IP网络协议的控制接口,用户可以使用该接口来进行机器人的编程和控制操作。SDK中的接口类提供了一系列用于操作机械臂的方法,包括机械臂的初始化、运动模块、常用算法模块、相关信息的获取与设置、IO模块等功能。用户可以通过调用指定的函数来连接机械臂,并进行相应的控制操作。具体的函数接口可以查询遨博提供的接口说明书来了解。\[3\] #### 引用[.reference_title] - *1* *2* [遨博协作机器人高级编程 - 遨博机器人SDK用户自定义算法接口介绍与使用](https://blog.csdn.net/aubo_academy/article/details/124491025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [遨博协作机器人插件开发-机械臂无线手柄遥控插件开发](https://blog.csdn.net/aubo_academy/article/details/125371794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值