Submit manuscript...
eISSN: 2574-8092

International Robotics & Automation Journal

Mini Review Volume 5 Issue 4

Improvement of the automatic skinning approach for the JACO robotic arm based on a new weight vertex distribution method

Salih Rashid Majeed

Siegen University, Germany

Correspondence: Salih Rashid Majeed, Real Time learning system institute, Siegen University, Germany

Received: May 28, 2019 | Published: July 29, 2019

Citation: Majeed SR. Improvement of the automatic skinning approach for the JACO robotic arm based on a new weight-vertex distribution method. Int Rob Auto J. 2019;5(4):134-136. DOI: 10.15406/iratj.2019.05.00185

Download PDF

Abstract

This mini-script displayed the improvement into the skinning automatic method for the JACO robotic arm, this made by studying how to add a specific weight according to the vertex mesh numbers and trying to define a relationship between this based on the axis of the rotation specially in the corners as a case study

Keywords: linear blending skinning, weight distribution, mesh vertex

Introduction

Many fields, especially robot fields, use the simulation programs. Their paper deals with one of the most commonly used robot manipulator arm for human use such as eating or drinking for people with disabilities. After the arm is simulated, the bones were added as actuators. They have to make sure that the skin of the arm moves without any deformation according to the movement of the bones. We also studied the distributed weight's influence and how to specify the required weight that corresponds to the effort.1

We propose a system in which users only specify a subset of the degrees of freedom and the rest are automatically derived by nonlinear, rigid energy. Our algorithm uses a low-order model and reformulates our energy functions accordingly; it performs magnitude orders faster than before without compromising quality. Our approach also opens the door to new methods of control in addition to immediate performance boosts for existing modeling and real-time animation tools: disconnected skeletons combined with shapeless, reverse kinematics. With skinning weights automatically generated, our method can also be used for fast variation modeling.2

An innovative and useful mechanism in the use of statistical weight optimization for skinning o f3D meshes using the reference t o a skeleton, the mechanism o f of the present invention includes:

  1. A highly efficient linear blending technique (SBS) based on a skeleton deformation sampled from the space of manipulation.
  2. A joint placing with algorithm t to optimize the insertion skeleton.
  3. A set of instruments for a user to therapeutically control the process of skinning.

Statistical skinning weight maps are calculated by means of an optimization of then as rigid as possible (ARAP), the method works with a ground skeleton and optimizes the joint placements to increase the alignment of the skeleton. Bones can also include parameters such as twists, bends, stretching and spines. Several easy tools add additional constraints that will help users resolve ambiguous situations when necessary and interactive feedback. Quality weight maps are designed for challenging deformations and different types of data (e.g., triangles, tetrahedral meshes), including loud, complex and topological example (e.g. missing triangles, open boundaries, self-intersections, or wire boundaries).3

The required software

Blender is the 3D creation suite for free and open source. They support the whole of the 3D pipeline–model, rig, animate, simulate, rendezvous, compose and track movement, even video editing and the production of gamed products. Advanced users use the Python scripting Blender API to customize the application and to write tools, which are often included in future, releases of the Blender. Blender is ideal for people and small studios that benefit from its unified pipeline and reactive development. The showcase contains examples from many Blender projects.

Blender runs across a cross-platform on Linux, Windows and Macintosh computers equally well. The OpenGL interface offers a consistent experience. The list of supported platforms shows those that the development team regularly tests in order to confirm specific compatibility.4

Methodology

As a case study for our new method is JACO robotic arm, after drawing the arm using Blander the bones should be added to the vertex of the skin. The number of the bones depends on the number of the moving joints in additional the type of each movement as shown in the Figure 1.

Figure 1 The JACO arm after adding the bones.

Usually each vertex is attached in linear blending skinning to one or more of the skeleton bones. The weight shows how powerful the bone can influence deformation on each vertex. In the Linear Blending Skinning the different coordinates are assigned to different body object areas in different rigid body objects and each bone to which the vertex belongs has a non-certain mass or as usually called the zero weight. The vertex's world space position is calculated as a weighted average of the World Space Position from the joint. There are a number of specification due to the weight should be noticed as modified from5

  1. The Weights should not be deformed for a leg especially the zero weights should be placed in close bones.
  2. The weights must be smooth to avoid discontinuities.
  3. Weights should be independent from mesh resolution and if the angle of the elbow joint changes, then the skin of the leg should not distort.

The weight distribution range in Blender could be shown as in the Figure 2. The weight can be added by color intensity: every weight has a special spectrum for the colors. This might use the ADD option, which includes many options that relate to special processes, including subtracting when load is removed, blurring usually smothers without any fundamentals.

In this Figure 3 noticed that the bone number Two is moving and the distrusted weight on the next bone vertex subjected to zero weight. This will lead to the very small dislocation during the moving into the joint-space of the J3 as shown in the Figure 4

Figure 2 the weight value according to blender.4

Figure 3 the weight distribution on the robotic arm three.

Figure 4 the dislocation through the motion of the arm due to the one weight distribution.

The general equation as modified from the5 Let us suppose the vertex position as Pv in its spatial co-ordinations Thus the vertex position of the vertex should be as per the world coordinates: P vi world= T i P vi MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape Gaamiua8aadaWgaaWcbaWdbiaadAhacaWGPbaapaqabaGcpeGaam4D aiaad+gacaWGYbGaamiBaiaadsgacqGH9aqpcaWGubWdamaaBaaale aapeGaamyAaaWdaeqaaOWdbiaadcfapaWaaSbaaSqaa8qacaWG2bGa amyAaaWdaeqaaaaa@457A@ . T is the transformation matrix that represents the bone's motion from space to world space.

