Genesis 仿真初体验 [ 基于Linux系统Ubuntu20.04 ]

news/2024/12/22 21:03:30 标签: python, 经验分享, 学习

简介:

近日开源的Genesis仿真平台引发大量关注,尤其是其宣称将会整合AI场景生成与任务生成的能力,于是本人在此对该平台进行了一次简单测试(未完待续)。  

官方链接:https://github.com/Genesis-Embodied-AI/Genesis


使用的系统:Ubuntu 20.04 [ Linux系统 ]


首先创建环境并配置:

conda create --name genesis python=3.9

conda activate genesis

pip install genesis-world  # Requires Python >=3.9;

然后配置如下环境:

pip install torchvision

pip install torch

pip install open3d

pip install wandb


下面开始运行一个demo: 四足狗仿真

先找到:Genesis/examples/locomotion/go2_env.py 这个文件,开启pycharm编辑器,切换到genesis的conda环境后运行代码,返回 Process finished with exit code 0 这个信息说明环境无误。

下面继续打开Genesis/examples/locomotion/go2_train.py 这个文件,按照文件同级backfile里面的readme进行配置:
进入这个网址:https://github.com/ziyanx02/Genesis-backflip

git clone 该项目后,在genesis环境中执行终端指令:

cd rsl_rl && pip install -e . 

安装完成依赖后,需要再配置一下wandb:

python">import wandb
wandb.login(key="xxxxxxxxxxxxxxx")  # xxx密钥
wandb.init(project="genesis", reinit=True, entity="xxxxxxxxxxxx")

好了,可以开始训练,训练阶段的效果:

这里训练100轮,速度很快!!!

下面训练完成后,可以开始验证:

运行Genesis/examples/locomotion/go2_eval.py 这个文件,最后的可视化效果如下:


总结:

  • 仿真速度快,资源占用少于IsaacSim
  • 物理仿真真实,碰撞、交互等物理效果真实
  • 代码风格简洁,上手难度低
  • 可以对环境配置方面的代码进行进一步的整合,方便场景的复用,参考IsaacLab风格
  • 部分宣传的内容没有release,尤其是AI自动任务生成等具有广泛应用前景的内容

补充:

Genesis基于OMPL实现无碰撞运动路径规划,使用前需要自行下载并安装,参考

可以直接下载预编译的wheel并使用pip安装

wget https://github.com/ompl/ompl/releases/download/prerelease/ompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl        # 根据系统选择正确的版本

pip install wheel
pip install ompl-1.6.0-cp39-cp39-manylinux_2_28_x86_64.whl

注意:

Python版本不匹配问题:如果你尝试安装的.whl文件是为cp310(对应Python 3.10版本)编译的。如果你使用的是其他版本的Python(如3.9或3.11),则该.whl文件无法兼容。 

架构不匹配:该.whl文件是为x86_64架构编译的,适用于64位系统。如果你使用的是32位版本的Python或其他架构(如ARM架构),该文件将无法工作。

操作系统不匹配:该.whl文件是为manylinux_2_28编译的,适用于Linux操作系统。如果你使用的是Windows或macOS系统,这个文件将无法工作。

最后再来测试一个demo:机械臂抓取

运行Genesis/examples/tutorials/IK_motion_planning_grasp.py 这个文件,最后的可视化效果如下:


参考资料:
中文教程 https://genesis-doc-zh.readthedocs.io/zh-cn/latest/

Genesis - First Taste: Genesis的简单上手与测试-CSDN博客


http://www.niftyadmin.cn/n/5795866.html

相关文章

前端:纯前端快速实现html导出word和pdf

实现html导出word,需要使用两个库。 html-docx-js和file-saver 导出word的js方法 > npm install html-docx-js >npm install file-saver js引入 import FileSaver from “file-saver”; import htmlDocx from “html-docx-js/dist/html-docx”; /**导出…

springboot461学生成绩分析和弱项辅助系统设计(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装学生成绩分析和弱项辅助系统软件来发挥其高效地信息处理的作…

会话控制(cookie、session 和 token)

1. 介绍 所谓会话控制就是 对会话进行控制HTTP 是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端, 无法区分用户,而产品中又大量存在的这样的需求,所以我们需要通过 会话控制 来解决该问题。 常见的会话控制…

电子电气架构 ---汽车软件需求开发与管理

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

LeetCode 26. 删除有序数组中的重复项 (C++实现)

1. 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k …

Clickhouse(Centos)

地址信息 官网地址:Fast Open-Source OLAP DBMS - ClickHouse 下载地址:packages.clickhouse.com/rpm/stable/ 1.clickhouse-client-23.1.3.5.x86_64.rpm 2.clickhouse-common-static-23.1.3.5.x86_64.rpm 3.clickhouse-common-static-dbg-23.1.3.5.x86_…

S32K324 Stack异常分析及解决方案

文章目录 前言正向排查尝试反向排查问题原因分析问题解决处理总结前言 在项目开发过程中,在一次软件变更时,调整了task优先级之后导致应用层软件中的float数据经常性的变为NAN,导致应用层功能失效。本文记录下这个bug的分析及解决过程。 正向排查尝试 由于问题复现的概率…

模型数据算法概论

模型数据算法是一类使用数据来构建、优化或训练数学模型的算法,常用于数据科学、机器学习和人工智能领域。它们的核心目标是从数据中提取模式或关系,以便在预测、分类或优化任务中应用。以下是一个简要的概述: 1. 模型 模型是用来描述数据特…