clvrai / furniture

IKEA Furniture Assembly Environment for Long-Horizon Complex Manipulation Tasks
https://clvrai.com/furniture
MIT License
496 stars 56 forks source link

Unable to Manipulate Robot Using Human Control When Running demo_manual #30

Closed tzuhwan closed 3 years ago

tzuhwan commented 3 years ago

Hi, I am unable to manipulate the robot using any of the key instructions when I run demo_manual. The Unity app seems to render fine, so I am not sure what the issue might be. I am using MacOS Big Sur 11.4. Would appreciate any guidance!

youngwoon commented 3 years ago

One potential reason for this issue is entering keys on terminal not on the Unity app. Since the keyboard input is handled by the Unity app, you need to type in keys while the focus is on the Unity app. Could you try this? Let me know if it still does not work.

tzuhwan commented 3 years ago

Thank you for your reply! No that doesn't work. The issue seems to be coming from this method in furniture/env/mjremote.py:

def _recvall(self, buffer): 
       view = memoryview(buffer)
       while len(view):
            nrecv = self._s.recv_into(view)
            view = view[nrecv:]

In my case self._s_recv_into(view) always returns 0. I do not think that's expected behaviour because 0 means the connection is closed. Is there a way to fix it?

youngwoon commented 3 years ago

Sorry, but it's not easy to reproduce your case. I am using MacOS Catalina 10.15 and it works well. It's hard to tell whether it's OS specific problem, some firewall issue, or a bug in the code.

Can you try to log more details by enabling --debug True?

At the same time, you can try mujoco rendering by setting --unity False --render True.