机械臂的运动控制

2023-05-16

前言:近年来,随着服务机器人的兴起,机械臂也正走进我们的日常生活,近年来出现了一些低成本的、小型的、“桌面版”的机械臂的产品,相信这将是服务机器人的一个重要方向!机械臂由很多连杆(金属杆),和关节(电动轴枢)构成。典型的机械臂有一个基座、一个末端执行器(例如夹钳、吸盘或毛笔啥的)和它们之间的六个连杆和关节,这样机械臂可以在其活动范围内实现任意的三维位置和朝向(位姿)。目前DoBot的控制还是直接控制各个关节的电机,这个比较简单,但其实你真正需要的是将末端的夹持器移动到期望的位置,如拿起远处的某一物体。但问题来了,1—5号电机一个个靠手动控制,极其繁琐啊!现在一个解决办法,第一步,操作者抓着机械臂的末端,放到期望位置上,并在控制台按下操作按钮记录下此时机械臂的位姿,按顺序记录的一系列位姿随后用作机器人编程的参考点,例如捡——放任务中的重复性动作。机械臂会记忆住关节的角度和位置,并自动编程,然后再重复实现。给定期望空间位置,若想通过程序计算出机械臂的相应的运动指令,则需要解决以下两个基本问题:
1. 给定一些列关节的状态,如何确定机械臂末端操作器的位姿?
这可由前向运动学解决。
2. 为达到机械臂末端操作器的一个位姿,需要如何设置关节的角度?
这可由逆向运动学解决。
当然,机械臂运动学有很多更为复杂的问题,在这不多讨论,以下是两个常见的应用例子:
l 如何让末端操作器沿直线运动?(运动方程式)l 如何让末端操作器给物体施加特定的力?(雅克比矩阵)现在有很多机械臂的编程语言和库软件包,并且其数目在持续地增长。程序语言中传统的有AL、VAL-II,以及函数式语言。另一种是库软件包,可以用来与C/C++或Matlab进行链接。下面我们将专门介绍一款基于ROS的功能强大的机械臂软件Moveit!
2. ROS编程
我们希望用机器来去完成一些简单枯燥的工作。但是机械臂设计复杂 , 运动学方程、程序编写复杂,为简化设计可使用一些已有的成熟工具。如MoveIt!,它是ROS中机器人进行移动操作的一套工具。主页(MoveIt! Motion Planning Framework)包含使用MoveIt!的文档、教程和安装说明以及多种机械臂(或机器人)的示例演示,如一些移动操作任务,包括抓握、拾取和放置或简单的逆向运动学的运动规划。
这个库包含一个快速的逆运动学解算器(为运动规划单元的一部分)、先进的操作算法、三维感知抓握(通常以点云的形式)、运动学、控制和导航等功能。除了后台功能,它还提供了一个易于使用的图形用户界面(GUI)通过MoveIt!和RViz插件配置新的机械臂,使用户能以直观的方式进行运动规划任务的开发。
体系结构的中心是move_group单元。其主要思想是,首先需要定义由关节和其他元件所构成的群组(group),然后使用运动规划算法执行移动操作。这类算法考虑与物体交互的场景以及该群组关节的特性。
MoveIt!为我们提供了一类使用规划求解逆运动学模型(IK)进行机械臂运动规划的非常简单和简洁的工具,以及便于使用的丰富文档,但鉴于该体系结构的复杂性,但只有当正确理解了MoveIt!、机器人的传感器和执行器之间所有的不同相互作用时,才能正常工作。
3.未来

