sympybotics机器人工具箱安装

动力学参数辨识的关键是动力学模型的求解与线性化,动力学模型求解较为简单,然而动力学模型线性化较为困难。借助sympybotics机器人工具箱将有效实现动力学模型的线性化从而获得观测矩阵Y和最小待辨识参数集P。

如此好用的工具箱是Pyhton环境下使用的,不过使用,要先配置一下相关的环境

首先要安装Pyhton和GIT,相关的安装方法不咋赘述;

安装sympybotics

在python和windows系统的命令窗口下复制以下命令:

git clone https://github.com/cdsousa/SymPyBotics.git
cd sympybotics
python setup.py install

运行sympybotics还需要安装sysmpy 和numpy

安装命令为;

pip list  #查看python已安装的工具包
pip install 需要安装的工具包
#symbotics需要安装的工具包
pip install sympy==0.7.5  #必须是0.7.5否则会报错
pip install numpy 

安装完成以后运行例:

import sympy
import numpy
import sympybotics
# 建立机器人模型
rbtdef = sympybotics.RobotDef('Example Robot', # robot name
                              [('0',      0,     0.400, 'q'),  # list of tuples with Denavit-Hartenberg parameters
                               ('-pi/2',  0,     0, 'q'),
                               ('0',      0.360, 0, 'q'),
                               ('-pi/2',  0.050, 0.360, 'q'),
                               ('pi/2',  0,     0, 'q'),
                                ('-pi/2', 0,     0.090, 'q')], # (alpha, a, d, theta)
                              dh_convention='modified' # either 'standard' or 'modified'
                              )
# 设定重力加速度的值(沿z轴负方向)
rbtdef.gravityacc=sympy.Matrix([0.0, 0.0, -9.81])
# 设定摩擦力 库伦摩擦与粘滞摩擦
rbtdef.frictionmodel = {'Coulomb', 'viscous'}
# 显示动力学全参数
print(rbtdef.dynparms())
# 构建机器人动力学模型
rbt = sympybotics.RobotDynCode(rbtdef, verbose=True)
# 计算最小参数
rbt.calc_base_parms()
rbt.dyn.baseparms
# 打印最小参数集P
print(rbt.dyn.baseparms)
rbt.Hb_code
print(rbt.Hb_code)#打印观测矩阵
Yr = sympybotics.robotcodegen.robot_code_to_func('C', rbt.Hb_code, 'H', 'Hb_code', rbtdef)
print(Yr) #打印显示转换为C代码后的观测矩阵Yr
#输出观测矩阵
ob_Yr=open("H.txt","w+")
print(Yr,file=ob_Yr)
ob_Yr.close()
#输出最小参数集
min_inertia=open("P.txt",'w+')
print(rbt.dyn.baseparms,file=min_inertia)
min_inertia.close()

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值