Code Monkey home page Code Monkey logo

computer-graphics-kinematics's People

Contributors

alecjacobson avatar rarora7777 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  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  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  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

computer-graphics-kinematics's Issues

Forward kinematics aligned_allocator

Hi I am not experienced in C++. Would anyone mind explaining what the Eigen::aligned_allocatorEigen::Affine3d in the input vector for forward_kinematics.cpp is for? I have read the documentation but I still do not understand how it should be used in this context. Thanks in advance!

Frame not following bones

ezgif com-crop

I have the bones moving but the wireframe is not following the bones. Is there something I need to implement for this to happen?

Demos in the Readme

Hi Professor,

Just wondering, for the gifs you posted on the readme, are you using the same "exact" formula as the one given in the instructions?
It seems that your models are able to produce a very very smooth movement.

Catmull Rom Interpolation time

It seems like the time we will pass to the Catmull-Rom-Interpolation is exact the seconds in the software, which will easily pass the limitation within the maximum keyframe time we implemented.

I'm wondering shall we loop the 't' passed into the Catmull-Rom-Interpolation? if so, does this make sense that all the time passed the maximum keyframe time will be instantly set into 0, or some gap time need to be set after maximum time?

Also, if we set the loop to happen, shall there be any Interpolation during the frame between maxium -> first frame, or there is nothing required to happen within that scope?

About possibly having helper functions

It seems like it wasn't allowed for the previous assignments unless it was specified, but can we make helper functions within the cpp files or is that still not allowed?

About Catmull-Rom-Interpolation

I've read the Catmull-Rom-Interpolation page given in the assignment, but what are we supposed to do when calculating the tangents involving an interval having an endpoint within the data?

random output

Right now my output is very random, with same code, sometimes the animation behaves very well as expected, but sometimes the model will disappear in the end of animation. I am just curious what might cause this randomness?
Also a constant behaviour is when I run the executable, the first time animation will skip first couple key frames, but when I press R to reset it, first couple key frames will be played as normal every time. Any thoughts?

What is the output of forward_kinematics()?

forward_kinematics returns T, which is a vector with 2 components.
std::vector<Eigen::Affine3d,Eigen::aligned_allocatorEigen::Affine3d > & T);
What is the meaning of these 2 components? Intuitively, I think the first component is the rotation and the 2nd one is the translation for each bone, but I'm not sure.

How to properly run ./kinematics for animation?

As I understand it, the key "i" is used for toggling animation. But when I printed out the size of the parameter "keyframes" in "catmull_rom_interpolation.c", it is zero. Not sure what is wrong.

stationary output

I implemented the functions until copy skeleton at and I find that I get no animation yet. The object is just stationary. Is this expected? I thought that after catmull-rom is should start having animation.
capture

Wrong end effector position?

I have implemented the files including and up to Catmull-Rom Interpolation. However, I have noticed that the position of my end effector (the dot) is wrong before I start the animation. I have looked into main.cpp but I still don't understand why the end effector is currently associated with the bottom bone instead of the top bone. What might possibly be the reason?

screen shot 2018-11-20 at 11 10 16 am

gradient calculation

Besides calculating the Jacobian matrix, it seems we still need to calculate the dE/dX vector. Do we apply the same trick to get dE/dX? i.e. add 10e-7 to the position vector and get the difference between the new E value and the old E value then divide by 10e-7.

Thanks in advance!

Deadline Extension Request

Can we have a deadline extension? Many assignment due dates are piling up at this time for me :( Thanks!

How to verify/debug?

After implementing a function, is there any way to verify the functionality after each step?
I've finished the first three functions and I still have no way of telling whether it's correct.

Chimpanzee Hand Animation

Is the chimpanzee hand animation in the README sped up? Looking at the json the animation should take 6 seconds but the one in the README definitely doesn't last as long.

About T_i when xzx = vec3 [0,0,0]

From the equation below
image
We will easily find that if there is no rotation applied for each joint, we will get all the T_i = T_root, and mostly that will all be set as an identity matrix.
So I'm wondering if that is the thing we expected here, or I misunderstood things about T_i. Does T_i here only means a relative rotation compared to root, or some other information is expected there?

Viewing other models?

I'm working from the UG machines and the projects seems to compile and display properly, but I can't seem to switch the view to anything other than the default robot-arm model.

I see in the terminal that you can use "<,>" to switch models, but no key seems to work. All the other commands like toggle wireframe and switch to canonical view seem to function properly.

Is this implemented later in the lab or perhaps setup in a config file somewhere, or just an error?

Clarification on Equation 11 in the readme

Hi Professor,

Can you explain how the Cost function changes from ||x_b - q||^2 from equation 10 to ||x_b - hat_x_b||^2 ..

Isn't hat_x_b should be q instead? Since we are still trying to reduce the distance between each effector from the desired goal location, q ? I just don't really understand how the cost function becomes like the one in equation 11. Thanks!

How to check each function's correctness?

Hey, in most previous assignments we can check the output after we have finished every or at least several functions. This time I noticed that this kind of intermediate output is not being provided. Right now I have finished some files but I am unable to tell if I did this correctly ( it compiled, but I may misinterpret some math equations or have other kind of issues) and I can see how hard it would be to debug or separate the problem if we can only see result after finish everything. Thus, I am wondering if there is some plausible way to check each function's correctness?

Failed to Start Project

I cloned the repo from Git and ran cmake .. on Windows 10. I did no modifications to the original code.
I got an exception at line 86 in DenseStorage.h: EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(0xf);
How can I resolve this framework problem?

Model shaking when not moving the effectors endpoint

Hi Professor,

In IK mode, How can I fix the problem of certain models (particularly beast.json) shaking even when I'm not moving the effector end points?
This is fine for other models such as chimpanzee-hands, robot-arm ..

Other than that, I can move the effectors around and the bone parts would follow around correctly

Inconsistent output for IK

while running inverse kinematics, my model would initially be so rigid (won't move all the angles correctly) but once I changed the position by mistake and then the angles moved freely.
Anyone encounter a similar issue and can guess Why that might be happening?
thanks

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.