为了能更好的玩耍机械臂,我们还需要深入学习高科技。。。。。。
l 增加视觉传感器控制速度
人类和动物在现实中通常只进行非常小的提前规划,主要依靠高度发达的智能反馈机制,使用感觉信息纠正错误和补偿扰动。例如打网球,玩家不断观察球和球拍,调整他的手的运动,最终在空中接球。这种反馈快速、高效、至关重要的是,可以纠正误差或意想不到的扰动。机器人使用视觉传感器得到的图像作为反馈信息,构造机器人的位置闭环反馈,又称为视觉伺服。近年来,视觉伺服控制系统一直是机器人研究领域的热点课题。从利用信息方式的不同,可以将视觉伺服系统分为两类:一是基于位置的视觉伺服系统(Position-Based Visual Servo system,PBVS),一种是基于图像的视觉伺服系统(Image-Based Visual Servo system,IBVS)。根据摄像机位置的不同,视觉伺服可以分成全局视觉和局部视觉(eye-in-hand)两种。全局视觉的优点是视野较宽,缺点是存在分辨率低和目标遮挡问题;而局部视觉的特征与全局视觉恰好相反。因此,有人提出全局视觉和局部视觉相结合的视觉伺服控制方法。视觉伺服控制的性能与摄像机和机器人的标定误差紧密相关,而模型的准确标定是一项复杂的工作。因此视觉伺服控制的无标定模型引起了广泛关注。其主要优点是不需要知道机器人模型和标定摄像机参数,具有自适应能力,能够在线估计雅可比矩阵。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机械臂的运动控制 的相关文章

  • Birch算法介绍

    目录 前言 一 Birch算法基本思想 二 聚类特征CF和CF 树 1 聚类特征CF 2 CF tree 3 CF tree 的生成 三 Birch算法流程 1 birch算法的优化 2 算法优缺点 四 算法实验实例 1 研究不指定簇数的情
  • [转]伪代码的写法

    伪代码的写法 xff08 附 xff1a 12种排序算法详解 xff09 转自 xff1a http blog sina com cn s blog 134451adb0102wfgu html 伪代码 xff08 Pseudocode x
  • linux C++调用python3的程序

    环境 xff1a ubuntu1404 python3 4 3 首先安装对应python不同版本的调用库 sudo apt get install python3 4 dev xff0c python脚本基本不用变 xff0c 在C 43
  • Bug 记录

    Bug记录 CocosCreator打包出现 Error xff1a Program type already present android support v4 os ResultReceiver MyResultReceiver 解决
  • I2C通信

    I2 C 芯片间 总线接口连接微控制器和串行 I 2 C 总线 它提供多主机功能 xff0c 控制所有 I 2 C 总线特定的 时序 协议 仲裁和定时 1 xff0c 物理层 1 IIC是一种两线串行的通信方式 xff0c SCL xff0
  • 使用Mybatis-Plus代码生成器的报错解决

    使用Mybatis Plus的同学 xff0c 在使用代码生成器的时候不知道有没有遇到过这个问题 xff1a 21 36 23 829 main DEBUG com baomidou mybatisplus generator AutoGe
  • Debian之安装完成后找不到命令解决办法

    1 修改配置文件 bashrc vim root bashrc export PATH 61 PATH usr sbin 2 使配置文件生效 source root bashrc
  • 相机标定、双目相机标定(原理)、三维重建效果展示

    1 相机标定的目的 xff1a xff08 1 xff09 通过单目相机标定分别求出左右相机的内参数和外参数 xff08 2 xff09 矫正由于镜头畸变造成的图片的变形 xff0c 例如 xff0c 现实中的直线 xff0c 拍摄成图像后
  • mac系统做openstack qcow2/raw镜像

    1 vmware安装出来虚拟机 xff08 操作系统不拆分 xff09 2 zhangjinyudeMacBook Pro Asianux vmwarevm zhangjinyu ls lh total 2820216 rw 1 zhang
  • 使用 Chrome 获取 Cookie 的数据

    Chrome 浏览器自带的开发功能相当强大 xff0c 这里只使用它的抓包功能 一 在浏览器中打开目标网站并登录 xff0c 进入目标页面 二 在 Chrome 浏览器下方的开发工具中单击 Network 标签页 按 F5 键 xff0c
  • 后台开发SQL技术总结

    一 字符串截取 1 substring str pos 用法 从字符串的第 4 个字符位置开始取 xff0c 直到结束 mysql gt select substring 39 example com 39 4 43 43 substrin
  • 论文记录:图像描述技术综述

    文章目录 前言 一 什么是image caption xff1f 二 基于深度学习的图像描述方法 1 基于编码器 解码器的方法 2 基于注意力机制的方法 3 基于生成对抗网络的方法 4 基于强化学习的方法 5 基于密集描述的方法 总结 前言
  • 一个接口有多个实现类

    如果一个接口有多个实现类 xff0c 在Controller层注入后调用 xff0c 怎么知道调用的是接口的哪个方法呢 xff1f 经过一番测试 和查找资料 终于找到了结果 2 0一个接口对应多个实现类 一个接口对应对个实现类 xff0c
  • c/c++使用libcurl库做http客户端及封装(HTTP_GET和HTTP_POST)

    由于项目需求需要发送http post去请求数据 xff0c 所以上网去寻找了一些发送http请求的方法 xff0c 发现libcurl较为常用 xff0c 然后根据官网上的例子 xff0c 对libcurl做了一些简单的封装 xff0c
  • (医学三维重建)MATLAB体绘制算法:多层面重建(MPR)

    xff08 医学三维重建 xff09 MATLAB体绘制算法 xff1a 多层面重建 xff08 MPR xff09 算法原理代码实现测试结果其他 by HPC ZY 算法原理 体绘制中比较特殊的一种 xff0c 因为它的输出是各种切面 就
  • Qt各个类之间继承关系

  • QGC -- 配置相机参数数据流说明(1)

    一 相关配置文件及对应画面 1 界面GeneralSettings qml 2 Video SettingsGroup json对应界面如下 xff1a span class token punctuation span span clas
  • ubuntu18.04 Intel Realsense T265与Realsense D435i 使用教程

    主要包括 xff1a realsense sdk驱动安装与ros包安装编译D435i与t256相机使用多个相机联合使用 官网链接 xff1a https github com IntelRealSense realsense roshttp
  • 2023年第八届团队程序设计天梯赛选拔校赛(三)题解

    文章目录 7 1 认识时钟7 2 修剪灌木7 3 求和运算7 4 合并数组7 5 骰子游戏7 6 字符串最大跨距7 7 上台阶7 8 A B7 9 括号匹配7 10 列出连通集7 12 哲哲打游戏7 13 喊山 标号标题分数提交通过率7 1

随机推荐

  • 学习挖掘机和程序员哪个好

    guanghuacheng guanghuacheng 等 级 xff1a 结帖率 xff1a 0 00 楼主发表于 xff1a 2011 04 14 16 57 13 快要高考了 学习成绩一般 不想上了 家里让去学挖掘机 我不想去 要想培
  • 我的2014作的一手好死,2015求轻虐

    真的好想上来开头就写 新的一年 xff0c 全新的自己 xff0c 但是这样自欺欺人的话我还是别说了 xff0c 省得一大批损友又来吐嘈我 2015年希望找到自己的另一半这样的话我也不想再提了 xff0c 因为这样写了两年 依旧单身 xff
  • 织梦后台登陆不上提示验证码不正确

    1 密码明明正确的 xff0c 却无法登陆后台管理 解答 xff1a 此外 xff0c 不管是新人 xff0c 还是phper xff0c 都要注意的是 xff1a 用户名和密码只能由 a z A Z 64 这些字符组成 xff0c 不能是
  • 浅谈视觉与语言中的多模态研究,究竟都研究什么

    前言 随着人工智能的整体进步 xff0c 计算机视觉和自然语言处理已经有了巨大的 有了如此强大的算法和自主系统的综合能力 xff0c 就需要合并知识领域 xff0c 实现跨模态兼容 xff0c 视觉语言 VisLang 研究具有更复杂的任务
  • 复选框单选框与文字对齐问题的研究与解决

    原文地址 xff1a http www zhangxinxu com wordpress p 61 56 前言 目前中文网站上面的文字 xff0c 就我的个人感觉而言 xff0c 绝大多数网站的主流文字大小为12px xff0c 因为在目前
  • 我的2014作的一手好死,2015求轻虐

    真的好想上来开头就写 新的一年 xff0c 全新的自己 xff0c 但是这样自欺欺人的话我还是别说了 xff0c 省得一大批损友又来吐嘈我 2015年希望找到自己的另一半这样的话我也不想再提了 xff0c 因为这样写了两年 依旧单身 xff
  • iOS系统及微信中不支持audio自动播放问题

    span class hljs tag lt span class hljs title script span span class hljs attribute src span 61 span class hljs value 34
  • 模拟复选框

    span class hljs doctype lt DOCTYPE html gt span span class hljs tag lt span class hljs title html span gt span span clas
  • 验证码刷新

    lt label span class hljs keyword class span 61 span class hljs string 34 focusa 34 span gt 看不清 xff1f lt a href 61 span c
  • 如何从数据库调出数据显示到页面PHP+Mysql+Html(简单实例)

    首先显示一下数据库的数据 页面信息 lt DOCTYPE html PUBLIC 34 W3C DTD XHTML 1 0 Transitional EN 34 34 http www w3 org TR xhtml1 DTD xhtml1
  • PHP+MYSQL+HTML 学生成绩查询

    首先创建一个数据库名为 xscj xff0c 表信息如下 xff1a 页面信息为 xff1a lt DOCTYPE html PUBLIC 34 W3C DTD XHTML 1 0 Transitional EN 34 34 http ww
  • php试题与答案(一)

    1 xff0e mysql connect 与 64 mysql connect 的区别是 B A 64 mysql connect 不会忽略错误 将错误显示到客户端 B mysql connect 不会忽略错误 将错误显示到客户端 C 没
  • php试题与答案(二)

    37 xff0e 在str replace 1 2 3 函数中1 2 3 所代表的名称是 B A 34 取代字符串 xff02 xff0c xff02 被取代字符串 xff02 xff0c xff02 来源字符串 xff02 B xff02
  • PHP实现上一页下一页翻页代码实例

    lt php 1 xff0c 将数据库的所有记录查询出来 xff0c 然后再一页一页的显示 link 61 mysql connect 39 localhost 39 39 root 39 39 123 39 mysql select db
  • 论文笔记:Dual-Level Collaborative Transformer for Image Captioning

    前言 论文详情可以参照这篇 xff0c 写得很好 本小白这篇内容主要是对论文中的一些思想和图以及部分公式进行自己的解读 如有错误 xff0c 请多多谅解 论文思想 首先 xff0c 根据论文第一作者在知乎所说 xff08 搜这篇论文名称可以
  • win10环境下基于OpenVINO部署yolov5模型

    以在Intel的OpenVINO上部署Yolov5模型为例 xff0c 加深对模型部署的理解 1 训练准备 获取yolov5模型及数据集 git clone git github com ultralytics yolov5 pt模型 co
  • docker常用命令集锦

    登录服务器 ssh v 64 192 sudo权限 su 查看docker版本 docker version 查看内核版本 uname a 启动docker docker ps a docker start container名 docke
  • git详细使用

    git搭建 amp 更新远程仓库 配置用户 span class token function git span config global user name span class token string 34 John Doe 34
  • Mindspore安装

    本文用于记录搭建昇思MindSpore开发及使用环境的过程 xff0c 并通过MindSpore的API快速实现了一个简单的深度学习模型 什么是MindSpore 昇思MindSpore是一个全场景深度学习框架 xff0c 旨在实现易开发
  • 机械臂的运动控制

    前言 xff1a 近年来 xff0c 随着服务机器人的兴起 xff0c 机械臂也正走进我们的日常生活 xff0c 近年来出现了一些低成本的 小型的 桌面版 的机械臂的产品 xff0c 相信这将是服务机器人的一个重要方向 xff01 机械臂由