Giter VIP home page Giter VIP logo

robotdynamicslibrary's Introduction

robotdynamicslibrary's People

Contributors

ericvoll avatar luchspeter 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

Watchers

 avatar  avatar

robotdynamicslibrary's Issues

Confuse the XYZ axis of the Robot Joint('z', new Vector(0, 0, 300))

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;
  1. what‘s means of first parameter "x/y/z"?
  2. xyz axis in the 2nd parameter Vector, are they the right definition?z axis is not the rotating direction

Example Robot scripts not working on a different Model.

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?

Working with Linear Joints

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.

KinematicsSample.zip

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.

Problem with horizontal linear joints

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 -

Screenshot 2021-03-20 at 1 36 50 PM

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.

Instructions on how to run example

image
Hi,
I'm trying to run it in unity 2020 and everything is imported correctly. When i move the target in the scene, nothing happens.
Do we to click the play button? Also, the gif is a little but fuzzy and can't really see all the details in it.
Thank you,
MC

How to determine if robot has reached a particular 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?

Assigning the parameters for Robot initialisation programatically.

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;
        }
    }

How to use the joint controller to move to a particular pose.

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.

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.