jimy-byerley / pymadcad

Simple yet powerful CAD (Computer Aided Design) library, written with Python.
https://madcad.netlify.app/
GNU Lesser General Public License v3.0
205 stars 15 forks source link

great tools for kinematic, dynamic, forces computations and simulations. #98

Open jimy-byerley opened 7 months ago

jimy-byerley commented 7 months ago

This is a great job in perspective, but would definitely be awesome since nothing of that matter exists for robotics.

jimy-byerley commented 6 months ago

target features

jimy-byerley commented 3 months ago

Currently I am hesitating between 2 designs for the end-user API of Kinematic class

intrinsics

The Kinematic class is intrisicly a solver whose main methods are

These methods are only using the joints definitions and graph to produce an output without notion of input/output.

The input/outpu methods are helper methods relying on the previous methods

My hesitation is about the definition of the input and output spaces. Should they be both joint spaces, or should the output space be placement matrices of a set of interface solids ?

joints space as output

the downsides are

solid matrix poses as output

the downsides are

jimy-byerley commented 3 months ago

An other hesitation I have is: should the joint variables change to be a numpy.void type, with a structured dtype instead of nested tuples like now ? a draft of joints variables as structured numpy data is on branch kinematic-dtype

jimy-byerley commented 3 months ago

Lets continue with nested tuples for now and solid matrix poses as output. for joint space as output, the user will still be able to use .solve() and .freedom()

For large kinematic display, this branch will need #105

jimy-byerley commented 2 months ago

news about this: kinematic chains are very fast to solve and very stable image kinematic with many loops are working fine as well, but much more computational and not always perfectly stable image