pybullet基本环境搭建与导入机器人模型

这次记录一下pybullet中基本仿真环境的搭建,设置重力,启动渲染,导入模型等等

引入库文件

pybullet_data是为了导入模型等等

import pybullet
import pybullet_data
启用服务端

pybullet.GUI打开图形GUI做渲染,需要独显,性能消耗大,pybullet.DIRECT:不打开图形渲染,性能消耗小。

client = pybullet.connect(pybullet.GUI)
添加资源路径

后面加载模型就不用写绝对路径了,如下图是pybullet本地模型库,里面给了一些机器人模型和世界模型。

pybullet.setAdditionalSearchPath(pybullet_data.getDataPath())

在这里插入图片描述

配置图形GUI
    pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_RENDERING, 0)     # 0 选择不渲染
    pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_GUI, 0)           # 0 不打开控件
    pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_TINY_RENDERER, 0) # 0 不使用核显渲染
设置重力
pybullet.setGravity(0, 0, -9.8)
设置标准时间
pybullet.setRealTimeSimulation(1)
加载模型

plane.urdf是官方给出的世界模型

 planeID = pybullet.loadURDF('plane.urdf')

 plane_stadiumId = pybullet.loadSDF("stadium.sdf")		# 加载sdf模型文件

mini_cheetah.urdf文件在mini_cheetah文件夹下所以还需要再多写一段,并且设置初始坐标和四元数。
在指定位置(世界空间坐标[X、Y、Z])上放置导入对象base连杆的附体坐标系。
四元数是指定导入对象base连杆的方向(世界空间四元数[X、Y、Z、W])。

 robotID = pybullet.loadURDF('mini_cheetah/mini_cheetah.urdf', [0, 0, 1], [0, 0, 0, 1])
实时仿真
    while True:
        pass
关闭服务端
pybullet.disconnect()
完整的基础环境代码
import time
import pybullet
import pybullet_data


if __name__ == '__main__':
    # 服务端打开图形GUI做渲染,需要独显,性能消耗大
    # 选择pybullet.DIRECT:不打开图形渲染,性能消耗小
    client = pybullet.connect(pybullet.GUI)

    # 在环境变量中添加资源路径,后面加载机器人就不用写绝对路径了
    pybullet.setAdditionalSearchPath(pybullet_data.getDataPath())

    # 配置图形GUI
    pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_RENDERING, 0)     # 0 选择不渲染
    pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_GUI, 0)           # 0 不打开控件
    pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_TINY_RENDERER, 0) # 0 不使用核显渲染

    # 设置X,Y,Z轴的重力:
    pybullet.setGravity(0, 0, -9.8)
    # 设置时间
    pybullet.setRealTimeSimulation(1)

    # 加载场景模型
    planeID = pybullet.loadURDF('plane.urdf')

    # 加载机器人模型
    robotID = pybullet.loadURDF('mini_cheetah/mini_cheetah.urdf', [0, 0, 1], [0, 0, 0, 1])

    # 开始渲染,1为启动
    pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_RENDERING, 1)

    while True:
        pass

    # 关闭服务端
    pybullet.disconnect()
运行出来的minicheetah模型在这里插入图片描述
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值