Minimal Setup for Robotic Arm/Skeleton

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

Minimal Setup for Robotic Arm/Skeleton

Postby SBlade » Fri Feb 10, 2017 4:22 am

Dear All,

In order to construct the Robotic Arm/Skeleton in Pascal wrapper I use pascal wrapper created by Stucuk in this thread http://newtondynamics.com/forum/viewtopic.php?f=9&t=7395&p=58865&hilit=official+pascal+header#p58865 I downloaded the newton_pas.rar file and unzipped it, but it didn't contain any dynamics library so how am I supposed to use it without compiled dll?

And does that pascal wrapper contain all the functions, structures etc.. which exists in original Newton 3.13 framework to construct the robotic arm/skeleton ? Because quick search in code reveals that I have only those functions listed below which includes skeleton functionality, will those be enough to do it?

function NewtonSkeletonContainerCreate(world : NewtonWorld; rootBone : NewtonBody; onDestroyCallback : NewtonSkeletontDestructor) : NewtonSkeletonContainer; cdecl; external NEWTON_API;
procedure NewtonSkeletonContainerDelete(skeleton : NewtonSkeletonContainer); cdecl; external NEWTON_API;
function NewtonSkeletonGetSolverMode(skeleton : NewtonSkeletonContainer) : Integer; cdecl; external NEWTON_API;
procedure NewtonSkeletonSetSolverMode(skeleton : NewtonSkeletonContainer; hardJointMotors : Integer); cdecl; external NEWTON_API;
procedure NewtonSkeletonContainerAttachJointArray(skeleton : NewtonSkeletonContainer; jointCount : Integer; jointArray : NewtonJoint); cdecl; external NEWTON_API;
function NewtonSkeletonContainerAttachBone(skeleton : NewtonSkeletonContainer; childBone : NewtonBody; parentBone : NewtonBody) : Pointer; cdecl; external NEWTON_API;
procedure NewtonSkeletonContainerDetachBone(skeleton : NewtonSkeletonContainer; bone : Pointer); cdecl; external NEWTON_API;
procedure NewtonSkeletonContainerFinalize(skeleton : NewtonSkeletonContainer); cdecl; external NEWTON_API;
function NewtonSkeletonContainerGetRoot(skeleton : NewtonSkeletonContainer) : Pointer; cdecl; external NEWTON_API;
function NewtonSkeletonContainerGetParent(skeleton : NewtonSkeletonContainer; node : Pointer) : Pointer; cdecl; external NEWTON_API;
function NewtonSkeletonContainerFirstChild(skeleton : NewtonSkeletonContainer; parent : Pointer) : Pointer; cdecl; external NEWTON_API;
function NewtonSkeletonContainerNextSibling(skeleton : NewtonSkeletonContainer; sibling : Pointer) : Pointer; cdecl; external NEWTON_API;
function NewtonSkeletonContainerGetBodyFromNode(skeleton : NewtonSkeletonContainer; node : Pointer) : NewtonBody; cdecl; external NEWTON_API;
function NewtonSkeletonContainerGetParentJointFromNode(skeleton : NewtonSkeletonContainer; node : Pointer) : NewtonJoint; cdecl; external NEWTON_API;
SBlade
 
Posts: 20
Joined: Thu Jan 12, 2017 5:42 am

Re: Minimal Setup for Robotic Arm/Skeleton

Postby Julio Jerez » Fri Feb 10, 2017 4:33 am

if you are planning to migrate to 3.13
just go a head and move to 3.14, there is not skeleton interface to worry about, all joints are skeleton.
you robot will work just like magic.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Minimal Setup for Robotic Arm/Skeleton

Postby SBlade » Fri Feb 10, 2017 4:44 am

Sorry for mis typo it was 3.14 version wrapper created for pascal by Stucuk, at least it is written like that in the wrapper header.

there is no skeleton interface to worry about, all joints are skeleton.
you robot will work just lie magic.

but there is nothing in wrapper which is related to actuator or something like that, is that normal ? Even without the actuators, can we compose and manipulate the the robotic arms? And which *.dll we are supposed to use if it doesn't ship with compiled *.dll ?

I started to study the code with ArticulatedJoints.cpp, AdvancedPlayerController.cpp, is this the way to go?
SBlade
 
Posts: 20
Joined: Thu Jan 12, 2017 5:42 am

Re: Minimal Setup for Robotic Arm/Skeleton

Postby Julio Jerez » Fri Feb 10, 2017 2:13 pm

Even without the actuators, can we compose and manipulate the the robotic arms? And which *.dll we are supposed to use if it doesn't ship with compiled *.dll ?

yes, but my recommendation Is that it is simpler to integrate the actuator buy recompiling the plugin.
are you abled to play the sandbox demos?
if so, I re-enabled the articulated robot demos which all use the actuator.

you can study any of these demos to see how they are used, and I am sure you should be able to make a realistic robot. It is all a matter of modelling.

actuator work just like real like robotic actuations, you specify a velocity and then
to control then by given them a target position or rotation and the effector move to the target at constant velocity.
the also has limits, so you can use them for virtual reality and haptic devices as well.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 12 guests

cron