Skip to content
This repository has been archived by the owner on May 19, 2022. It is now read-only.

Order of the joints in the state vector #12

Open
francois-keith opened this issue Jan 8, 2014 · 2 comments
Open

Order of the joints in the state vector #12

francois-keith opened this issue Jan 8, 2014 · 2 comments

Comments

@francois-keith
Copy link

Using jrl_dynamics_urdf parser, the rank of each joint is defined by the browsing of the tree. It is browsed in a depth first way, and the priority of rank between childrens is determined by the alphabetical order.

To make it more concrete, the order of the dofs in the state vector for the Romeo robot is:

Free flyer
* Left leg   
* Right leg  
* Trunk
* * Left arm   
* * Head
* * Right arm  

As a result, depending on the name of the joints, their order in the state vector changes from one robot to another.
I think defining a generic order for the joint vector based on the REP 120 frames would make the reading easier (between robots), e.g.:
[FF, left-leg, right-leg, chest, head, left-arm, right-arm]

@thomas-moulard
Copy link
Contributor

Hi Francois,
Why don't you just access joints by name and stop relying on order which is
a bad idea anyway?

Le jeudi 9 janvier 2014, François Keith a écrit :

Using jrl_dynamics_urdf parser, the rank of each joint is defined by the
browsing of the tree. It is browsed in a depth first way, and the priority
of rank between childrens is determined by the alphabetical order.

To make it more concrete, the order of the dofs in the state vector for
the Romeo robot is:

Free flyer

  • Left leg
  • Right leg
  • Trunk
  • * Left arm
  • * Head
  • * Right arm

As a result, depending on the name of the joints, their order in the state
vector changes from one robot to another.
I think defining a generic order for the joint vector based on the REP 120
frames would make the reading easier (between robots), e.g.:
[FF, left-leg, right-leg, chest, head, left-arm, right-arm]


Reply to this email directly or view it on GitHubhttps://github.com//issues/12
.

Thomas Moulard(ムラー トマ)
CNRS-AIST JRL (Joint Robotics Laboratory), UMI3218/CRT, Tsukuba, Japan
http://thomas.moulard.net | Tel: +81 (0)80-9436-1985 | GPG Key Id:
516FC68F31496D58
Add me on LinkedIn: http://www.linkedin.com/in/moulard

@francois-keith
Copy link
Author

Hello Thomas,

I was mostly thinking of the definition of the half-sitting position, that is still set by a vector in the robot.py file.
(e.g.: https://github.com/stack-of-tasks/sot-romeo/blob/master/src/dynamic_graph/sot/romeo/robot.py.in#L36-L44 )
But it also could be done by parsing the srdf file.
https://github.com/laas/romeo/blob/master/romeo_description/srdf/romeo_small.srdf

So, yes, I guess accessing the joints by their name can do.
I just thought this would make the reading of the state vector / Jacobian matrices easier.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants