maniskill2环境配置
本文最后更新于:2025年5月27日 下午
maniskill2环境配置
官方文档:https://maniskill.readthedocs.io/en/latest/user_guide/getting_started/installation.html
流程
安装mani-skill2
pip install mani-skill2
安装必要的assets
python -m mani_skill2.utils.download_asset all
非常耗时,180+压缩包
安装Vulkan driver
-
安装Vulkan
sudo apt-get install libvulkan1
-
测试Vulkan是否安装成功,依次运行
sudo apt-get install vulkan-tools
、vulkaninfo
这个测试方法,可能会失败,但并不意味着Vulkan驱动安装失败,也可以采用下一节的测试方法。
测试Vulkan是否安装成功
配置
Ubuntu18.04
+NVIDIA 3090
+无图形界面
-
pip install vulkan
-
运行下面脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42from vulkan import *
def main():
app_info = VkApplicationInfo(
sType = VK_STRUCTURE_TYPE_APPLICATION_INFO,
pApplicationName = b"VulkanTest",
applicationVersion = VK_MAKE_VERSION(1, 0, 0),
pEngineName = b"NoEngine",
engineVersion = VK_MAKE_VERSION(1, 0, 0),
apiVersion = VK_API_VERSION_1_0
)
create_info = VkInstanceCreateInfo(
sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
pApplicationInfo = app_info
)
try:
instance = vkCreateInstance(create_info, None)
print("✅ Vulkan instance created successfully.")
except VkError as e:
print(f"❌ Failed to create Vulkan instance: {e}")
return
devices = vkEnumeratePhysicalDevices(instance)
print(f"🖥️ Found {len(devices)} physical device(s).")
for i, device in enumerate(devices):
props = vkGetPhysicalDeviceProperties(device)
name = props.deviceName
version = props.apiVersion
major = VK_VERSION_MAJOR(version)
minor = VK_VERSION_MINOR(version)
patch = VK_VERSION_PATCH(version)
print(f" GPU {i}: {name} (API Version: {major}.{minor}.{patch})")
# Clean up
vkDestroyInstance(instance, None)
if __name__ == "__main__":
main() -
如果Vulkan安装成功,会返回类似如下输出
1
2
3✅ Vulkan instance created successfully.
🖥️ Found 1 physical device(s).
GPU 0: NVIDIA GeForce RTX 3090 (API Version: 1.3.277)
测试maniskill是否安装成功
-
运行下面脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25import gymnasium as gym
import mani_skill2.envs # register env
env = gym.make(
"PickCube-v0",
obs_mode="state",
control_mode="pd_ee_delta_pos",
render_mode=None
)
obs, _ = env.reset()
for i in range(100):
action = env.action_space.sample()
obs, reward, terminated, truncated, info = env.step(action)
if terminated or truncated:
obs, _ = env.reset()
print(f"obs {obs}")
print(f"reward {reward}")
print(f"terminated {terminated}")
print(f"truncated {truncated}")
print(f"info {info}")
env.close() -
顺利返回obs、reward、terminated、truncated、info等信息,说明maniskill安装成功
-
可能遇到如下警告,不影响程序运行
1
2[2025-05-27 15:56:06.699] [svulkan2] [error] GLFW error: X11: The DISPLAY environment variable is missing
[2025-05-27 15:56:06.699] [svulkan2] [warning] Continue without GLFW.
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!