当前位置: 首页 > article >正文

python机器人Agent编程——实现一个机器人DH参数自动生成Agent(上)

目录

  • 一、前言
  • 二、设计思路
  • 三、DH的人类推理原理
  • 四、推理规则解析
  • 五、小结
  • PS.扩展阅读
    • ps1.六自由度机器人相关文章资源
    • ps2.四轴机器相关文章资源
    • ps3.移动小车相关文章资源
    • ps3.wifi小车控制相关文章资源

一、前言

随着LLM技术的发展,尤其是融入思维链技术、Agent框架、知识图谱等技术,越来越显示出大模型的数学推理能力。
Denavit和Hartenberg(DH)标记法用于描述串联连杆机构的几何形状,是机器人学的基本工具。有了这样的机械臂描述,就可以利用既定的算法技术来找到运动学解、雅可比矩阵、动力学、运动规划和仿真等。然而,构建一个DH模型,对于普通人有一定的门槛,需要进行刻意练习,不适合工程实现。
本篇系尝试利用LLM技术设计实现一个Agent,实现功能是能够根据机械臂各关节坐标的简单认知输入,自动完成DH建模和参数表的生成。使得DH这个建模过程变得不那么晦涩难弄。

二、设计思路

  • 使用语言:python
  • 使用的框架:openai swarm或langchain
  • 大模型选择:Qwen 2.5
  • 构建主要工具:旋转平移符号转换规则、搜索
  • 记忆模块:构造结构化类存储记忆
  • 规划决策模块:思维链,根据《A simple and systematic approach to assigning Denavit-Hartenberg parameter》核心思想形成推理模块
  • 自我评价模块:检查判断推理任务完成
  • 行动模块:能够根据推理结果执行任务

在这里插入图片描述

三、DH的人类推理原理

这里主要介绍2002的一个文章,该文章提出了一个简单而系统的方法来分配Denavit-Hartenberg参数,即,可以通过人类直觉性的知识构建的从基座到末端的变换乘积,即坐标系的一系列直观的平移、旋转右乘变换形状如下:
在这里插入图片描述
对应机械臂puma:
在这里插入图片描述
在这里插入图片描述

,并通过他提供的一些列转化公式,如下:

在这里插入图片描述
对直观所得形状进行启发式符号推导转化,最终得到DH格式形状:
在这里插入图片描述
其中A为:
在这里插入图片描述
即DH规定的参数变化顺序,先扰z轴旋转,再沿z轴平移,再沿x轴平移,再饶x轴旋转。(跟MDH正好相反,见博文N轴机械臂的MDH正向建模,及python算法)

该方法将DH建模的过程从纯人类DH规则经验,转化为了直观坐标变换经验+纯数学推理任务,降低了DH建模规则学习的门栏,但是事实上,确又筑起了另一个壁垒,就是提高了数学推导的门栏。
在这里插入图片描述

我们接下来要做的是把这个壁垒也打破,彻底打掉DH建模的门槛。

四、推理规则解析

根据以上的符号推理系统,总结出进行推理的大致步骤有:

  1. 合并Ty轴运动
  2. 根据A矩结构,查漏补缺,在一定距离窗口进行搜索变换
  3. 局部和全局的协调推理
  4. 停止标准,完成制定自由度N的所有A矩阵
  5. 基本原子操作:交换位置操作(RT左右互换),合并操作(同类合并),分解操作(在A矩缺Rz和Rx时进行构造),移动(T的右移)
    agent需要正对第二个分析进行规划和决策,并调用合适的原子操作进行转化推导,并需要对全局和局部进行终止条件的判断。

五、小结

本篇通过分析一种DH数学方法,结合大模型Agent的技术手段,对关于实现DH参数自动生成的智能体有了一个初步的想法。接下来的篇幅需要通过python编程一步一步来实现这个idea。

[------------本篇完-------------]

PS.扩展阅读

————————————————————————————————————————

对于python机器人编程感兴趣的小伙伴,可以进入如下链接阅读相关咨询

ps1.六自由度机器人相关文章资源

(1) 对六自由度机械臂的运动控制及python实现(附源码)
在这里插入图片描述

(2) N轴机械臂的MDH正向建模,及python算法
在这里插入图片描述

ps2.四轴机器相关文章资源

(1) 文章:python机器人编程——用python实现一个写字机器人
在这里插入图片描述

在这里插入图片描述

(2)python机器人实战——0到1创建一个自动是色块机器人项目-CSDN直播

(3)博文《我从0开始搭建了一个色块自动抓取机器人,并实现了大模型的接入和语音控制-(上基础篇)》的vrep基础环境
(3)博文《我从0开始搭建了一个色块自动抓取机器人,并实现了大模型的接入和语音控制-(上基础篇)》的vrep基础环境
(4)实现了语音输入+大模型指令解析+机器视觉+机械臂流程打通
在这里插入图片描述
在这里插入图片描述

ps3.移动小车相关文章资源

(1)python做了一个极简的栅格地图行走机器人,到底能干啥?[第五弹]——解锁蒙特卡洛定位功能-CSDN博客
(2) 对应python资源:源码地址
在这里插入图片描述
在这里插入图片描述

(3)python机器人编程——差速AGV机器、基于视觉和预测控制的循迹、自动行驶(上篇)_agv编程-CSDN博客
(4)python机器人编程——差速AGV机器、基于视觉和预测控制的循迹、自动行驶(下篇)_agv路线规划原则python-CSDN博客
对应python及仿真环境资源:源码链接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ps3.wifi小车控制相关文章资源

web端配套资源源代码已经上传(竖屏版),下载地址
仿真配套资源已经上传:下载地址
web端配套资源源代码已经上传(横屏版),下载地址


http://www.kler.cn/a/380025.html

相关文章:

  • 解析JSON字符串的多种方式
  • LeetCode 19. 删除链表的倒数第 N 个结点(java)
  • 六,函数深入
  • 青少年编程能力等级测评CPA试卷(2)Python编程(一级)
  • spark-yarn模式的配置
  • Apache POI(java操作Miscrosoft Office)
  • 基于STM32设计的物联网火灾感知系统(259)
  • 数字IC中Verilog编码注意事项
  • 数据安全秘籍:500强企业的经典传输案例大揭秘
  • [QUIC] 版本协商
  • 重构代码之重复的观察数据
  • C语言用GNU源码编译建构系统工具(GNU BUILD SYSTEM)编译创建动态库
  • 微服务系列二:跨微服务请求优化,注册中心+OpenFeign
  • 输电线路绝缘子缺陷分割系统:轻松训练模式
  • 【matlab版】如何估算波形信号的幅值、频率与相位
  • Docker BUG排查
  • Docker 部署 Java 项目实践
  • Windows下FFmpeg集成metaRTC实现webrtc推拉流的例子
  • 深度学习基础(2024-11-02更新到图像尺寸变换 与 裁剪)
  • js实现漂亮的注册页面(js动态注册页面)
  • 使用 Nginx 部署 Python 项目
  • 【系统设计】高效的分布式系统:使用 Spring Boot 和 Kafka 实现 Saga 模式
  • 【STM32】STM32G431RBT6单片机的几种烧录方式
  • golang函数类型Function Types
  • 废品回收小程序搭建,互联网回收行业的特点
  • 如何更改Android studio的项目存储路径