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

机器人持续学习基准LIBERO系列9——数据集轨迹查看

0.前置

  • 机器人持续学习基准LIBERO系列1——基本介绍与安装测试
  • 机器人持续学习基准LIBERO系列2——路径与基准基本信息
  • 机器人持续学习基准LIBERO系列3——相机画面可视化及单步移动更新
  • 机器人持续学习基准LIBERO系列4——robosuite最基本demo
  • 机器人持续学习基准LIBERO系列5——获取显示深度图
  • 机器人持续学习基准LIBERO系列6——获取并显示实际深度图
  • 机器人持续学习基准LIBERO系列7——计算并可视化点云

1.获取轨迹文件路径有关包

from libero.libero import benchmark, get_libero_path
import os

2.初始化类和任务

  • 用来获取轨迹文件文件名
benchmark_instance = benchmark.get_benchmark_dict()["libero_10"]()
num_tasks = benchmark_instance.get_num_tasks()

3.生成轨迹文件路径

datasets_default_path = get_libero_path("datasets")
print(datasets_default_path)
demo_files = [os.path.join(datasets_default_path, benchmark_instance.get_task_demonstration(i)) \for i in range(num_tasks)]
print(demo_files)
  • demo_files是由hdf5文件路径组成的列表

4.重放轨迹有关包

import h5py
from libero.libero.utils.dataset_utils import get_dataset_info
from IPython.display import HTML
import imageio

5.轨迹hdf5文件结构

  • demo_0:n步
    • actions:(n,7)
    • dones:(n,)
    • obs
      • agentview_rgb:(n,128,128,3)
      • ee_ori:(n,3)
      • ee_pos:(n,3)
      • ee_states:(n,6)
      • eye_in_hand_rgb:(n,128,128,3)
      • gripper_states:(n,2)
      • joint_states:(n,7)
    • rewards:(n,)
    • robot_states:(329,47)
  • demo_1

6.使用手外相机生成重放视频

example_demo_file = demo_files[9]
# Print the dataset info. We have a standalone script for doing the same thing available at `scripts/get_dataset_info.py`
get_dataset_info(example_demo_file)with h5py.File(example_demo_file, "r") as f:images = f["data/demo_0/obs/agentview_rgb"][()]video_writer = imageio.get_writer("output.mp4", fps=60)
for image in images:video_writer.append_data(image[::-1])
video_writer.close()HTML("""<video width="640" height="480" controls><source src="output.mp4" type="video/mp4"></video><script>var video = document.getElementsByTagName('video')[0];video.playbackRate = 2.0; // Increase the playback speed to 2x</script>    
""")

在这里插入图片描述

http://www.lryc.cn/news/310297.html

相关文章:

  • uniapp中canvas的基础使用
  • 中科大计网学习记录笔记(十七):拥塞控制原理 | TCP 拥塞控制
  • 老隋蓝海项目有人盈利的吗?怎么做比较好些呢?
  • 递归与递推(蓝桥杯 c++)
  • ArduinoTFTLCD应用
  • 《秦时明月》IP新高度:与陕西历史博物馆共同书写文化传承新篇章!
  • 2、事件机制、DOM操作、jquery对尺寸操作、jquery添加和删除
  • YOLOv6-Openvino和ONNXRuntime推理【CPU】
  • C语言:结构体(自定义类型)知识点(包括结构体内存对齐的热门知识点)
  • springboot240基于Spring boot的名城小区物业管理系统
  • Day13:信息打点-JS架构框架识别泄漏提取API接口枚举FUZZ爬虫插件项目
  • AJAX 学习笔记(Day1)
  • leetcode 740.删除并活得点数
  • 寻找峰值[中等]
  • 【ESP32 IDF】key按键与EXTI中断
  • Find My运动相机|苹果Find My技术与相机结合,智能防丢,全球定位
  • 零拷贝技术深入分析
  • Android 基础入门 基础简介
  • HUAWEI 华为交换机 配置基于VLAN的MAC地址学习限制接入用户数量 配置示例
  • 编程笔记 Golang基础 042 文件处理
  • linuxlsof详解
  • 学习JAVA的第十二天(基础)
  • Vector集合源码分析
  • Unity引擎中光源都有哪几种,都有什么作用
  • C语言中结构体成员访问操作符的含义及其用法
  • Kubeadmin方式部署Calico网络模式的K8s集群
  • sparse transformer 常见稀疏注意力
  • 力扣 第 125 场双周赛 解题报告 | 珂学家 | 树形DP + 组合数学
  • 基于springboot+vue的人格障碍诊断系统
  • Go-知识struct