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

robosuite添加无碰撞的模型

1 前言

最近在使用robosuite时,需要在仿真环境中可视化物体的目标位置,从而方便观察训练情况,可视化的物体有以下要求:

  1. 形状尺寸与操作的物体一样
  2. 半透明
  3. 只有visual,不与场景其他物体有碰撞
  4. 可以在每次step后设置位置,且固定在设定的位置,不受重力影响

2 方法

找了半天,最终确定了基本思路:

  1. 在环境reset时,初始化一个与操作物体的形状尺寸一样的物体,可以加在xml模型,或通过robosuite内置的模型API,设置模型只有visual,颜色半透明.
  2. 在任务每次step时,设置物体的位置

以下代码只用于robosuite中,原始mujoco不可用:
(1) 初始化物体并载入任务仿真场景

# 初始化操作物体
self.cube = BoxObject(name="cube",density=100,size_min=[0.03, 0.03, 0.03],size_max=[0.06, 0.06, 0.06],rgba=[1, 0, 0, 1],material=redwood,
)
# 初始化仅可视化的目标物体
self.cube_target = BoxObject(name="cube_target",size=self.cube.size,rgba=[1, 0, 0, 0.5],obj_type='visual',joints=None,
)
...
self.model = ManipulationTask(mujoco_arena=mujoco_arena,mujoco_robots=[robot.robot_model for robot in self.robots],mujoco_objects=[self.cube, self.cube_target],
)

(2) 在任务每次step时,设置物体的位置

cube_target_id = self.env.sim.model.body_name2id('cube_target_main')	# 获取仅可视化的目标物体的id
self.env.sim.model.body_pos[cube_target_id] = np.array([0, 0, 1])	# 设置新位置
self.env.sim.model.body_quat[cube_target_id] = np.array([1, 0, 0, 0])	# 设置新四元数 wxyz

3 可视化结果

在这里插入图片描述图中,桌子上的红色木纹方块是cube,更高的半透明红色方块是cube_target.

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

相关文章:

  • JS学习笔记day03
  • 离散数学笔记_第一章:逻辑和证明(3)
  • 软件测试分类知识分享,第三方软件测试机构收费贵不贵?
  • 爬虫(二)解析数据
  • 【C++、C++11】可变参数模板、lambda表达式、包装器
  • 外贸主机测评
  • Meta CTO:Quest 2生命周期或比预期更久
  • Vector - CAPL - 文件处理函数
  • 实力加持!RestCloud完成多方国产化适配,携手共建信创生态
  • Unity 3D GUI教程||OnGUI TextArea 控件||OnGUI ScrollView 控件
  • Leetcode.828 统计子串中的唯一字符
  • Hibernate 相关特性
  • 【研究生学术英语读写教程翻译 中国科学院大学Unit1-Unit8】
  • ListView 控件的使用
  • 域控制器搭建以及成员加入
  • 利用 MLP(多层感知器)和 RBF(径向基函数)神经网络解决的近似和分类示例问题(Matlab代码实现)
  • 进阶C语言——数据的存储【详解】
  • KUKA机器人修改机器人名称和IP地址的具体方法示例
  • 【数据分析师求职面试指南】必备基础知识整理
  • 《开关电源宝典 降压电路(BUCK)的原理与应用》
  • R语言基础(一):注释、变量
  • Java 集合进阶(二)
  • 小孩用什么样的台灯比较好?2023眼科医生青睐的儿童台灯推荐
  • Ubuntu c++ MySQL数据库操作
  • C++11:lambda表达式
  • 【Android -- 开源库】表格 SmartTable 的基本使用
  • 自动化测试实战篇(9),jmeter常用断言方法,一文搞懂9种测试字段与JSON断言
  • vue-virtual-scroll-list虚拟列表
  • C++学习笔记(以供复习查阅)
  • 备份时间缩短为原来 1/4,西安交大云数据中心的软件定义存储实践