-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
position control #152
Comments
I believe the issue is that set_qf with passive force needs to be called every step to compensate gravity. In SPAIEN 3 (currently dev releases), we provide a better way to achieve this by disabling gravity of the robot completely. |
How do I fix it? |
You can try self.robot.set_drive_target(action)
print("action:",action)
qf = self.robot.compute_passive_force(gravity=True, coriolis_and_centrifugal=True)
self.robot.set_qf(qf)
for i in range(self.frame_skip):
# add these lines
qf = self.robot.compute_passive_force(gravity=True, coriolis_and_centrifugal=True)
self.robot.set_qf(qf)
self.scene.step()
self.render()
self.current_step += 1
print("joint_position", self.robot.get_qpos())
print("\n")
obs = self.get_observation()
return obs |
Thanks for your reply! I have one more question: How can I get a GT point cloud of objects in the scene? |
All geometries in SAPIEN are mesh so there is no GT point cloud. I guess you could mean 2 things.
|
How do I fix it?
I run |
Can you start a new issue and post the result of |
Hi, I want to execute position control in SAPIEN. But it's not quite what I thought. This is my code:
def step(self, action: np.ndarray):
The returned results are:
How do I make the robot reach the target position?
The text was updated successfully, but these errors were encountered: