Giter VIP home page Giter VIP logo

viper's People

Contributors

bangles avatar drebain 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

viper's Issues

Fails compilation of Scene.cu

Converting project to be used with Win10/MSVS2019/CUDA11.3 system leads to crash compiling this source
Boost 1.76.0
latest GLEW/GLFW
Eigen 3.4.0
CGAL 5.3

Error MSB3722
cmdline
F:\SDK\NVIDIA\Develop\bin\nvcc.exe -gencode=arch=compute_52,code="sm_52,compute_52" --use-local-env -ccbin "F:\App\MSVC2019\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64" -x cu -IF:\SDK\Eigen\3.4.0 -IF:\SDK\CGAL\5.3\include -IF:\SDK\CGAL\5.3\include -If:\SDK\boost\1.76.0 -IF:\SDK\NVIDIA\Develop\include --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static --extended-lambda --expt-relaxed-constexpr -DWIN32 -DWIN64 -DNDEBUG -D_CONSOLE -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Fdx64\Release\vc142.pdb /FS /MD " -o x64\Release\Scene.cu.obj F:\Projects\Viper\Viper\Scene.cu

'cicc' died with status 0xC0000005 (ACCESS_VIOLATION)

making this source C++ compiled - pass succesfully

make it visual studio compliant

Could we have the option to build on windows visual studio?
I'm getting errors with Eigen related to the = operator:

D:/externalLibs/viper/Viper/CudaSolver.cu(137): error : function "Eigen::Quaternion<_Scalar, _Options>::operator=(const Eigen::Quaternion<float, 0> &) [with _Scalar=float, _Options=0]" (declared implicitly) cannot be referenced -- it is a deleted function

make failed to compile project

One year ago compile this project successfully,
but now have the next error:
image

configuration:
Ubuntu 20
CUDA 11.4
(cuda toolkit install and all other recommend lib for this project)

Viperization is missing in the code

While watching the video https://youtu.be/2CGRfJJEu38?t=95 that accompanies the paper, I was mainly intrigued by the "viperization process" because this is something we are also doing. It seems to me that this part of the approach is completely missing from the code. Since the code is not sufficiently documented and I am unable to build it because of its incompatibility with Microsoft Windows, I am not 100% sure about it.

Could you please navigate me to the place where I can find the viperization? Thank you.

Dependencies

Im very new to C++ and was asking how can I figure out the exact versions of dependencies used for this project. Like a package.json equivalent for this project. Want to try and set this up on docker. Any pointers?

Using Custom Meshes?

Wonderful project! I work in a soft robotics research lab, and this is astounding work. We've spent some serious time trying to get our own custom meshes to work with it, but have had a hard time with it. Is there a way you can upload an .OBJ file or something to simulate?

OpenCL version

hello,

are you planning to make an OpenCL version of your code?
it would be great to ensure crossplatform and a broader usage of your (terrific) library
if you're searching devs, lemme know!

all the best

Error when compile project in CudaSolver.cu

In line 551 CudaSolver.cu
thrust::copy(S.X.v.begin(), S.X.v.end(), state.v.begin());

before in line 314..

 S.X.x = state.x;
 S.X.q = state.q;
 S.X.r = state.r;

As idea that v it is not used and defined.
If comment this line all works well:

Screenshot at 2020-05-15 21-05-39

I was doing this in 2002 when I was 20yo! (pics)

I built a system like this in 6 months when I was 20, I taught myself C++ at the same time, with a background in architecture/engineering CAD. I had some interesting talks with people who were surprised at my results. I can upload pictures if anyone is interested. I always wanted to return to it later in life.

I built models (spring networks) for every class of muscle/ligament/cartilage structure in the human body; some of these aren't rope-like. I'm writing to ask how your system deals with configurations that are a little more complicated? Or can it at this stage?

Understanding and extending the repo

I'm working on a project that could benefit from Viper. We'd like to use Viper in our research project but I'm having trouble understanding your code since there are so many single-name variables with no documentation. Is there a naming convention that can help me understand the codebase better?

There seems to be some consistency with the two-letters variable names though, but I'm still not sure how to interpret those or what they represent.

some question about parameter

Hi, it is a great project. I have some confusement over some paramter, such as "skinning,dist"..... and so on. I am not sure how to set the value of these. And I refer to "C_distancemax" function. I am not sure get "max_distance". And the "C_bilap" function is used for? And I am not sure what is the meaning of "A" and "ids" in this function.
Could you give me some hints over this. Looking forward to your reply.
Thank you!

strange result of simulation

Thanks for your great work, I found that the project use some old version of dependencies, that I can't compile succed on my machine:

OS : Ubuntu 20.04
g++ : 10.3.0
Driver Version: 510.108.03
CUDA Version: 11.6
GPU: RTX 3060 ti

after I check the error information of compile, I add these options and compile succed.

set(CUDA_NVCC_FLAGS "-std=c++14 -extended-lambda")
set(CMAKE_BUILD_TYPE "Release")
add_compile_options(-std=c++14)
...
include_directories(
    ...
    /usr/include/eigen3
}

find_package(CGAL REQUIRED COMPONENTS Core)
target_link_libraries(ViperLib_static ${COMMON_LIBS} CGAL::CGAL CGAL::CGAL_Core Boost::thread gmp mpfr)
...

I also add header files.

// Viper/CudaUtils.cuh
#include <thrust/host_vector.h>

But when I run the ./demo at build folder, the simulated result looks like strange(as picture shows), It seems the octoswarm doesn't has the length constraint at two nodes, how could I solve this queation? I also tryd the nvidia-docker to compile the code , but my GPU is RTX 3060 ti, it only support CUDA 11.X, would you please provide a new version of code that runs well on RTX GPU cards or other advices to fixed this problem? thank you!

Screenshot from 2023-04-10 21-01-00

Rod setup lacks stretch costraints functionality

// CRT
#include
using namespace std;

// EIGEN
#include <Eigen/Dense>

using Vec2 = Eigen::Vector2f;
using Vec3 = Eigen::Vector3f;

// VIPER
#include <Scene.h> // Se issue #15

int main()
{
viper::Scene scene;

 scene.setUpDirection(Vec3(0, 1, 0));

 viper::IntArray pIds, rIds;

 int numpt = 3;
 scene.addRod(3, Vec3(0, 0.75, 0), Vec3(1, 0, 0),  0.2, true, pIds, rIds);

 scene.state.xa[pIds[0]] = false;
 scene.state.xai[pIds[0]] = false;

 double T = 0;
 double dt = 0.1;

 cout << "T: " << T << " [ ";
 for (auto e : scene.state.x)
     cout << "(" << e[0] << "," << e[1] << "," << e[2] << "),";
 cout << "]" << endl;

 for (int t = 0; t <5; t++)
 {
    scene.step(dt, 20, true);
    T += dt;

     cout << "T: " << T << " [ ";
     for (auto e : scene.state.x) cout << "(" << e[0] << "," << e[1] << "," << e[2] << "),";
     cout << "]" << endl;
 };

 return 0;

}

Plays fine. but stretching constraints did not work.

T: 0 [ (0,0.75,0),(1,0.75,0),(2,0.75,0),]
T: 0.1 [ (0,0.75,0),(1,0.65001,0),(2,0.65001,0),]
T: 0.2 [ (0,0.75,0),(1,0.45004,0),(2,0.45004,0),]
T: 0.3 [ (0,0.75,0),(1,0.1501,0),(2,0.1501,0),]
T: 0.4 [ (0,0.75,0),(1,-0.2498,0),(2,-0.2498,0),]
T: 0.5 [ (0,0.75,0),(1,-0.74965,0),(2,-0.74965,0),]

X-coordinate does not change, it look like stretching has no limiting.

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.