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

做婚礼效果图的网站有哪些优化大师是干什么的

做婚礼效果图的网站有哪些,优化大师是干什么的,宠物社区网站开发设计文档,注册公司该怎么注册视频讲解: MuJoCo 仿真 Panda 机械臂!末端位置实时追踪 可视化(含缩放交互) 仓库地址:GitHub - LitchiCheng/mujoco-learning 本期介绍下,mujoco_py这个库很老了,最新的版本可以通过mujoco的p…

视频讲解:

MuJoCo 仿真 Panda 机械臂!末端位置实时追踪 + 可视化(含缩放交互)

仓库地址:GitHub - LitchiCheng/mujoco-learning

本期介绍下,mujoco_py这个库很老了,最新的版本可以通过mujoco的python库,可视化模型及获取模型body的实时位置,下面开始,首先安装如下依赖库

pip3 install mujoco glfw

关于模型有哪些body,可以通过代码的形式,或者查看xml描述文件

新建get_body_pos.py的文件夹

import mujoco
import numpy as np
import glfw# 定义鼠标滚轮滚动的回调函数,用于处理界面缩放
def scroll_callback(window, xoffset, yoffset):# 使用 global 关键字声明 cam 为全局变量,以便在函数内部修改它global cam# 根据鼠标滚轮的垂直滚动量 yoffset 调整相机的距离,实现缩放效果# 0.1 是缩放的比例因子,可以根据需要调整cam.distance *= 1 - 0.1 * yoffsetdef main():# 声明 cam 为全局变量,方便在其他函数中使用global cam# 从指定的 XML 文件路径加载 MuJoCo 模型model = mujoco.MjModel.from_xml_path('/home/dar/MuJoCoBin/mujoco_menagerie/franka_emika_panda/scene.xml')# 创建与模型对应的 MjData 实例,用于存储模拟过程中的动态数据data = mujoco.MjData(model)# 初始化 GLFW 库,用于创建窗口和处理输入事件if not glfw.init():# 如果初始化失败,直接返回return# 创建一个 1200x900 像素的窗口,标题为 'Panda Arm Control'window = glfw.create_window(1200, 900, 'Panda Arm Control', None, None)if not window:# 如果窗口创建失败,终止 GLFW 并返回glfw.terminate()return# 将当前上下文设置为新创建的窗口,以便后续的 OpenGL 操作在该窗口上进行glfw.make_context_current(window)# 设置鼠标滚轮事件的回调函数为 scroll_callback,当鼠标滚轮滚动时会调用该函数glfw.set_scroll_callback(window, scroll_callback)# 初始化相机对象,用于定义观察视角cam = mujoco.MjvCamera()# 初始化渲染选项对象,用于设置渲染的一些参数opt = mujoco.MjvOption()# 设置相机的默认参数mujoco.mjv_defaultCamera(cam)# 设置渲染选项的默认参数mujoco.mjv_defaultOption(opt)# 初始化扰动对象,用于处理用户对模型的交互操作pert = mujoco.MjvPerturb()# 初始化渲染上下文对象,用于管理渲染资源con = mujoco.MjrContext(model, mujoco.mjtFontScale.mjFONTSCALE_150.value)# 创建一个场景对象,用于存储要渲染的几何元素scene = mujoco.MjvScene(model, maxgeom=10000)# 根据名称 'hand' 查找末端执行器的 body IDend_effector_id = mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_BODY, 'hand')print(f"End effector ID: {end_effector_id}")if end_effector_id == -1:# 如果未找到指定名称的末端执行器,打印警告信息并终止 GLFWprint("Warning: Could not find the end effector with the given name.")glfw.terminate()return# 进入主循环,直到用户关闭窗口while not glfw.window_should_close(window):# 获取末端执行器在世界坐标系下的位置end_effector_pos = data.body(end_effector_id).xpos# 打印末端执行器的位置信息,方便调试print(f"End effector position: {end_effector_pos}")# 执行一步模拟,更新模型的状态mujoco.mj_step(model, data)# 定义视口的大小和位置viewport = mujoco.MjrRect(0, 0, 1200, 900)# 更新场景对象,将模型的最新状态反映到场景中mujoco.mjv_updateScene(model, data, opt, pert, cam, mujoco.mjtCatBit.mjCAT_ALL.value, scene)# 将场景渲染到视口中mujoco.mjr_render(viewport, scene, con)# 交换前后缓冲区,将渲染结果显示在窗口上glfw.swap_buffers(window)# 处理所有待处理的事件,如鼠标、键盘事件等glfw.poll_events()# 终止 GLFW 库,释放相关资源glfw.terminate()if __name__ == "__main__":# 当脚本作为主程序运行时,调用 main 函数main()

运行代码,python3 get_body_pos.py,可以看到出现panda机械臂场景,同时控制台不停的输出hand body的位置

http://www.dtcms.com/wzjs/56543.html

相关文章:

  • 投票网站制作重庆seo优
  • 购物网站建设方案书营销方案100个软文
  • js获取网站访客mac南京做网站的公司
  • 做网站设计的长宽一般是多少钱网络营销公司有哪些公司
  • 西海岸城市建设局网站小广告图片
  • 网上做网站的靠谱吗郑州网
  • 企业网站模板演示谁有推荐的网址
  • 深圳市专业的做网站游戏推广拉人渠道
  • 毕业设计论文代做网站广州seo网站
  • 局域网网站建设现在有哪些免费推广平台
  • 厦门网站建设团队网站打开速度优化
  • 做效果图的外包网站页面优化的方法
  • 关于建设校园网站的毕业论文长春视频剪辑培训机构
  • 网站的详情页面设计注册域名费用一般多少钱
  • 上海网站建设高端定制百度广告投放价格表
  • 怎样才能制作网站软件开发
  • 提高网站收录的方法手机端百度收录入口
  • 百度网站收录更新青岛seo青岛黑八网络最强
  • 营销型企业网站源码西安seo网站推广优化
  • 无锡优化网站价格微信广告投放推广平台多少费用
  • 网站建设源代码百度推广优化工具
  • php网站开发 pdf认识网络营销
  • 网站主页没有关键词网站收录提交入口大全
  • 网站如何做数据储存的百度关键词排名推广话术
  • 宾馆网站建设方案网站托管维护
  • 做网站接活犯法吗买友情链接
  • 用花瓣网站上的图片做游戏行吗南宁网站优化
  • 佛山做推广网站的网络推广宣传方式
  • 自己怎样做优惠券网站seo排名影响因素主要有
  • 建浏览器网站制作天津百度快照优化公司