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

做微信商城网站哪家好权威网站建设公司

做微信商城网站哪家好,权威网站建设公司,wordpress4.9.4安装启动,合肥做网站yuanmus本教程展示了如何使用 DataLogger 记录数据,并在 Omniverse Isaac Sim 中播放这些数据。通过本教程,你将能够在使用 Omniverse Isaac Sim 时记录并回放状态和动作。1. 记录数据按照以下步骤使用目标扩展示例记录数据:打开示例:打开…

本教程展示了如何使用 DataLogger 记录数据,并在 Omniverse Isaac Sim 中播放这些数据。通过本教程,你将能够在使用 Omniverse Isaac Sim 时记录并回放状态和动作。

1. 记录数据

按照以下步骤使用目标扩展示例记录数据:

  1. 打开示例

    • 打开 Follow Target 示例,路径为 Isaac Examples > Manipulation > Follow Target

  2. 加载世界

    • World Controls 下点击 LOAD,加载 Franka 机器人和可视化目标立方体。

  3. 选择输出目录

    • Follow Target 菜单中,选择数据保存的 json 文件的输出目录,选择 Data Logging

  4. 启动任务

    • Task Controls 下点击 START 启动任务。

  5. 开始记录数据

    • 点击 START LOGGING 开始记录数据。

  6. 移动目标立方体

    • 移动可视化目标立方体,使 Franka 使用 RMPFlowController 跟随它。

  7. 保存数据

    • 几秒钟后,点击 SAVE DATA 保存记录的数据。

  8. 创建新场景

    • 点击 File > New From Stage Template > Empty 创建一个新的空白场景。

  9. 确认数据保存

    • 记录的数据应该已经保存到 Output Directory 文本框中指定的文件中。

这样,您就完成了在 Omniverse Isaac Sim 中通过 DataLogger 记录和保存数据的过程。

1.1 代码概述

打开示例代码

  • 打开位于 ~/.local/share/ov/pkg/isaac-sim-4.2.0/extension_examples/follow_target/follow_target.py 的扩展示例代码。可以使用菜单顶部的 open-source code 按钮来查看该代码。

首先要关注的是 数据记录(logging) 功能。

    def _on_logging_event(self, val):world = self.get_world()data_logger = world.get_data_logger()# 获取世界中默认的 DataLogger 对象# 检查 数据记录器 是否已经启动。如果还没有启动,接下来会定义数据记录的方式并开始记录。if not world.get_data_logger().is_started():robot_name = self._task_params["robot_name"]["value"]target_name = self._task_params["target_name"]["value"]# 数据记录函数,它将在每个物理时间步被调用。该函数获取机器人和目标的状态信息def frame_logging_func(tasks, scene):return {"joint_positions": scene.get_object(robot_name).get_joint_positions().tolist(),"applied_joint_positions": scene.get_object(robot_name).get_applied_action().joint_positions.tolist(),"target_position": scene.get_object(target_name).get_world_pose()[0].tolist(),}# 确保每个物理时间步都会调用这个函数来记录数据。data_logger.add_data_frame_logging_func(frame_logging_func)if val:data_logger.start()else:data_logger.pause()return

现在让我们看一下怎么保存数据集:

    def _on_save_data_event(self, log_path):world = self.get_world()data_logger = world.get_data_logger()data_logger.save(log_path=log_path) # 把收集到的数据保存到指定的 json 文件中。data_logger.reset()return

2. 回放数据

类似地,我们将使用另一个在 Isaac Examples 中提供的扩展示例来回放记录的数据。

  1. 打开 Follow Target 示例,路径为 Isaac Examples > Manipulation > Replay Follow Target

  2. World Controls 下点击 LOAD,加载 Franka 机器人和可视化目标立方体。

  3. 在菜单中的 Data Replay 部分的 Data File 栏中,选择上一步录制数据时保存的 json 文件。

  4. 点击 Replay Trajectory(回放轨迹),仅回放机械臂动作并等待轨迹回放完成。

  5. 点击 Reset 重置场景。

  6. 同样,点击 Replay Scene(回放场景),回放动作和立方体的位置。

2.1 代码概述

    async def _on_replay_trajectory_event_async(self, data_file):# 从指定的 JSON 文件中加载数据记录器。self._data_logger.load(log_path=data_file)world = self.get_world()await world.play_async()# 添加物理回调函数,以便在每个物理时间步调用。# 通过这种方式,我们可以重放之前记录的机械臂运动轨迹world.add_physics_callback("replay_trajectory", self._on_replay_trajectory_step)returnasync def _on_replay_scene_event_async(self, data_file):self._data_logger.load(log_path=data_file)world = self.get_world()await world.play_async()# 场景同理world.add_physics_callback("replay_scene", self._on_replay_scene_step)returndef _on_replay_trajectory_step(self, step_size):# 在每个物理时间步中应用记录的关节位置到机械臂控制器。# 这样机械臂就会按照记录的轨迹进行运动。if self._world.current_time_step_index < self._data_logger.get_num_of_data_frames():data_frame = self._data_logger.get_data_frame(data_frame_index=self._world.current_time_step_index)self._articulation_controller.apply_action(ArticulationAction(joint_positions=data_frame.data["applied_joint_positions"]))returndef _on_replay_scene_step(self, step_size):# 不只有机械臂的关节位置需要被重放,目标的位置也需要被重放。if self._world.current_time_step_index < self._data_logger.get_num_of_data_frames():target_name = self._task_params["target_name"]["value"]data_frame = self._data_logger.get_data_frame(data_frame_index=self._world.current_time_step_index)self._articulation_controller.apply_action(ArticulationAction(joint_positions=data_frame.data["applied_joint_positions"]))self._world.scene.get_object(target_name).set_world_pose(position=np.array(data_frame.data["target_position"]))return
http://www.dtcms.com/a/452764.html

相关文章:

  • 湛江市微信网站建设企业药品行业做网站
  • 2024- Chrome 插件开发指南和实践
  • Apache Iceberg介绍、原理与性能优化
  • winlogon!StateMachineRun函数会用到核心数据结构winlogon中的重要全局状态机状态数组
  • 手机网站开发专业什么网站做二手货车
  • 做音乐网站代码wordpress app 读者
  • 高端品牌网站建设费用网站建设的建议和意见
  • 电子商务网站的建设 论文wordpress导入大小.h
  • 化工销售怎么做网站免费空间如何放网站
  • 网站开发与规划就业前景wordpress主题设置选择
  • 怎么做网站文章伪原创重庆专业做网站
  • 网站建设维护工作经验北京网站建站模板
  • 亚马逊企业网站建设门户网站开发流程
  • 图文网站模版高端网站服务范围
  • 天水市秦州区作风建设年网站青岛推广信息
  • 自己搭建网站下列哪个不是常用的网页制作工具
  • 论述网站开发建设的一般流程亳州网站制作公司
  • asp企业网站模板wordpress getthememod
  • 个人备案经营网站备案私人建设网站
  • 苏州工业园区网站网站开发学什么数据库
  • 手车做网课网站笔记本网站开发背景
  • 网站维护中模版做网站是比特币的
  • 黑龙江省城乡和住房建设厅网站首页惠州网站建设技术托管
  • 网站排名 算法建设企业网站的需要多长时间
  • 让搜索引擎收录网站网站建设原则包括哪些方面
  • 最新网站建设视频做缓网站
  • 郑州网站建设出名吗?wordpress自动
  • qq是哪个公司北京优化seo公司
  • 衡水哪儿做wap网站知名做网站公司
  • 做蓝牙app的网站网站推广的全过程