当前位置:   article > 正文

sympybotics机器人工具箱安装

sympybotics

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

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

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

安装sympybotics

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

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

运行sympybotics还需要安装sysmpy 和numpy

安装命令为;

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

安装完成以后运行例:

  1. import sympy
  2. import numpy
  3. import sympybotics
  4. # 建立机器人模型
  5. rbtdef = sympybotics.RobotDef('Example Robot', # robot name
  6. [('0', 0, 0.400, 'q'), # list of tuples with Denavit-Hartenberg parameters
  7. ('-pi/2', 0, 0, 'q'),
  8. ('0', 0.360, 0, 'q'),
  9. ('-pi/2', 0.050, 0.360, 'q'),
  10. ('pi/2', 0, 0, 'q'),
  11. ('-pi/2', 0, 0.090, 'q')], # (alpha, a, d, theta)
  12. dh_convention='modified' # either 'standard' or 'modified'
  13. )
  14. # 设定重力加速度的值(沿z轴负方向)
  15. rbtdef.gravityacc=sympy.Matrix([0.0, 0.0, -9.81])
  16. # 设定摩擦力 库伦摩擦与粘滞摩擦
  17. rbtdef.frictionmodel = {'Coulomb', 'viscous'}
  18. # 显示动力学全参数
  19. print(rbtdef.dynparms())
  20. # 构建机器人动力学模型
  21. rbt = sympybotics.RobotDynCode(rbtdef, verbose=True)
  22. # 计算最小参数
  23. rbt.calc_base_parms()
  24. rbt.dyn.baseparms
  25. # 打印最小参数集P
  26. print(rbt.dyn.baseparms)
  27. rbt.Hb_code
  28. print(rbt.Hb_code)#打印观测矩阵
  29. Yr = sympybotics.robotcodegen.robot_code_to_func('C', rbt.Hb_code, 'H', 'Hb_code', rbtdef)
  30. print(Yr) #打印显示转换为C代码后的观测矩阵Yr
  31. #输出观测矩阵
  32. ob_Yr=open("H.txt","w+")
  33. print(Yr,file=ob_Yr)
  34. ob_Yr.close()
  35. #输出最小参数集
  36. min_inertia=open("P.txt",'w+')
  37. print(rbt.dyn.baseparms,file=min_inertia)
  38. min_inertia.close()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/884742
推荐阅读
相关标签
  

闽ICP备14008679号