Code Monkey home page Code Monkey logo

bjcaasenbrood / sorotokicode Goto Github PK

View Code? Open in Web Editor NEW
47.0 47.0 6.0 628.59 MB

SOROTOKI is an open-source MATLAB package that includes an array of tools for design, modeling, and control of soft robotic systems πŸ™ πŸ€–

Home Page: https://bjcaasenbrood.github.io/SorotokiCode

License: MIT License

MATLAB 93.87% M 6.13%
computergraphics control-systems control-theory controlsystem finite-element-methods finite-elements matlab matlab-toolbox mechanics-of-materials modeling-and-simulation robotics soft-robotics softrobot softrobotics

sorotokicode's Introduction

Brandon Caasenbrood β€” @bjcaasenbrood

πŸ‘‹ Hey! I'm a PhD researcher working on the field of Soft Robotics, particularly interested in nonlinear dynamics and control system theory, reduced-order modeling, finite-elements, and shape- and topology optimization.

sorotokicode's People

Contributors

bjcaasenbrood avatar dependabot[bot] 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

Watchers

 avatar  avatar

sorotokicode's Issues

`sorotoki update` does not update examples or `@sorotoki` installer package

The latest version of Sorotoki allows users to update their packages using the command:

sorotoki update

This will automatically check if the current installed packages are out-dated w.r.t. the latest commit on the Sorotoki package repos (e.g., SorotokiModel, SorotokiSdf, SorotokiFem). Unfortunately, we cannot yet update @sorotoki itself nor the /examples/ folder. This is something we aim to improve in the future!

Example1-Fitting a hyper-elastic material

When I test the program of example 1 (Fitting a hyperelastic material), I got different stress-strain curves, which seems to be caused by svm not recording the correct data, how can this be solved
stress-strain
?

Installation Of Sorotoki

Dear Sir,
I curious to learn Soft robotics and its mechanisms, it great herd that Sorokati is one of the best platform.
I am getting installation problem, where can i get these, do i need to add-on in existing Matlab.
Can you briefly explain to installation.

several errors when I tested the realtime_example.m,

Hi @BJCaasenbrood, thank you for your excellent work!

There are several errors when I tested the realtime_example.m, and I tried to fix them all. Here are the details:

wrong use of Control
Cannot create a communication link with the remote server.
Please check the input arguments(ADDRESS and PORT) and
make sure the server is running.
Additional Information: Unable to connect because the target computer actively refused。
[system:10061]
realtime_example (第 9 葌)
brd = Control(usr,ip,pwd,'autoConnect',false,...

Question on Cartesian Coriolis term for example of dellasantina_arm.m

Hi @BJCaasenbrood , I am looking at the controller code for dellasantina_arm.m and try to understand them.
As cited in the paper [118]

In dellasantina_arm.m, under function tau = Control(shp, Xd)

I am expecting

eta = lam*(J*Mi*C - dJ);

instead of

eta = lam*(J*Mi*C);

following both the paper [118]

image

and your paper as well

image

May I know is there any specific reason for the code to ignore dJ?

I realized the result for the example would not be similar if dJ is included, unless additional change to Dc
such as Dc = 0.7 * Kc;

Issue Exporting STLs and Render/Show

Hi Brandon,

Thanks for this cool repo! I am working on implementing my own SDF and I'd like to export it as an STL. I saw that this is a feature on this page (second example). When I try to export an stl using the most recent version of Sorotoki, I am not able to export an .stl. I get an error: Unrecognized method, property, or field 'export' for class 'Sdf'. I tried searching the whole code base for export and didn't find anything. Is it possible that this functionality got accidentally removed? And if so, might it be possible to add it back?

I've also noticed something strange with sdf.render versus sdf.show. I have implemented a basic cube function: S2 = sCube([0.1, 0.1, 0.1], [9.8, 1.8, 1.8]); When I visualize the cube using .show() I get the following image, which is what I would expect:

Screenshot 2024-04-02 at 1 50 53 PM

However, when I visualize the cube using .render('Quality',50) I get the following unexpected image:
Screenshot 2024-04-02 at 1 51 09 PM

Do you have any suggestions for what might be causing the render and show functions to visualize this cube differently?

Thanks for your help!

Errors and solutions for "examples"

Hi @BJCaasenbrood, thank you for your excellent work!

There are several errors when I tested the provided examples, and I tried to fix them all. Here are the details:

Error 0:
Unrecognized field name "V"

Influenced examples by Error 0:
fem_eigen_comp

Fix Error 0:
Line 18 of examples\fem\fem_eigen_comp.m: fem.solver.sol.x = fem.solver.pod.V(:,ii) * 250;
should be: fem.solver.sol.x = fem.solver.sol.pod.V(:,ii) * 250;

Error 1:
Incorrect size for expression 'Dvec': expected [6x6x:?x:?] but found [5x1].
Error in computeLagrangianGaussFast_mex

Influenced examples by Error 1:
dellasantina_arm
softhand
backbone_test
shapes_octoarm
shapes_reconstruct
shapes_threebellow_robotmanipulator

Fix Error 1:
I found it in computeLagrangianGaussFast.h that the type of "Dvec" is declared as "const emxArray_real_T *", but the "generateMexCLGF.m" uses "coder.typeof(10,[5,1])" for "Dvec", which means it's correct. So I ran "generateMexCLGF.m" again, got the correct mex-file, and fixed this problem finally.

Error 2:
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To operate on each element of the matrix individually, use TIMES (.*) for elementwise multiplication.

Influenced examples by Error 2:
suzumori_gripper
jacobian_control_shapes
shapes_backbone_IK_test

Fix Error 2:
Line 76 of tubeplot.m: Fx = (1+1/8*sin(2*X).^2)*cos(X)
should be: Fx = (1+1/8*sin(2*X).^2).*cos(X)

Warning 1 (when running dellasatina_arm):
Warning: Name is nonexistent or not a directory: PATH\mpi-packages\sorotokicode+preset+shapes\assets

Fix Warning 1:
Line 49 of katzschmann.m: functionPath = fullfile(currentDir,'assets');
should be: functionPath = fullfile(fileparts(currentDir),'assets');

Hope them can be merged into next version. Thank you again for your great work!

DOI

Hi Brandon,

Great work! Can you maybe add the project to Zenodo or 4TU research data, so that we can cite it using a DOI and long-term access will be guaranteed?

Also if you add a CITATION.cff file a cite this repository as button will pop up in github

A problem of duplicate file names under windows

Your work is great, I am a beginner and learning from you. When I unzip the file under windows, the decompression software suggests that there are 4 duplicate files, "hex2rgb.m, rgb2hex.m, admap.m, isomse3.r" I chose to overwrite the operation, I wonder if this will have a bad effect on the use of the program? The content of the screenshot is the path of the file
Snipaste_2022-04-17_20-55-47

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.