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

目录

一、前言

随着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端配套资源源代码已经上传(横屏版),下载地址

相关推荐
重生之我是数学王子1 分钟前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
Ai 编码助手3 分钟前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
学习前端的小z7 分钟前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
神仙别闹14 分钟前
基于C#和Sql Server 2008实现的(WinForm)订单生成系统
开发语言·c#
XINGTECODE15 分钟前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
zwjapple32 分钟前
typescript里面正则的使用
开发语言·javascript·正则表达式
小五Five33 分钟前
TypeScript项目中Axios的封装
开发语言·前端·javascript
前端每日三省35 分钟前
面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?
开发语言·前端·javascript
好看资源平台44 分钟前
网络爬虫——综合实战项目:多平台房源信息采集与分析系统
爬虫·python
凡人的AI工具箱1 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang