Skip to content
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

Questions about importing Motion (SMPL-X) and trajectories for humanoid #1980

Open
zoeyliu1999 opened this issue Jun 12, 2024 · 4 comments
Open

Comments

@zoeyliu1999
Copy link

zoeyliu1999 commented Jun 12, 2024

Habitat-Lab and Habitat-Sim versions

Habitat-Lab: master

Habitat-Sim: master

Habitat is under active development, and we advise users to restrict themselves to stable releases. Are you using the latest release versions of Habitat-Lab and Habitat-Sim? Your question may already be addressed in the latest versions. We may also not be able to help with problems in earlier versions because they sometimes lack the more verbose logging needed for debugging.

Master branch contains 'bleeding edge' code and should be used at your own risk.

Docs and Tutorials

Did you read the docs? https://aihabitat.org/docs/habitat-lab/

Did you check out the tutorials? https://aihabitat.org/tutorial/2020/

Perhaps your question is answered there. If not, carry on!

❓ Questions and Help

Hello, thank you for your excellent work! I am currently working with the social_nav task. Would it be possible to import motions and trajectories for a humanoid character so it can walk according to my specifications?

  1. Regarding motion importing, I noticed that there are two HumanoidControllers in examples/tutorials/humanoids_tutorial.ipynb. Would it be advisable to utilize HumanoidSeqPoseController for the social_nav task?
  2. Regarding trajectory importing, would it be compatible with the habitat simulator? For instance, only one joint is specified in the skeleton but others are generated. Please inform me if I've overlooked something.
@aclegg3
Copy link
Contributor

aclegg3 commented Jun 12, 2024

@xavierpuigf could you advise here?

@xavierpuigf
Copy link
Contributor

Hi @zoeyliu1999! It is definitely possible to import motion trajectories from other models. The only thing you need to do is to run a motion transformation script. You can see here how to get a motion in SMPL-X format (for instance motion coming from a Motion Diffusion Model) and convert it so that it is compatible with Habitat:

https://github.com/facebookresearch/habitat-lab/tree/main/habitat-lab/habitat/articulated_agents/humanoids#sequentialposecontroller

If you just want to play the motion as is, you can do that by using the SequentialPoseController (see this). You can also use the HumanoidRearrangeController, but that will require you to decompose the motion into a forward direction and a rotation, so that the motion can be used to guide the character anywhere.

Let me know if you have more questions!

@zoeyliu1999
Copy link
Author

Hi @zoeyliu1999! It is definitely possible to import motion trajectories from other models. The only thing you need to do is to run a motion transformation script. You can see here how to get a motion in SMPL-X format (for instance motion coming from a Motion Diffusion Model) and convert it so that it is compatible with Habitat:

https://github.com/facebookresearch/habitat-lab/tree/main/habitat-lab/habitat/articulated_agents/humanoids#sequentialposecontroller

If you just want to play the motion as is, you can do that by using the SequentialPoseController (see this). You can also use the HumanoidRearrangeController, but that will require you to decompose the motion into a forward direction and a rotation, so that the motion can be used to guide the character anywhere.

Let me know if you have more questions!

@xavierpuigf @aclegg3 thank you for the support!

@zoeyliu1999
Copy link
Author

@xavierpuigf @aclegg3 Hi, apologies for reopening this issue after some time. I am curious whether the robot can interact with the humanoid using imported motions within the scene. I understand that Habitat has a collision-avoidance mechanism used in tasks like Rearrangement and Social Navigation. Can I expect the same functionality with custom-defined motions? Specifically, I am considering importing some real-world motions to see how the robot will react.

@zoeyliu1999 zoeyliu1999 reopened this Jul 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants