- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 卡尔曼滤波器-Kalmen Filter-1
对于测量来说,比如说第一次的测量值是 51 毫米,然后测量误差我们知道有 3 毫米,也就是说它测出来是 51 毫米,所以它有可能是在 48 到 54 毫米之间的一个值,然后使用同样的一个测量工具,所以它第几次的测量误差都是 3 毫米。还是估计物体长度测量的过程中,假设物体的实际长度为50毫米,而我们第一次的估计值为40毫米,这是一个随机给出的估计值。面对这些不同的测量结果,一个直观的方法是计算这些测量值的平均数,以此来估计硬币直径的真实值。的时候,此时卡尔曼因数接近1,第k次的估计值接近测量值。
2024-10-30 22:20:48
2196
88
原创 自适应阻抗案例分析(上)
当接触力在当前速度的方向上急剧增大时→人期望在该方向加速→机器人应减小该方向上的阻抗系数以顺应人的意图,减小接触力,反之亦然。机器人阻抗模型:构建机器人阻抗模型时,省略了和弹簧相关的项,即。一般情况下,我们认为和弹簧相关的项用来维持机器人在空间当中的某个位置,像类似于拖动施教、康复训练和远程操作之类的协作任务当中,我们往往不要求机器人一定要维持在某个事先定义好的位置。在这种情况下,可以考虑简化机器人的阻抗模型,也就是说删去和弹簧相关的这一项。这里的阻尼系数矩阵是基准值减去另外一个矩阵,
2024-10-29 20:46:01
1557
23
原创 自适应阻抗控制基本概念
自适应阻抗控制是一种使机器人在执行任务过程中,能够根据任务变化自主调整其阻抗行为的控制策略。与传统阻抗控制不同,后者的阻抗特性通常在设计阶段确定,并在任务执行过程中保持不变。例如,在搬运重物的任务中,由于物体的重量,机器人需要产生较大的力,因此可以设置较高的阻抗系数。相反,在拖动示教的情况下,可以设置较低的阻抗系数,以便操作人员轻松地将机器人移动到指定位置。然而,由于机器人通常不会只执行单一任务,单一阻抗特性很难满足多场景、多任务的需求。
2024-10-27 17:35:32
1658
5
原创 笛卡尔空间内的阻抗控制
目的:控制机器人运动与外力之间的动态关系,使其等效为由弹簧-阻尼质量组成的二阶系统。阻抗控制它最根本的目的既不是去控制机器人的运动,也不是去控制机器人的外力。它所希望达到的是机器人的运动和外力之间的某种动态关系,而这种动态关系是可以等效的,由一个弹簧-阻尼-质量所组成的二阶系统来描述。实现:机器人的运动控制(间接力控)从阻抗控制的实现角度来看,关注的仍然是机器人的运动控制。尽管需要处理的是机器人与外界接触的情况,即存在力的相互作用,但我们并没有指定任何关于力的设定值。
2024-10-24 22:25:42
1358
4
原创 关节空间内的阻抗控制
理想阻抗控制在这种情况下,要求我们能够完全掌握机器人的动力学模型,并且能够实时获取关节所受外力的反馈。在满足这些条件时,我们可以实现一个理想的阻抗控制,使机器人表现出预先设定的阻抗特性。弱耦合阻抗控制直接将与外界力矩相关的项去掉,或者将质量矩阵 设定为等于机器人的转动惯量矩阵。在这两种情况下,虽然我们无法实现完全理想的阻抗控制,但仍然可以实现一定程度的阻抗控制效果。不过,与理想状态相比,关节之间会存在一定的耦合作用,各关节的运动会相互影响。
2024-10-22 21:18:04
1632
4
原创 力控仿真平台分析比较
对机械臂力控进行仿真的四个常见仿真平台——Webots、Gazebo、CoppeliaSim 和 MuJoCo各有优缺点。从等方面进行分析,帮助你选择适合的仿真平台。
2024-10-21 07:30:00
2641
4
原创 KUKA外部自动配置(下)
这里定义了一系列的状态字,使用INflag_*变量来接收来自kukaStatus数组的状态信息用于监控机器人的不同状态,如工作模式、位置、报警状态等。这些状态存储在相应的标志变量中。通过kukaStatus字数组中的不同位,代表机器人各种运行状态。(*#############################1.机器人状态字######################################*)// T1模式标志// T2模式标志// 自动模式标志// 外部自动模式标志。
2024-10-19 22:00:44
700
19
原创 KUKA外部自动配置(上)
通过外部PLC对机器人自动运行进程进行控制,其控制原理是:外部PLC通过外部自动运行接口向机器人控制系统发出机器人进程的相关信号(如:运行许可、故障确认、程序启动等),机器人控制系统向外部PLC系统发送有关运行状态和故障状态的信息。
2024-10-19 20:39:54
4735
3
原创 机械臂力控方法概述
在实际的机械臂力控任务中,。MoveIt 的主要功能集中在和等方面,而力控制通常涉及的是和,这些功能不是 MoveIt 的主要强项。
2024-10-18 22:22:54
2119
1
原创 库卡ForceTorqueControl(一)
ForceTorqueControl 是一个可后载入的备选软件包,具有下列功能:执行取决于测得的过程力和力矩的运动遵守过程力和力矩,不取决于工件的位置和尺寸遵守加工工件期间复杂的过程力变化沿着根据测得的过程力编程的轨迹调整速度通过对机器人柔韧性的编程补偿工件的位置和尺寸偏差无应力定位 - 进入接触位置通过一个 KRL 程序确定传感器负载数据传感器负载数据的监控传感器修正极限的监控ForceTorqueControl 的基础技术是 RobotSensorInterface (RSI)。
2024-10-16 22:57:19
1943
1
原创 路径规划——RRT、RRT*、RRT-Connect算法说明
RRT是一种快速的路径规划方法,通过随机采样不断扩展树,适用于复杂环境中的初步路径搜索。RRT* 是 RRT 的优化版本,强调寻找最优路径,在每次扩展时对路径进行修正和优化。通过双树结构加速路径找到过程,是效率更高的版本,尤其适用于目标点比较远的情况。
2024-10-12 00:52:50
3262
2
原创 示教器界面介绍
自上而下,依次为状态栏、信息栏、导航器、文件操作区1. 状态栏:包括提交解释器、驱动状态、程序状态、模式状态、速度状态、执行状态、坐标选择状态、手动运动模式提交解释器状态与使用场景:黄色:选择了提交解释程序;绿色:提交解释程序在运行;红色:提交解释程序被停止;灰色:未选择提交解释程序;监控输入/输出(I/O)信号。管理机器人程序中的全局变量或状态。执行定时器、计数器等任务。与PLC等外部系统进行通信。管理和处理非实时的任务,例如报警管理、数据记录等。
2024-10-10 22:21:12
1365
2
原创 机械臂路径规划基本概念
机械臂路径规划是一个复杂而多方面的问题,需要综合考虑几何、运动学、动力学和环境约束。常用的方法包括基于采样的方法(如 RRT 和 RRT*)、基于搜索的方法(如 A* 和 Dijkstra)以及基于优化的方法等。路径规划需要平衡多种因素,包括路径的可行性、优化程度和计算效率。
2024-10-08 21:04:29
1953
原创 EtherCAT网络设备从属关系与功能说明
C6920-0600 是 EtherCAT 网络的主站,运行 TwinCAT 3 软件,负责整个网络的控制和通信。- EK1100 作为总线耦合器,连接 EtherCAT 网络和多个 I/O 模块,扩展网络的能力。- EL6731 作为网关模块,允许 EtherCAT 网络与 PROFIBUS 设备互联互通。- EL1008 是数字量输入模块,采集外部数字信号并传输至主站。- EL2008 是数字量输出模块,接收主站指令以控制外部设备的开关操作。
2024-10-07 21:37:55
1246
原创 Moveit2与gazebo联合仿真:添加摄像头传感器
虽然可以在中定义传感器接口,但在实际应用中,特别是与 Gazebo 结合时,通常会将传感器配置和控制器配置分开,使用专用的传感器插件会更常见。这使得代码更加简洁,功能更为清晰,并且可以更好地利用 Gazebo 提供的特性。
2024-09-20 18:11:49
814
2
原创 启动ros2_control与gazebo仿真
启动文件本身不会自动启动,除非你在启动命令中明确指定了相关的 ROS 2 节点和参数。是一个单独的 ROS 2 节点,它需要在 Gazebo 启动之前单独启动。
2024-09-13 22:45:33
1072
1
原创 Ubuntu系统下安装包与只读文件的操作命令
1.1 检查文件权限在这个例子中,-r--r--r--表示文件对所有用户都是只读的(没有写权限)。1.2 修改文件权限要修改只读文件,你需要先更改其权限,使其可以写入。你可以使用chmod命令来完成这项任务。这里+w选项将写权限添加到文件。
2024-09-12 12:37:52
922
原创 分布式通信:多计算平台的任务分配
机器人体积较小,采用树莓派作为控制器,实现传感器处理和电机驱动功能;视觉处理等应用功能在性能更好的laptop中处理,此外,在laptop监控传感器信息,远程控制机器人运动。两台电脑通过ROS2实现通讯,分别配置好ROS2开发环境。
2024-09-09 15:33:38
927
原创 DDS-数据分发服务
1.ROS2架构1.ROS2架构在ROS 2(Robot Operating System 2)中,系统通常由以下几个核心部分组成,它们共同构成了ROS 2的架构和功能:Plumbing(管道):这个术语在ROS 2中用来形象地描述其通信基础设施。它包括了底层的通信机制,如话题(Topics)、服务(Services)、动作(Actions)等,这些机制允许节点(Nodes)之间进行数据交换和通信。
2024-09-09 12:22:06
1176
原创 拉取ros2_control_demos存储库
git clonerosdep方法适用于你只需要构建和安装单一软件包的情况。你需要手动克隆所需的每一个软件包。依赖的管理较为直接,但需要对每个包手动处理。vcs工具方法适用于需要处理多个相关软件包的情况,因为.repos文件中通常定义了多个存储库的相关信息。可以自动克隆和管理多个依赖的包,这对于大型项目尤其有用。依赖管理更全面和系统化。如果你只关注单个包,第一种方法可能更简单直接。如果你在处理多个相关的包,第二种方法将更为高效。在使用rosdep来安装 ROS 2 的依赖包之前,运行。
2024-09-07 10:21:18
1263
原创 四、使用MoveGroup C++接口——轨迹处理(七)
运动规划器通常只生成“路径”,即这些路径没有与之关联的时间信息。MoveIt 包含几种轨迹处理算法,这些算法可以处理这些路径,并生成正确时间参数化的轨迹,同时考虑到各个关节上施加的最大速度和加速度限制。这些限制是从为每个机器人指定的配置文件中读取的。该配置文件是可选的,它可以覆盖URDF(统一机器人描述格式)文件中的任何速度或加速度限制。截至2023年1月,推荐的算法是“时间最优轨迹生成”(TimeOptimalTrajectoryGeneration,简称TOTG)。
2024-08-20 23:15:10
1235
原创 四、使用MoveGroup C++接口——规划场景监视器(六)
这篇文档介绍了MoveIt中的规划场景监视器(Planning Scene Monitor)的概念、架构、使用案例以及其在机器人运动规划中的作用。1.介绍规划场景监视器是一个用于存储机器人周围世界表示以及机器人本身状态的对象。该对象的内部状态通常由一个组件维护,该组件能够以线程安全的方式读取和写入状态。规划场景是机器人路径规划和运动规划中非常重要的部分,它包含了机器人、障碍物以及其他环境元素的详细信息。
2024-08-19 22:07:35
926
原创 四、使用MoveGroup C++接口——节点move_group(五)
在机器人运动控制领域,MoveIt 2作为一个先进的框架,为开发者提供了一套强大的工具和接口。move_group 节点,作为MoveIt 2中的一个核心ROS 2节点,扮演着至关重要的角色。它不仅简化了运动规划和执行的过程,而且通过其高度集成的架构,为用户提供了与机器人进行交互的高级接口。本文将详细介绍move_group 节点的架构、功能以及如何通过ROS 2 API与之交互,进而实现机器人运动的精确控制。1.move_group介绍。
2024-08-19 09:46:29
1503
原创 四、使用MoveGroup C++接口——混合规划(四)
全局规划器完成计算后,新的全局解决方案被发布到局部规划器,局部规划器的轨迹操作插件将更新融合到参考轨迹中。全局规划器的任务是解决一个全局运动规划问题,这与“感知-规划-行动”应用中使用的规划器非常相似。为了规划和执行动作,首先需要感知环境和机器人状态(“感知”),然后由规划器计算机器人的轨迹(“规划”),最后使用轨迹控制器一次性执行(“行动”)。规划逻辑插件的自定义实现支持将通用事件映射到架构提供的各种动作上,例如“启动全局规划”、“停止轨迹执行”或“切换到局部规划器的约束x”。
2024-08-18 22:46:22
1132
2
原创 四、使用MoveGroup C++接口——运动学(二)
如果ACM中两个物体对应的值被设置为true,则指定这两个物体之间的碰撞检查是不需要的,即“总是处于碰撞状态”或“永远不会碰撞”的状态。例如,可以复制当前的 ACM 和状态,修改它们,然后将它们传递给碰撞检查函数,以实现对特定碰撞对的忽略。自动生成时,工具会分析每个连杆对,并将其分类为“总是处于碰撞状态”、“永远不会碰撞”、“默认处于碰撞状态”、“禁用相邻连杆”和“有时处于碰撞状态”,并相应地禁用碰撞检测。在MoveIt中,碰撞检测是在规划场景(Planning Scene)中配置的。
2024-08-16 11:40:57
1250
原创 四、使用MoveGroup C++接口——运行案例(一)
本章分别介绍运动学、运动规划、混合规划、节点move_group规划场景监视器和轨迹处理内容, 本节使用MoveGroup类组件对机器人操作仿真,执行教程代码并在RViz中输出结果。
2024-08-16 05:29:27
756
原创 三、使用MoveIt Task Constructor完成机械臂拾取与放置
定义MTCTaskNode类,并在类中声明成员函数包括构造函数public:private:成员函数实现,定义 getter 函数来获取节点基础接口使用指定的选项初始化节点此类方法用于设置规划场景,创建一个圆柱体,并设置尺寸和位置。如果放置在工作空间外,规划将失败doTask函数与MTC对象交互。首先创建一个任务,包括设置属性和添加阶段。接下来初始化任务并生成规划,找到5个成功的解后规划停止。
2024-08-13 23:44:40
1595
原创 二、RVIZ中可视化执行过程-moveit_visual_tools
moveit_visual_tools工具可以在rviz中显示可视化效果来了解程序执行的操作。
2024-08-12 08:59:16
707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人