Code Monkey home page Code Monkey logo

human-gazebo's Introduction

human-gazebo

This repository contains the human gazebo models that are used with Human Dynamics Estimation software suite. The files are generated using xsens motion capture data and mvnx-to-urdf. The human model links are made of several simple rigid bodies as shown in the figure below:

Human model image

The measurements of each of the human subject are available from the table. Please refer to the human subject data pdf file to know how these measurements are taken. The urdf models are generated from xsens mvnx file generated through xsens mvn studio software suite. The code to generate the model is available here

Subject Mass [kg] Height [cm] Foot size [cm] Arm span [cm] Ankle height [cm] Hip height [cm] Hip width [cm] Knee height [cm] Shoulder width [cm] Shoulder height [cm] Sole height [cm]
1 62.2 168 24 163 8 91 25 48.5 35.4 140 -
2 79.4 176 26 169 8 94 33 48 40 140 -
3 75.4 180 27 190 8 102 28 58 43 148 -
4 72.7 182 26 197 8 102 29 56 42 150 -
5 55 168 24 168 8 98 25 52 38 139 -
6 71.2 179 29 180 8 100 31 49 43 147 -
7 78.9 178 28 192 8 102 30 52 44 148 -
8 55.2 166 25 170 8 90 28 45 37 139 -

Currently, the legacy directory contains files related to joint motor control boards based on gazebo-yarp-plugins and other configuration files needed to control the human joints.

Mantainers

human-gazebo's People

Contributors

claudia-lat avatar diegoferigo avatar kouroshd avatar lrapetti avatar riccardogrieco avatar yeshasvitirupachuri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

human-gazebo's Issues

Are files in the `legacy` directory mantained?

I noticed that those files contained a [VELOCITY_CONTROL] group that will stop working in gazebo-yarp-plugins 4 once the velocityControlImplementationType parameter, introduced in gazebo-yarp-plugins v3.5.1 https://github.com/robotology/gazebo-yarp-plugins/blob/master/CHANGELOG.md#351---2020-10-05 , will be made compulsory instead of automatically use the default value direct_velocity_pid. If those files are not mantained, why we don't just tag a release that contains them, and then remove them from the master branch of the repo?

Investigate PID tuning for joints of the human model

Currently, the urdf models present in this repository are used primarily in Rviz for visualization. The possibility to use the human urdf model for dynamic simulations is limited for the time being as the low level gain tuning for the joint motor control was quite complex to achieve with in the infrastructure of yarp. Thanks to @Giulero who pointed out Matlab Simscape Multibody ability to import urdf files. It is a very straight forward process and the urdf model is imported to a simulink model as shown below:

Screenshot from 2020-01-31 16-18-57

With the human model imported to simulink, it is easier to analyze the dynamics and find the proper PID values for the low level control for all the joints in the model.

@diegoferigo @lrapetti @claudia-lat @traversaro @DanielePucci

Problem in using the model in Gazebo

The model falls from the sky when I spawn it and then bounces back and the breaks.
How should I fix this?
As mentioned, I have changed the values of masses and inertia of fake links to 0.0001 and 0.1 respectively. Should I change it to something else?
Also, what is the purpose of fake links?

ROS Control URDF

Will you please let me know how the joints can be controlled on this URDF model in ROS?

Is there a workaround to enable this control of the joints?

Fix LeftUpperLeg link visual and collision radius negative value to positive value

There is a bug in the auto-generation of the human urdf models. The LeftUpperLeg link visual radius value is negative for all the models:

<cylinder length="0.44898" radius="-0.0565"/>

https://github.com/robotology/human-gazebo/blob/master/humanSubject01/humanSubject01_48dof.urdf#L663

<cylinder length="0.47802" radius="-0.060305"/>

<cylinder length="0.47802" radius="-0.060305"/>

<cylinder length="0.47078" radius="-0.059228"/>

<cylinder length="0.47078" radius="-0.059228"/>

@claudia-lat please fix this bug in the urdf autogeneration script

CC @lrapetti @kouroshD

urdf gazebo simulation : fake links

Hello,

For each "Subject", you specify in the urdf this :

<!--To open this model with Gazebo replace the null masses, inertias and dimensions of the 'fake links f1 and f2'-->

I'm sorry if it's already specified somewhere but please, can you tell me why theses fake links? and what are the correct values to put? If you have an urdf filled with the correct values ​​and you agree to transmit it to me, you would be of great help to me :)

Regards

create gazebo-model branch

In the master branch, 8 new urdfs models have been uploaded and old model have ben deleted.
However, those urdfs currently don't have the configuration for yarp and gazebo, for this reason I have created a new branch gazebo-model with the old model and its configuration files.

Real-time simulation in RVIZ using data obtained from camera

Hi all,

