• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by hmusr09 · Mar 21 at 08:37 PM · physicsjointssimulationrobot

Quadruped robot - articulation body - joints too weak.,Robot controlled by articulation bodies - joints too weak to move

Hey,

We're trying to train a quadruped to walk in unity using the ml-agents library. The quadruped is a body with an articulation body as root node which is connected to shoulder nodes which are connected to upper legs and then lower legs. Each part is a child of the previous part. As seen in the image alt text The goal is to have a force-controlled robot that learns to walk with reinforcement learning. However, when we import the model into unity the lower legs are too weak and cannot hold up the weight of the robot. When the robot is suspended in mid-air all the joints work normally but once it hits the floor the legs cannot maintain their position and fold due to the weight.

The only way to increase the strength of the lower legs is to turn up the speed (move the legs more in every update). However, doing so makes the joints seem stronger but they still get weak when they get close to their target and are only able to hold up the robot because they are constantly trying to move and act like a spring in the way that the more it has to be moved the stronger the force applied is but when the distance to the target gets closer the joints get too weak. One another way to make the joints strong enough was to scale the model up 10 times but at this scale, gravity doesn't behave normally and the robot behaves like it is made out of styrofoam as it is really "floaty".

This issue is independent of the model we have tried different quadruped designs created in different ways and formats. from Solidworks urdf's to blender fbx's but we always have the same issue. We also tried porting over the inertia tensor values over from Solidworks to improve the dynamics instead of unity calculating it and it did have an effect on the strength but it still wasn't strong enough.
alt text

We have been trying to resolve this issue for a while now and is limiting our efforts in using unity for simulation and training robots. Please let me know if any of you have an insight into what might be causing this issue and if there is a fix for this. If this is indeed a limitation of using articulation bodies is there another solution that would be more suited for this problem?

Thanks for taking the time to read and answer this question.

mehulrobotgif4.gif (475.2 kB)
imageedit-1-4686907012.png (391.4 kB)
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by pastersteli · Mar 21 at 10:28 PM

You can add force manually. Are u using motor force of joint?

Comment
Add comment · Show 4 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image hmusr09 · Mar 21 at 11:35 PM 0
Share

we are using articulation bodies to set up a revolute joint and the xdrive to move the joint.

avatar image pastersteli hmusr09 · Mar 21 at 11:55 PM 0
Share

is your goal that get joint the target position or do u need to simulate a motor for joint? May be damping too high?

avatar image hmusr09 pastersteli · Mar 22 at 12:33 AM 0
Share

the goal is to get the joint to the target position and stay there. I don't understand why the joint is not strong enough to hold the robot upright. I played around with the stiffness and damping values but they don't seem to change much after a certain point. I saw that while increasing the stiffness the damping needs to be increased too and vice versa so they stay relative to each other.

Show more comments

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

218 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Write custom Joint with solver iterations 0 Answers

Physics (Joint) different in build to in editor 0 Answers

Is it recommended to do scientific modelling in unity or should i write a standalone program 3 Answers

Is there a way for colliders do work with Character joint without spasms? 0 Answers

Rope Physics using Spring Joints 3 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges