睿尔曼超轻量仿人机械臂之-灵巧手动作编写及程序调用

news2024/11/15 15:24:37

一、灵巧手动作编写

1.连接设备

2. 运动控制

3. 参数设置

4 动作库使用

本软件可以设置灵巧手内部第 1-第 13 套动作序列数据,每套动作序列最多能有 8 步 分解动作,每一步分解动作的手指角度、运动速度、力度以及等待时间都可以单独设置。

步骤数:动作序列的步骤数目,可设置为 0-8;

手指角度:设置动作序列的某一步骤的手指目标角度,角度输入范围 0-1000,0 对 应手指最大程度弯曲,1000 对应手指完全张开,空格代表手指不运动。

运动速度:设置动作序列的某一步骤的手指运动速度, 1-1000。  

力度设置:设置动作序列的某一步骤的手指设置力度, 1-1000。

延时:设置动作序列的某一步骤的手指运动速度。 某一动作序列数据设置完成后,

点击表格右侧“下载”按钮,将数据下载到灵巧手中。 点击表格右侧的“测试”按钮,控制灵巧手触发相应的动作序列进行运动。

点击表格右侧的“上传”按钮,软件将读取灵巧手中相应的动作序列并在表格中显示。

5 动作序列操作

“打开离线文件”,可以打开一份动作序列数据文件的数据,并在软件的动作序列数 据区域显示。

“将文件数据下载到设备中”,可以将一份动作序列数据文件的数据批量下载到灵巧手中。

“保存为离线文件”,可以将软件所显示和编辑的动作序列数据整体保存到指定的文件中.

二、通过Api来调用机械臂灵巧手

上述操作保存好编辑的动作序列后,我们就可以用我们提供的api来进行灵巧手的调用,我们分别提供了以下的函数来进行灵巧手的操作。

1、设置灵巧手手势序号 Set_Hand_Posture

Set_Hand_Posture (posture_num, block)

描述: 设置灵巧手手势序号,设置成功后,灵巧手按照预先保存在 Flash 中的手 势运动。

参数 :(1)posture_num 预先保存在灵巧手内的手势序号,范围:1~40 (2)block False-非阻塞,发送后立即返回; True-阻塞,等待控制器返回 设置成功指令。

返回值 :成功返回:0;失败返回:错误码,查询 API 错误类型

2、设置灵巧手动作序列序号 Set_Hand_Seq

Set_Hand_Seq (seq_num, block)

描述:设置灵巧手动作序列序号,设置成功后,灵巧手按照预先保存在 Flash 中 的动作序列运动。

参数:(1)seq_num  预先保存在灵巧手内的动作序列序号,范围:1~40

           (2)block False-非阻塞,发送后立即返回; True-阻塞,等待控制器返回 设置成功指令。

返回值: 成功返回:0;失败返回:错误码,查询 API 错误类型。

3、设置灵巧手角度 Set_Hand_Angle

Set_Hand_Angle(angle, block)

描述: 设置灵巧手角度,灵巧手有 6 个自由度,从 1~6 分别为小拇指,无名指, 中指,食指,大拇指弯曲,大拇指旋转。

参数 (1)angle 手指角度数组,6 个元素分别代表 6 个自由度的角度。范围: 0~1000。另外,-1                 代表该自由度不执行任何操作,保持当前状态

        (2)block False-非阻塞,发送后立即返回; True-阻塞,等待控制器返回 设置成功指令。

返回值: 成功返回:0;失败返回:错误码,查询 API 错误类型。

4.、设置灵巧手各关节速度 Set_Hand_Speed

Set_Hand_Speed (speed, block)

描述: 设置灵巧手各关节速度

参数 :(1)speed 灵巧手各关节速度设置,范围:1~1000

            (2)block False-非阻塞,发送后立即返回; True-阻塞,等待控制器返回设 置成功指令

返回值 :成功返回:0;失败返回:错误码,查询 API 错误类型