This is a question.
I am using the URDF model to visualize the real time movement of the model in RViz. I have attached IMU sensors on the joints (mainly upper joints 2 sensors on each hand and one attached to the pelvis, in total 5) and streams fused Euler angle data.
I have a joint state publisher that subscribes to the data and I send it to the respective joints. This can rotate the joints. However I am planning to use a camera to capture the human motion and visualize the motion in the URDF model.

Therefore, I am capturing the motion capture of human using a stereo camera and I am using openpose to extract information 3D points of a person and can visualize it in RViz. Do you think there is any way to use the visual Point data to replicate the same motion in the URDF?

Please let me know if you need more information

Thanks

Investigate model joint constraints definition

Currently the 48dofs model have joint constraints based on anthropometrics tables.
Given the human model
Screenshot 2020-06-16 at 00 25 16

I would expect those constraints to be symmetric between left and right limbs. The symmetry, though, should involve the constraints to be flipped (min_A=-max_B, max_A=-min_B) for those joints around x and z axis accordingly to the frame definition. However, looking at the models, this is not true. In fact, the constraints are defined as follow:

Arms

jLeftC7Shoulder_rotx -5.0000 45.0000
jRIghtC7Shoulder_rotx -5.0000 45.0000

jLeftShoulder_rotx -90.0002 134.9997
jRIghtShoulder_rotx -134.9997 90.0002

jLeftShoulder_roty -90.0002 90.0002
jRIghtShoulder_roty -90.0002 90.0002

jLeftShoulder_rotz -179.9998 45.0000
jRIghtShoulder_rotz -45.0000 179.9998

jLeftElbow_roty -90.0002 85.0000
jRIghtElbow_roty -90.0002 85.0000

jLeftElbow_rotz -145.0001 0
jRIghtElbow_rotz 0 145.0001

jLeftWrist_rotx -60.0001 50.0000
jRIghtWrist_rotx -50.0000 60.0001

jLeftWrist_rotz -20.0000 30.0000
jRIghtWrist_rotz -30.0000 20.0000

Legs

jLeftHip_rotx -30.0000 45.0000
jRIghtHip_rotx -30.0000 45.0000

jLeftHip_roty -15.0000 120.0003
jRIghtHip_roty -15.0000 120.0003

jLeftHip_rotz -45.0000 45.0000
jRIghtHip_rotz -45.0000 45.0000

jLeftKnee_roty 0 134.9997
jRIghtKnee_roty 0 134.9997

jLeftKnee_rotz -30.0000 40.0000
jRIghtKnee_rotz -40.0000 30.0000

jLeftAnkle_rotx -35.0000 45.0000
jRIghtAnkle_rotx -35.0000 45.0000

jLeftAnkle_roty -30.0000 50.0000
jRIghtAnkle_roty -30.0000 50.0000

jLeftAnkle_rotz -50.0000 25.0000
jRIghtAnkle_rotz -25.0000 50.0000

Import Human Model in Gazebo

If i try to import one of the urdf file in Gazebo, only the Pelvis link spawn.
In line 9 there is the following comment:
To open this model with Gazebo replace the null masses, inertias and dimensions of the 'fake links f1 and f2
I have changed all the values and now all the links spawn correctly. Despite that, the robot is unstable (See Video).

test_urdf.mp4

TUNING

How can we tune a humanoid joint in gazebo if we are applying the joint effort to it on the gazebo.

URDF for Gazebo

Hi,

I am trying to use the human_Subject01_66dof_colored. It was mentioned in the urdf file to replace the null masses, inertia and dimensions of the fake links f1 and f2 for using the model in Gazebo.

I used the same masses, inertia for the actual link on the fake links. Initially it was all collapsing. Then I added gazebo plugin of gazebo_ros_control and associated library in the urdf (at the end before the tag ). I also gave the z value to be equal to the height of hip from ground (z = 0.91) and the model stood up fine.
But when I tried to make the moveit package along with the plugin it didnt work. So I made a copy of the urdf, removed the gazebo plugin loaded it in moveit and made left and right arm groups and generated its moveit config.

Next, I spawned the robot with gazebo_ros_control plugin in gazebo and then when I was trying to launch the move_group files from the generated moveit_config it says the robot model is different.

Currently I have added transmission tags with each joint, also have added position controller through a yaml file and still the robot collapses and I am being unable to figure out to have a urdf being spawned in gazebo and for which I can make a moveit_package that I can control afterwards through python code.

Guidance requested please

Thank you

Best Regards
Hasan

Remove the joint limits for 48DOF human models

Following the investigation during risk assessment sprint, thanks to @lrapetti insights, we noticed the base vs human configuration mismatch is due to the human joint limits in 48 DOFs. The idea is to remove those limits similar to 66DOF models.
cc @Yeshasvitvs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.