Перемещение сферы в PyBullet с помощью абонентского узла ROS - PullRequest
0 голосов
/ 14 февраля 2019

Я должен создать две сферы в PyBullet, одна из которых будет перемещаться с помощью тактильного устройства обратной связи.Устройство подключено к компьютеру в лаборатории, и его координаты отправляются через тему.Таким образом, устройство физически не находится на моем ПК, но движение можно отслеживать в режиме реального времени через подписной узел.У меня есть следующий код с двумя сферами.У человека не должно быть никакого движения (первое, которое появляется), но второе должно двигаться соответственно данным о положении и угле, полученным от тактильного устройства.Какая функция может быть полезна для меня здесь?Я предполагаю, что должна быть какая-то функция, позволяющая перемещать объект через параметры или перемещения по 3 осям из кода, а не только с помощью моей мыши.Код (старался быть как можно меньше):

import pybullet as p
import time
import pybullet_data


physicsClient = p.connect(p.GUI)
p.setAdditionalSearchPath(pybullet_data.getDataPath())
p.setGravity(0,0,-10)
planeId = p.loadURDF("plane.urdf")

cubeStartPos1 = [0,0,1]
cubeStartPos2 = [0,0.5,20]

boxId1 = p.loadURDF("sphere2red.urdf",cubeStartPos1)
boxId2 = p.loadURDF("sphere2red.urdf",cubeStartPos2)

for i in range (10000):
    p.stepSimulation()

time.sleep(1./240.)
p.disconnect() 

По сути, они должны взаимодействовать, просто чтобы показать происходящие столкновения.

...