ericvoll / robotdynamicslibrary Goto Github PK
View Code? Open in Web Editor NEWThis library contains methods to perform forward/inverse kinematics
License: Apache License 2.0
This library contains methods to perform forward/inverse kinematics
License: Apache License 2.0
Robot Ro = new Robot()
.AddJoint('z', new Vector(0, 0, 300))
.AddJoint('x', new Vector(0, 50, 330))
.AddJoint('x', new Vector(0, 0, 440))
.AddJoint('y', new Vector(0, 100, 35))
.AddJoint('x', new Vector(0, 320, 0))
.AddJoint('y', new Vector(0, 80, 0));
Links = Ro.Links;
Hey, I was trying out the RobotDynamics in Unity, and I tried attaching the Robot script given in the example folder for FANUC to my own model. I made the changes for setting up the robot using AddJoints functions. Yet the model was not moving at all. On further debugging, i found that result.DidConverge was always false, no matter where i move the target.
Also to point out, the example FANUC is scaled up to 30 times and the AddJoints() vector is made based on the scaled up model. Does this effect the result and should I try scaling up my model to try this?
Hi, I was trying the linear transformations on my model, but I think I'm missing how to setup the piston. Here is a project with my model and the RobotDynamicsLibrary taken from the Unity example.
I have just duplicated a cube here to serve as the piston but the setup seems to be wrong. The joints just go to a weird position on moving the target.
Hi, I was trying to apply linear joint transformations to horizontal joints that move left/right rather than up/ down. Here is a screenshot of what I'm trying to achieve -
I was trying to move Both the joints horizontally left and right, so that it can grip on things. Here is the project -
SampleKinematics.zip
In the scene, there is the model without the gripper, which is disabled. That one works well. The active robot in the scene has 2 extra linear joints for the 2 grippers. The script attached to it is CustomRobotWithGrip.
When I run the scene, the grippers don't move at all. They just get detached and stay in the initial position.
Hey, after enabling the p-controller, is there a way I can check whether the current motion the robot is performing complete or not? I would like to perform certain operations after every time the robot finishes moving its joints to a particular position.
Maybe like a trigger when the particular target position is reached?
Hi, while initialising the vector coordinates for Linking the robot, can the values to AddJoint method be given programatically?
This would be useful in a case where the Robot's initial location is not fixed. I was thinking along these lines:
public class myRobot : Robots.Robot
{
public myRobot(List<GameObject> joints)
{
this.Links = new Robots.Robot()
.AddJoint('y',
new Vector(
joints[0].transform.position.x,
joints[0].transform.position.y,
joints[0].transform.position.z))
.AddJoint('y', new Vector(
joints[1].transform.position.x-joints[0].transform.position.x,
joints[1].transform.position.y-joints[0].transform.position.y,
joints[1].transform.position.z-joints[0].transform.position.z))
.AddJoint('y', new Vector(
joints[2].transform.position.x-joints[1].transform.position.x,
joints[2].transform.position.y-joints[1].transform.position.y,
joints[2].transform.position.z-joints[1].transform.position.z)).Links;
}
}
Hi, I have 3 joints in the robot. How can I use the Joint Controller to move the joints to particular pose. For example, I tried using the JointController.ReportNewTargetJointValues function. But for some reason it doesn't happen if i try it more than once. Here is some sample code:
void Update()
{
if (Input.GetKeyDown(KeyCode.B))
{
double[] safePosition = new double[]{0,0,0};
CRobot.JointController.ReportNewTargetJointValues(safePosition, true);
last_q = safePosition;
}
}
When I click on B, the robot returns to the 0,0,0 position. But if I move the joints and press B again, nothing happens.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.