krishauser / krislibrary Goto Github PK
View Code? Open in Web Editor NEWBasic math, geometry, and robotics, and other routines used in projects from Kris Hauser's lab
License: BSD 3-Clause "New" or "Revised" License
Basic math, geometry, and robotics, and other routines used in projects from Kris Hauser's lab
License: BSD 3-Clause "New" or "Revised" License
When making the Klamp't dependencies, an error occurs mentioning that std::vector has not been defined.
Adding
#include <vector>
to the top of math/function.h solves the problem.
Recently I am studying MCR issues and find the source code here, but I do not know how to use the MCRPlanner. How to define the movable obstacle and the immovable obstacle? can you provide me a demo for it? thank you
PQP is using triangle intersection to check for collisions. This method fails when an object is inside another object as there are no intersecting triangles (see below figure for example case). I am currently checking collisions by calling CollisionMeshQuery. Is there an another way to perform collision checking?
So it looks like 4 years ago the library moved from a makefile template to using Cmake.
The readme however has build instructions that do not account for this update
Copy Makefile.config.tmpl to Makefile.config. Pre-configured config files for your system may be available in Makefile.config.[system].
Edit paths and optional packages in Makefile.config.
GLUT / GLUI: almost always needed. Configure the GLUT and GLUI paths to point to the right places on your system. To disable, set HAVE_GLUT and/or HAVE_GLUI to 0.
GLPK: needed for optimization and contact mechanics. To disable, set HAVE_GLPK to 0.
Tinyxml: needed for Xml resource loading. To disable, set HAVE_TINYXML to 0.
GSL (disabled by default): needed only if you plan to use the special functions in math/misc.h.
Assimp (disabled by default): needed only for "exotic" triangle mesh loading. To enable, set HAVE_ASSIMP to 1 and set the appropriate ASSIMP path.
BLAS/LAPACK (disabled by default): needed only for the experimental BLAS and LAPACK interfaces through CLAPACK. To enable, set HAVE_BLAS and HAVE_LAPACK to 1, and set the appropriate CLAPACK_DIR path.
Build the library using 'make'. Documentation may also be built using 'make docs'.
Should probably be all replaced with
cmake .
make
I am building Klampt 0.9 from source and line 159 in Cpp/Interface/RobotTestGUI.cpp
called app.ModulateColor(blue,0.5);
. But in the latest devel
branch, GLDraw::GeometryAppearance.ModulateColor
has been commented out. I wonder if we should use SetTintColor
in Klampt or add this function back to the devel
branch.
On devel
branch, line 17 currently is:
#if GLP_MAJOR_VERSION < 4 || (GLP_MAJOR_VERSION == 4 && GLP_MINOR_VERSION < 20)
There should be a typo in GPL_MINOR_VERSION
, it should be GLP_MINOR_VERSION
.
specifically, bool LoadAssimp(const char* fn,vector<TriMesh>& meshes,vector<GLDraw::GeometryAppearance>& appearances);
seems to be declared in meshing/IO.h
and used in geometry/AnyGeometry.cpp
, but never defined.
System: WSL 2 (Ubuntu 22.04)
Compiler info:
motion@motion:~$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-xKiWfi/gcc-11-11.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-xKiWfi/gcc-11-11.3.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
Klampt's vis.debug() of a PointCloud is very slow on rendering. I was able to trace down the problem to octree->Add() in the https://github.com/krishauser/KrisLibrary/blob/master/geometry/CollisionPointCloud.cpp#L30
In the for loop when looping through all the points, the total time spent in initializing an octree containing 640*480 points is about 90 seconds on the laptop from our lab, and it is eating 100% cpu which makes the program not responding.
I will attach an minimal example that can reproduce the issue.
example_script_to_reproduce.zip
Edit: Just realized Patrick forget to log out on the lab computer
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.