<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/8011" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2020-03-14T14:24:21+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/8011</id>

		<entry>
		<author><name><![CDATA[Martin Felis]]></name></author>
		<updated>2015-02-23T21:26:31+00:00</updated>

		<published>2015-02-23T21:26:31+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=35043#p35043</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=35043#p35043"/>
		<title type="html"><![CDATA[Re: RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=35043#p35043"><![CDATA[
Just wanted to announce the release of version 2.4.0 of RBDL, an efficient reduced-coordinate dynamics library. Among many other things it now contains four different solvers for the contact system, namely:<br><ul><li><strong class="text-strong">Direct</strong>: Solve the full system directly.</li><li><strong class="text-strong">RangeSpaceSparse</strong>: First solve for the contact forces lambda and then for qddot. It uses a sparse structure preserving Cholesky decomposition to factorize the joint space inertia matrix as described in Featherstone's book.</li><li><strong class="text-strong">NullSpace</strong>: First solve for qddot and then for the contact forces lambda</li><li><strong class="text-strong">Kokkevis</strong>: Use a reduced variant of the Articulated Body Algorithm (a.k.a. "Featherstone Algorithm") to compute a linear system that is solved for the contact forces lambda and then compute qddot.</li></ul>On top of that there have been many performance improvements and API enhancements.<br><br>The full changelog is available at <a href="https://rbdl.github.io" class="postlink">https://rbdl.github.io</a>.<br><br>The code is available from <a href="https://github.com/rbdl/rbdl" class="postlink">https://github.com/rbdl/rbdl</a> (zlib license)<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=8846">Martin Felis</a> — Mon Feb 23, 2015 9:26 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Martin Felis]]></name></author>
		<updated>2012-05-13T18:28:53+00:00</updated>

		<published>2012-05-13T18:28:53+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27830#p27830</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27830#p27830"/>
		<title type="html"><![CDATA[Re: RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27830#p27830"><![CDATA[
All the errors you posted are due to CMake not finding UnitTest++:<blockquote class="uncited"><div>CMake Error at C:/Users/Source/RBDL/rbdl/CMake/FindUnitTest++.cmake:33 (ME<br>SSAGE):<br>Could not find UnitTest++<br>Call Stack (most recent call first):<br>CMakeLists.txt:26 (FIND_PACKAGE)</div></blockquote> Please install it and set the CMake variables UNITTEST++_INCLUDE_DIR and UNITTEST++_LIBRARY appropriately if they are not detected automatically. This is best done with the CMake GUI.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=8846">Martin Felis</a> — Sun May 13, 2012 6:28 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kingchurch]]></name></author>
		<updated>2012-05-13T18:00:02+00:00</updated>

		<published>2012-05-13T18:00:02+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27829#p27829</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27829#p27829"/>
		<title type="html"><![CDATA[Re: RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27829#p27829"><![CDATA[
The INSTALL problem is because of lack of administrative privilege.  It can be worked around by copy/paste the install cmake command line to a command prompt with administrative privilege.  With that the RBDL header files can be installed to "C:\Program Files (x86)\RBDL\include\rbdl".  However the library files were not installed to the "C:\Program Files (x86)\RBDL" folder.<br><br>However then I met CMake problems for "tests" folder as the following:<br><br>~~~~<br>Microsoft Windows [Version 6.1.7600]<br>Copyright (c) 2009 Microsoft Corporation.  All rights reserved.<br><br>c:\Source\RBDL\rbdl\tests&gt;mkdir build<br>c:\Source\RBDL\rbdl\tests&gt;cd build<br>c:\Source\RBDL\rbdl\tests\build&gt;cmake ..\<br>-- Building for: Visual Studio 10<br>-- Check for working C compiler using: Visual Studio 10<br>-- Check for working C compiler using: Visual Studio 10 -- works<br>-- Detecting C compiler ABI info<br>-- Detecting C compiler ABI info - done<br>-- Check for working CXX compiler using: Visual Studio 10<br>-- Check for working CXX compiler using: Visual Studio 10 -- works<br>-- Detecting CXX compiler ABI info<br>-- Detecting CXX compiler ABI info - done<br>CMake Error at C:/Users/Source/RBDL/rbdl/CMake/FindUnitTest++.cmake:33 (ME<br>SSAGE):<br>  Could not find UnitTest++<br>Call Stack (most recent call first):<br>  CMakeLists.txt:26 (FIND_PACKAGE)<br><br>~~~~~~~~~<br><br>Also CMAKE fails for "example" folder as the following:<br><br>~~~~~~~~~~<br>Microsoft Windows [Version 6.1.7600]<br>Copyright (c) 2009 Microsoft Corporation.  All rights reserved.<br><br>c:\Source\RBDL\rbdl\tests&gt;mkdir build<br><br>c:\Source\RBDL\rbdl\tests&gt;cd build<br><br>c:\Source\RBDL\rbdl\tests\build&gt;cmake ..\<br>-- Building for: Visual Studio 10<br>-- Check for working C compiler using: Visual Studio 10<br>-- Check for working C compiler using: Visual Studio 10 -- works<br>-- Detecting C compiler ABI info<br>-- Detecting C compiler ABI info - done<br>-- Check for working CXX compiler using: Visual Studio 10<br>-- Check for working CXX compiler using: Visual Studio 10 -- works<br>-- Detecting CXX compiler ABI info<br>-- Detecting CXX compiler ABI info - done<br>CMake Error at C:/Source/RBDL/rbdl/CMake/FindUnitTest++.cmake:33 (ME<br>SSAGE):<br>  Could not find UnitTest++<br>Call Stack (most recent call first):<br>  CMakeLists.txt:26 (FIND_PACKAGE)<br><br><br>-- Configuring incomplete, errors occurred!<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=9310">kingchurch</a> — Sun May 13, 2012 6:00 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Martin Felis]]></name></author>
		<updated>2012-05-13T17:45:52+00:00</updated>

		<published>2012-05-13T17:45:52+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27828#p27828</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27828#p27828"/>
		<title type="html"><![CDATA[Re: RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27828#p27828"><![CDATA[
The "INSTALL" project is used to install the library and header files to the appropriate directories in Linux and similar operating systems as they have a certain specification where to put things.<br><br>To use the library in Windows it is sufficient to build the dll. To use RBDL in a project you would then have to tell the compiler where to look for the include files (in your case this would be the path to the src folder of the RBDL and additionally the folder "src" in the "build" directory) and tell the linker where to find the rbdl.dll (probably "build/rbdl.dll"). With this you should be able to use RBDL in any project.<br><br>To run the test cases you need the UnitTest++ testing framework. You can find it at <a href="http://unittest-cpp.sourceforge.net/" class="postlink">http://unittest-cpp.sourceforge.net/</a>. Once obtained, you would then have to tell CMake where to find it. Easiest way would probably be using the CMake GUI.<br><br>Please note that the RBDL is only a library. It does not come with an executable that can be run to look or modify simulations. You would have to write an integrator and visualisation yourself to do so.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=8846">Martin Felis</a> — Sun May 13, 2012 5:45 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kingchurch]]></name></author>
		<updated>2012-05-13T17:05:11+00:00</updated>

		<published>2012-05-13T17:05:11+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27827#p27827</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27827#p27827"/>
		<title type="html"><![CDATA[Re: RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27827#p27827"><![CDATA[
The "ALL_BUILD" project builds fine now! Thanks!<br>The "INSTALL" project still has some build errors, not sure if it's intended for windows platform:<br><br>------<br>Error1error MSB3073: The command "setlocal<br>"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake<br>if %errorlevel% neq 0 goto :cmEnd<br>:cmEnd<br>endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone<br>:cmErrorLevel<br>exit /b %1<br>:cmDone<br>if %errorlevel% neq 0 goto :VCEnd<br>:VCEnd" exited with code 1.C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets1136INSTALL<br>-------<br><br>When I tried to run the "rbdl" project it pops an error box as the following:<br><br>"Microsoft Visual Studio - Unable to start program C:\Source\RBDL\rbdl\build\Debug\rbdl.dll"<br><br>BTW, how to run the 60 test cases ?<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=9310">kingchurch</a> — Sun May 13, 2012 5:05 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Martin Felis]]></name></author>
		<updated>2012-05-13T13:01:40+00:00</updated>

		<published>2012-05-13T13:01:40+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27826#p27826</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27826#p27826"/>
		<title type="html"><![CDATA[Re: RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27826#p27826"><![CDATA[
Hi kingchurch,<br><br>I tried to fix all warnings and compiler errors you posted. But unfortunately I do not have access to a Visual Studio 10 compiler right now.<br><br>Could you check the newest version? Either by updating via mercurial or by downloading this <a href="https://bitbucket.org/rbdl/rbdl/get/f244e9a759f8.zip" class="postlink">https://bitbucket.org/rbdl/rbdl/get/f244e9a759f8.zip</a>.<br><br>Thank you!<br>Martin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=8846">Martin Felis</a> — Sun May 13, 2012 1:01 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kingchurch]]></name></author>
		<updated>2012-05-13T07:17:54+00:00</updated>

		<published>2012-05-13T07:17:54+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27824#p27824</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27824#p27824"/>
		<title type="html"><![CDATA[Re: RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27824#p27824"><![CDATA[
This is awesome!<br><br>I tried to compile the source with Visual Studio 10 on Windows 7 and got the following error:<br><br>1. Cmake command I used to generate rbdl.sln<br>mkdir build<br>cd build<br>cmake -D CMAKE_BUILD_TYPE=Release ..\<br><br>2. Visual Studio 2010 build error:<br><br><br>Error1error C2678: binary '==' : no operator found which takes a left-hand operand of type 'std::string' (or there is no acceptable conversion)C:\Users\Kevin\Source\RBDL\rbdl\src\rbdl_version.cc321rbdl<br>Warning2warning C4099: 'RigidBodyDynamics::Model' : type name first seen using 'class' now seen using 'struct'c:\users\kevin\source\rbdl\rbdl\src\Model.h1291rbdl<br>Warning3warning C4099: 'RigidBodyDynamics::Model' : type name first seen using 'class' now seen using 'struct'c:\users\kevin\source\rbdl\rbdl\src\Model.h1291rbdl<br>Warning4warning C4244: 'argument' : conversion from 'double' to 'unsigned int', possible loss of dataC:\Users\Kevin\Source\RBDL\rbdl\src\Model.cc311rbdl<br>Warning5warning C4099: 'RigidBodyDynamics::Model' : type name first seen using 'class' now seen using 'struct'c:\users\kevin\source\rbdl\rbdl\src\Model.h1291rbdl<br>Error6error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc281rbdl<br>Error7error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc731rbdl<br>Error8error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc1911rbdl<br>Error9error C2057: expected constant expressionC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc2111rbdl<br>Error10error C2466: cannot allocate an array of constant size 0C:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc2111rbdl<br>Error11error C2133: 'e' : unknown sizeC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc2111rbdl<br>Error12error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc2401rbdl<br>Error13error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc2941rbdl<br>Warning14warning C4018: '&lt;' : signed/unsigned mismatchC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc3741rbdl<br>Warning15warning C4018: '&lt;' : signed/unsigned mismatchC:\Users\Kevin\Source\RBDL\rbdl\src\Kinematics.cc4331rbdl<br>Warning16warning C4099: 'RigidBodyDynamics::Model' : type name first seen using 'class' now seen using 'struct'c:\users\kevin\source\rbdl\rbdl\src\Model.h1291rbdl<br>Warning17warning C4099: 'RigidBodyDynamics::Model' : type name first seen using 'struct' now seen using 'class'c:\users\kevin\source\rbdl\rbdl\src\Dynamics.h211rbdl<br>Error18error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Dynamics.cc351rbdl<br>Error19error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Dynamics.cc1961rbdl<br>Error20error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Dynamics.cc2401rbdl<br>Error21error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Dynamics.cc3111rbdl<br>Warning22warning C4099: 'RigidBodyDynamics::Model' : type name first seen using 'class' now seen using 'struct'c:\users\kevin\source\rbdl\rbdl\src\Model.h1291rbdl<br>Warning23warning C4099: 'RigidBodyDynamics::Model' : type name first seen using 'struct' now seen using 'class'c:\users\kevin\source\rbdl\rbdl\src\Dynamics.h211rbdl<br>Error24error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Contacts.cc1411rbdl<br>Error25error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Contacts.cc2871rbdl<br>Error26error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Contacts.cc3991rbdl<br>Error27error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Contacts.cc4881rbdl<br>Error28error C2065: '__func__' : undeclared identifierC:\Users\Kevin\Source\RBDL\rbdl\src\Contacts.cc5531rbdl<br>29IntelliSense: no operator "==" matches these operandsc:\users\kevin\source\rbdl\rbdl\src\rbdl_version.cc3221rbdl<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=9310">kingchurch</a> — Sun May 13, 2012 7:17 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Martin Felis]]></name></author>
		<updated>2020-03-14T14:24:21+00:00</updated>

		<published>2012-03-31T16:02:04+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27526#p27526</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27526#p27526"/>
		<title type="html"><![CDATA[RBDL - Rigid Body Dynamics Library]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=27526#p27526"><![CDATA[
Hi everyone,<br><br>I have been working on a reduced coordinate rigid body dynamics library written in C++ that might be of use for some people around here. Unlike bullet, which includes integrators and collision checking, this library focuses on the dynamics of rigid multi-body systems. It is a fairly efficient[1] implementation of some well know dynamics algorithms, such as:<br><ul><li>Recursive Newton Euler Algorithm for inverse dynamics</li><li>Composite Rigid Body Algorithm to compute the joint space inertia matrix</li><li>Articulated Body Algorithm (sometimes called "Featherstone Algorithm") for forward dynamics</li></ul>Furthermore it contains some methods for forward and inverse kinematics and contact handling (i.e. the method described by Kokkevis and Metaxas in the Paper "Practical Physics for Articulated Characters", Game Developers Conference, 2004).<br><br>The code is tested using ~90 automated tests and uses Eigen3 (<a href="http://eigen.tuxfamily.org/index.php?title=Main_Page" class="postlink">http://eigen.tuxfamily.org/index.php?title=Main_Page</a>) as a underlying math library, but different libraries could be incorporated instead. Currently I use this software in my daily scientific research to generate human and robot motions using optimal control methods.<br><br>It is available under the zlib license and the code is hosted by bitbucket.<br><br>Here are the links:<ul><li><a href="https://rbdl.github.io/" class="postlink">https://rbdl.github.io/</a> webpage and documentation</li><li><a href="https://github.com/rbdl/rbdl/" class="postlink">https://github.com/rbdl/rbdl/</a> source code repository</li></ul>Best regards,<br>Martin<br><br>[1] some raw numbers concerning efficiency (system specs: i7 920 processor and a 64 bit Ubuntu Linux):<br>For a model with 31 degrees of freedom:<br>  inverse dynamics: 0.79 * 1.0e-5 (s)<br>  forward dynamics: 1.85 * 1.0e-5 (s)<br>The numbers represent the average time spent for each function that were obtained with the benchmark program that comes with the code and a sample count of 100.000 calls to each method.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=8846">Martin Felis</a> — Sat Mar 31, 2012 4:02 pm</p><hr />
]]></content>
	</entry>
	</feed>