Take away the defect by moving the arms by applying a straight blend to the vertex next to the joint; each vertex of the skin of each arm has been subjected to all affected bones e.g. This leads to Pi, j not only one system for a different bone coordinate. The weight is the main goal for the various oriented skin vertex in particular. A weight would be assigned to each vertex P belonging to the bone Wij. So, fromthe equation Pviworld= ? i W (i,j) T i P v j i MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape GaamiuaiaadAhacaWGPbGaam4Daiaad+gacaWGYbGaamiBaiaadsga cqGH9aqpcaGG=aWdamaaBaaaleaapeGaamyAaaWdaeqaaOWdbiaadE fapaWaaSbaaSqaa8qacaGGOaGaamyAaiaacYcacaWGQbGaaiykaaWd aeqaaOWdbiaadsfapaWaaSbaaSqaa8qacaWGPbaapaqabaGcpeGaam iua8aadaWgaaWcbaWdbiaadAhaa8aabeaak8qacaWGQbWdamaaCaaa leqabaWdbiaadMgaaaaaaa@4DB6@ . As amended from,5 we can also allocate normal and tangent vectors to the vertex position in the world coordination. The vertex position in the world coordinates can also be taken from 5, N R j ' = i W j,i T A i T N R j i MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape GaamOtaiaadkfapaWaa0baaSqaa8qacaWGQbaapaqaa8qacaGGNaaa aOGaeyypa0Zaaybuaeqal8aabaWdbiaadMgaaeqan8aabaWdbiabgg HiLdaakiaadEfapaWaaSbaaSqaa8qacaWGQbGaaiilaiaadMgaa8aa beaak8qacaWGubGaamyqa8aadaqhaaWcbaWdbiaadMgaa8aabaWdbi abgkHiTiaadsfaaaGccaWGobGaamOua8aadaqhaaWcbaWdbiaadQga a8aabaWdbiaadMgaaaaaaa@4BE5@ the applied Weights independents on the motion of the arm I.e. if the angle of joint is changed, the skin shouldn’t deform this called the spare weight which will be fast integrated also should be smoothly to avoid the dislocations over the motion.

There is one limitation for this method which forced us to improve and adds some variables to this motion which will be when the joint angles are large or when a bone undergoes a twisting motion. The user may choose to design the various parts as separate objects by modeling a complex object, such as movable gears. All parts can be subjected to each other. In such cases, we want to identify one object as the parent of all children. The child is also affected by movement, rotation or scaling of the parent. This relationship leads us to find this new distributed weight equation as follow:

W i,j =1/f 1 5 ( V R i B j ) | f i B j | ( f i B j ) | f i B j | 4 5 MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4vamaaBa aaleaacaWGPbGaaiilaiaadQgaaeqaaOGaeyypa0JaaGymaiaac+ca caWGMbWaaSaaaeaacaaIXaaabaGaaGynaaaacqGHKjYOdaWcaaqaam aabmaabaGaamOvaiaadkfadaWgaaWcbaGaamyAaaqabaGccqGHsisl caWGcbWaaSbaaSqaaiaadQgaaeqaaaGccaGLOaGaayzkaaaabaWaaq WaaeaacaWGMbWaaSbaaSqaaiaadMgaaeqaaOGaeyOeI0IaamOqamaa BaaaleaacaWGQbaabeaaaOGaay5bSlaawIa7aaaacqGHxiIkdaWcaa qaamaabmaabaGaamOzamaaBaaaleaacaWGPbaabeaakiabgkHiTiaa dkeadaWgaaWcbaGaamOAaaqabaaakiaawIcacaGLPaaaaeaadaabda qaaiaadAgadaWgaaWcbaGaamyAaaqabaGccqGHsislcaWGcbWaaSba aSqaaiaadQgaaeqaaaGccaGLhWUaayjcSdaaaiabgsMiJoaalaaaba GaaGinaaqaaiaaiwdaaaaaaa@63C1@

Otherwise W i,j MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4vamaaBa aaleaacaWGPbGaaiilaiaadQgaaeqaaaaa@3B0B@ = 1 / R where R is the number of the JACO joints.

For the JACO simulated arm where VRj and Fj are represented by the child and the parents link positions of the bone i near the Vertex Pv, R is the number of the rotation joints

This makes the vertex which is far away from the bone end point be influenced by its bone but the closer would be influenced gradually. The deformation will be smothering specially the dislocations through the motion. Also it reduced the number of the small dislocation near the Joint angles as shown in the Figure 5.

Figure 5 the dislocation disappeared after applying our weight equation.

Conclusion

This paper represented an improvement for our Automatic skinning method, this is a part of a whole project regarding the JACO robotic arm, the new method deals with the weight distribution through the vertex and how we found a relationship between the weights and the parent-child vertex.

Acknowledgments

None.

Conflicts of interest

The author declares there is no conflict of interest.

References

Creative Commons Attribution License

©2019 Majeed. This is an open access article distributed under the terms of the, which permits unrestricted use, distribution, and build upon your work non-commercially.