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

相关推荐
Evand J1 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB1 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3051 小时前
11.vector的介绍及模拟实现
开发语言·c++
计算机学长大白2 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
PieroPc3 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439695 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna6 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_6 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
梧桐树04297 小时前
python常用内建模块:collections
python
Dream_Snowar7 小时前
速通Python 第三节
开发语言·python