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

优化网站价格小程序app怎么做

优化网站价格,小程序app怎么做,网站建设需求文档,wordpress知识库主题视频链接:Pinocchio 结合 CasADi 进行 IK 逆运动学及 Mujoco 仿真_哔哩哔哩_bilibili代码仓库:GitHub - LitchiCheng/mujoco-learning上期我们讲到如何安装 Pinocchio 集成 CasADi 的版本,今天我们结合 so100 这个机械臂进行 ik 应用。ik 部分…

视频链接:Pinocchio 结合 CasADi 进行 IK 逆运动学及 Mujoco 仿真_哔哩哔哩_bilibili

代码仓库:GitHub - LitchiCheng/mujoco-learning

上期我们讲到如何安装 Pinocchio 集成 CasADi 的版本,今天我们结合 so100 这个机械臂进行 ik 应用。ik 部分代码参考 github 有如下:

xr_teleoperate/teleop/robot_control/robot_arm_ik.py at main · unitreerobotics/xr_teleoperate

mocap_retarget/src/mocap/src/robot_ik.py at master · ccrpRepo/mocap_retarget

其主要利用 CasADi 构建优化问题,优化目标为最小化位姿误差,如下:

self.translational_error = casadi.Function("translational_error",[self.cq, self.cTf],[casadi.vertcat(self.cdata.oMf[self.ee_id].translation - self.cTf[:3,3])],)self.rotational_error = casadi.Function("rotational_error",[self.cq, self.cTf],[casadi.vertcat(cpin.log3(self.cdata.oMf[self.ee_id].rotation @ self.cTf[:3,:3].T))],)

通过 IPOPT 进行求解,将模型导入和关节数量等进行了优化,只需要导入 URDF 或 MJCF 模型路径即可

     self.opti = casadi.Opti()self.var_q = self.opti.variable(self.model.nq)self.var_q_last = self.opti.parameter(self.model.nq)   # for smoothself.param_tf = self.opti.parameter(4, 4)self.translational_cost = casadi.sumsqr(self.translational_error(self.var_q, self.param_tf))self.rotation_cost = casadi.sumsqr(self.rotational_error(self.var_q, self.param_tf))self.regularization_cost = casadi.sumsqr(self.var_q)self.smooth_cost = casadi.sumsqr(self.var_q - self.var_q_last)# Setting optimization constraints and goalsself.opti.subject_to(self.opti.bounded(self.model.lowerPositionLimit,self.var_q,self.model.upperPositionLimit))self.opti.minimize(10 * self.translational_cost + 1.0*self.rotation_cost + 0.0 * self.regularization_cost + 0.0 * self.smooth_cost)##### IPOPT #####opts = {'ipopt':{'print_level': 0,'max_iter': 20,'tol': 1e-4,},'print_time':True,# print or not'calc_lam_p':False # https://github.com/casadi/casadi/wiki/FAQ:-Why-am-I-getting-%22NaN-detected%22in-my-optimization%3F}self.opti.solver("ipopt", opts)

最后我们用其测试下so_arm100 机械臂进行 ik 在 Mojuco 中的效果,完整测试代码如下:

import mujoco
import numpy as np
import mujoco.viewer
import numpy as np
import casadi_ik
import timeSCENE_XML_PATH = 'model/trs_so_arm100/scene.xml'
ARM_XML_PATH = 'model/trs_so_arm100/so_arm100.xml'model = mujoco.MjModel.from_xml_path(SCENE_XML_PATH)
data = mujoco.MjData(model)class CustomViewer:def __init__(self, model, data):self.handle = mujoco.viewer.launch_passive(model, data)self.x = 0.3self.y = 0.0self.z = 0.1self.arm = casadi_ik.Kinematics("Jaw")self.arm.buildFromMJCF(ARM_XML_PATH)def is_running(self):return self.handle.is_running()def sync(self):self.handle.sync()@propertydef cam(self):return self.handle.cam@propertydef viewport(self):return self.handle.viewportdef run_loop(self):status = 0while self.is_running():mujoco.mj_forward(model, data)theta = np.piself.z = self.z + 0.001if self.z > 0.3:self.z = 0.3print(f"Current position: x={self.x}, y={self.y}, z={self.z}")tf = np.array([[1, 0, 0, self.x],[0, np.cos(theta), -np.sin(theta), self.y],[0, np.sin(theta), np.cos(theta), self.z],])tf = np.vstack((tf, [0, 0, 0, 1]))self.dof, info = self.arm.ik(tf)print(f"DoF: {self.dof}, Info: {info}")data.qpos[:6] = self.dof[:6]mujoco.mj_step(model, data)self.sync()time.sleep(0.01)viewer = CustomViewer(model, data)
viewer.cam.distance = 3
viewer.cam.azimuth = 0
viewer.cam.elevation = -30
viewer.run_loop()下·

变化位置 Z

http://www.dtcms.com/a/547175.html

相关文章:

  • php做网站和小程序很好网站的ftp账号和密码
  • 驻马店营销型网站建设优化推广广告制作公司起名
  • 广东最大的线上购物平台seo的名词解释
  • 倒v是网站设置的还是作家自己wordpress加载模板
  • 商城县建设局网站建设网站技术方案
  • 东莞网站建设完整投资公司招聘
  • 新手做网站做那个深圳网站设计电话
  • 东莞做商城网站建设图片设计软件app
  • 什么网站可以做外国生意国内网页设计欣赏
  • 中国国际空间站拒绝十个国家wordpress能用多个云存储么
  • 网站建设及优化 赣icp网站的网页设计毕业设计
  • 安庆网站建设专业制移动互联网开发课程设计报告
  • 江苏省建设人才网站广州设计公司前十名
  • 廊坊安次区网站建设公司赤峰市建设局网站
  • 伴奏在线制作网站网络服务器搭建配置与管理 下载
  • 网站开发软件中文版开发商城微信小程序
  • js 做网站找网站建设需要问什么
  • 360优化大师官方网站网站怎么自己做服务器
  • 做网站个体户执照吉林省吉林市龙潭区
  • 平方数和分组
  • 培训学校地址网站建设宣传片拍摄计划
  • 网站seo视频教程批量查询权重
  • 旅游网站优化方案青岛会议网站制作公司
  • 延边手机网站建设开发企业网站的开发
  • 国内快速建站全国大学生创新创业大赛
  • 网站排版的优点wordpress 分表存储
  • 网站技术架构图泉州建设人才网站
  • 网站开发有多少种语言3d建模是什么专业
  • 网站新闻更新怎么设计营销型网站页面摸板
  • 合肥政务区建站公司玉山县建设局的网站