5、设置灵巧手各关节力阈值 Set_Hand_Force

Set_Hand_Force (force, block)

描述 设置灵巧手各关节力阈值。

参数 :(1)force 灵巧手各关节力阈值设置,范围:1~1000,代表各关节的力矩阈 值(四指握力                  0~10N,拇指握力 0~15N)。

           (2)block False-非阻塞,发送后立即返回; True-阻塞,等待控制器返回设 置成功指令。 返回值: 成功返回:0;失败返回:错误码,查询 API 错误类型

这里以设置灵巧手手势序号举例进行调用。可以从我们的api协议当中看到函数参数的描述,Set_Hand_Seq(seq,block)seq代表着着我们在上面操作中上位机软件里面保存的手势序号,block 代表着阻塞与非阻塞。届时我们可以在提供的Api接口中调用这个函数来进行灵巧手来进行运动。代码示例如下:

同理,我们也可以根据api的说明来调用其他的函数来实现不同的方式来调用我们的灵巧手,结合自己使用场景的需求来进行对应函数的选择,值得注意的是在调用函数时候最好对返回值加逻辑判断。如demo8()所示。

代码如下:

# 灵巧手使用例程(需机械臂末端安装对应的灵巧手)
def demo8(robot):

    # 设置灵巧手手势序号
    ret = robot.Set_Hand_Seq(2, False)
    if ret != 0:
        print("动作执行失败:" + str(ret))
        sys.exit()
    else:
        print("动作执行成功" + str(ret))

    time.sleep(1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1534415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT_day2:2024/3/21

作业1:使用QT完成一个登录界面 要求: 1. 需要使用Ui界面文件进行界面设计 2. ui界面上的组件相关设置,通过代码实现 3. 需要添加适当的动图 源代码: #include "widget.h" #include "ui_widget.h"Widget…

力扣由浅至深 每日一题.06 删除有序数组中的重复项

希望我们都能对抗生活的苦难,在乌云周围突破阴霾积极的生活 —— 24.3.16 删除有序数组中的重复项 提示 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元…

贝尔曼方程【Bellman Equation】

强化学习笔记 主要基于b站西湖大学赵世钰老师的【强化学习的数学原理】课程,个人觉得赵老师的课件深入浅出,很适合入门. 第一章 强化学习基本概念 第二章 贝尔曼方程 文章目录 强化学习笔记一、状态值函数贝尔曼方程二、贝尔曼方程的向量形式三、动作值…

Windows系统部署GoLand结合内网穿透实现SSH远程Linux服务器开发调试

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-HIOuHATnug3qMHzx {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

【Vue3遇见的问题】创建vue3的项目使用vscode打开后项目的app.vue里面存在爆红

出现的问题 直接上上问题:问题的图片如下: 解决方法 解决效果 补充 因为vetur的插件禁用了 所以需要一个新插件来 这里发现的官网推荐的插件 也就是volar 他两是一样的

嵌入式软件面试-linux-中高级问题

Linux系统启动过程: BIOS自检并加载引导程序。引导程序(如GRUB)加载Linux内核到内存。内核初始化硬件,加载驱动,建立内存管理。加载init进程(PID为1),通常是systemd或SysVinit。init…

Redis监控工具

Redis 是一种 NoSQL 数据库系统,以其速度、性能和灵活的数据结构而闻名。Redis 在许多领域都表现出色,包括缓存、会话管理、游戏、排行榜、实时分析、地理空间、叫车、聊天/消息、媒体流和发布/订阅应用程序。Redis 数据集完全存储在内存中,这…

深度学习——数据预处理

一、数据预处理 为了能用深度学习来解决现实世界的问题,我们经常从预处理原始数据开始, 而不是从那些准备好的张量格式数据开始。 在Python中常用的数据分析工具中,我们通常使用pandas软件包。 像庞大的Python生态系统中的许多其他扩展包一样…

es 集群核心概念以及实践

节点概念: 节点是一个Elasticsearch的实例 本质上就是一个JAVA进程一台机器上可以运行多个Elasticsearch进程,但是生产环境一般建议一台机器上只运行一个Elasticsearch实例 每一个节点都有名字,通过配置文件配置,或者启动时候 -…

JVM学习-JVM简介以及其内部结构

目录 1.什么是JVM 2.JVM、JRE、JDK、JavaSE、JavaEE之间的联系 3.JVM的内部结构 4.各部分的作用 4.1 类加载器(附类加载过程导航) 4.2 方法区 4.3 堆(附常量池、运行时常量池、串池的介绍导航) ​ 4.4 虚拟机栈&am…

Android14 - Framework- Configuration的创建和更新

本文描述从启动一个新进程的Activity起,Framwork层Configuration的创建和传导过程。 首先,我们知道所有的Window容器都继承于WindowContainer,而WindowContainer本身是ConfigurationContainer的子类。于此同时,WindowProcessContr…

高级数据结构 <AVL树>

本文已收录至《数据结构(C/C语言)》专栏! 作者:ARMCSKGT 目录 前言正文AVL树的性质AVL树的定义AVL树的插入函数左单旋右单旋右左双旋左右双旋 检验AVL树的合法性关于AVL树 最后 前言 前面我们学习了二叉树,普通的二叉树没有任何特殊性质&…

数据结构面试常见问题之Insert or Merge

😀前言 本文将讨论如何区分插入排序和归并排序两种排序算法。我们将通过判断序列的有序性来确定使用哪种算法进行排序。具体而言,我们将介绍判断插入排序和归并排序的方法,并讨论最小和最大的能区分两种算法的序列长度。 🏠个人主…

pycorrector检测OCR错字实践

参考:https://github.com/shibing624/pycorrector/tree/master/examples/macbert stopwords.txt 添加专业停用词,避免错误 设置自定义词典,避免将正确的词错误检测成错误的词 from pycorrector import Corrector m Corrector() m.set_cus…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.4 会计凭证处理

2.4.1 会计凭证处理的基本概念 会计凭证是企业经济业务在会计上的反映,它是用会计语言表达的一种单据。 典型生产企业的财务凭证创建方式: 企业在实施SAP的过程中,大部分凭证都是自动生成的。要保证这些凭证能准确地生成,必须要满…

mysql 数据库 基本介绍

一 数据 (一)数据是什么 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录气 以“记录”形式按统一的格式进行存储 (二)数据的分类 1,结构化的数据 即有固定格式和有限长度的数据。例…

hcip复习总结1

OSI----------- 定义了数据的产生标准 。 7 层 应用 ------- 表示 会话 传输 -----Telnet - 23 ssh---22 http---80 https-443 TCP ---- 传输控制卋议。是一种面向连接的可靠的传输卋议。 UDP---- 用户数据报卋议。是一种非面向连接的丌可靠传输卋议。 保证可靠性&…

面向量产!基于视觉的速度距离估计

面向量产!基于视觉的速度距离估计 论文名称:Vision-based Vehicle Speed Estimation: A Survey 导读 在精确检测车速车距的方案中,视觉方案是非常具有挑战性的,但由于没有昂贵的距离传感器而大幅降低成本,所以潜力巨…

国内智能驾驶芯片领先供应商地平线智能驾驶芯片介绍

地平线国内智能驾驶芯片领先供应商,由国际著名机器学习专家余凯博士于2015年7月创建;2017年12月,地平线即推出了首款 智能芯片征程1和旭日1;2019年8月,宣布量产中国首款车规级智能芯片征程2并于同年10月发 布新一代AIo…

【Git】第二课:git安装和配置

安装 我们伟大祖国有句古话叫巧妇难为无米之炊,还有句话叫工欲善其事必先利其器。所以,在正式的学习之前,我们需要先把git这把利器安装好。 Windows系统 下载安装包 打开Git - Downloading Package页面,根据系统类型32位还是6…