An ODE Book

[There are some ODE tutorials here. Please visit!]


I introduce my ODE related book , “Robot Simulation – Robot programming with Open Dynamics Engine , (260 pages, ISBN:978-4627846913, Morikita Publishing Co. Ltd., Tokyo, 2007)” by Kosei Demura, which is written in Japanese (sorry).

There are a lot of good text books about Robotics, such as, “Robotics – Vector Analysis of Mechanical System- (SHOKABO)” by Prof. Hirose, “Introduction to ROBOTICS – mechanics and control (Addison- Wesley) ” by Dr. John J. Craig, and so on.In addition, textbooks related to the C programming language, many books line up into book stores.

So, I decided to write a textbook combines those two subjects, robotics and programming. Open Dynamics Engine is used in order to realize a virtual world, and experience robot programming in the world. This book aims that learning fundamental theory in Robotics and acquiring the programming skill to control many kinds of robots, such as a wheeled robot, an arm robot, a legged robot, and a humanoid robot. Unique features are as follows.

  • Foundations of robotics and a practice book which can acquire the programming skill
    • Making robot simulators, such as, wheeled robot (differential drive and omnidirectional drive), a robot arm, a 4 legged robot, a humanoid robot simulator as shown in above Videos.
    • Writing basic programs to control those robots in the C language
    • Multiplatform: Windows XP, Windows Vista, Linux and Mac OS X.
  • An ODE tutorial book
    • You can program without the ODE English user guide.
    • API index, API inverse index are supported.
    • About half of this book, i.e., 130 pages are ODE related articles (tutorial & manual function).
  • Donating One US Dollar per book sale
    • I sent some mails to Dr. Russell Smith who is the primary author of ODE. He kindly permitted me quoting and reprinting from the Open Dynamics Engine User Guide. If there is no ODE, this book being not to be born. Including the sense of appreciation to Russ, and in order to support the ODE project, I donate One US Dollar per book sale to ODE project. Morikita Publishing Co. Ltd. cooperated on this donation. In order to keep maintaining this kind of open source projects, I think that cooperation of many people is necessary. Man shall not live by bread alone, but man shall not live without bread.
      I donated US $1642 in 2007 , $1260 in 2008, and $862 in 2009.
      Although, My ODE book was written in Japanese. Sorry. There are some ODE related pages in English. click here !

     

  • Source codes (for above ODE-0.10.0)
      • How to compile source codes
          • Download the zip file below, and saving the file at C:\ode-0.10.1 (or replace your ODE version number). Next, expand the zip file, you can get the following directory.
            • C:\ode-0.10.1\roboSimu
          • Open the command prompt, and type the following command
            • cd  C:\ode-0.10.1\roboSimu
            • Code:blocks
              premake --target  cb-gcc
            • Visual C++ 2008
              premake --target  vs2008
            • GNU
              premake  --target  gnu
          • Build: You can get the following build scripts, then use them to build.
        • Code:blocks: roboSimu.workspace
        • Visual C++ 2008: roboSimu.sln
        • GNU: Make
      • Downloads (Sample programs are for ODE0.10.1)
        Please install ODE with double precision.  Single precision causes LCP internal errors in legged.cpp and make the 4 legged robot walk like a snail.

    File Name Date Number of downloads
    robosimu081003.zip 2008-10-03 3682 (since 2008-09-23)
    • Change Log
      • 2008-10-3: Add English sentences in Readme.txt and Install txt.
        legged.cpp. add dWorldSetCFM(),dWorldSetERP() to prevent LCP internal error. Thanks Jeff.

Finally, I wrote some ODE tutorials here. Please visit!

Hello,

I have compiled car example(demo_buggy).is it possible to create the same car(with the same dynamics) in OpenSim(RealXtend client)?
Thank you in advance.

  • hi,
    Can i get this book with all the source code.
    as some of the source code is not available in the robosimu folder specially ex9.3 the humanoid robot

    kindly revert as per your convenience

    thanking you

    • Hi, Praveen

      Sorry for late reply.
      You can download all the source code without buying my book.
      However, there is no source code for ex9.3.
      Ex9.3 is your project.

      Cheers,

      demu

  • Hello
    I want to know why there is no options like “DebugDoubleLib” in my Code:blocks8.02.

    What should i to do?

    Can you give me the DebugDoubleLib download url?

  • Hi
    Thanks for your help but I have encounted a problem when i build roboSimu.workspace.

    C:\Program Files\CodeBlocks\MinGW\bin\ld.exe: cannot find -lode_doubled

    I want to know why ?

    many thanks.

  • Hello:
    I am very interested in the Exe9.3 The humanoid robot :Kensei-Chan. But It seems that the source-code is not provided in the robosimu081003.zip . Can you send me a copy of it?

  • Nguyen,

    Please ask the ODE mailing list about your question.

    It is the very good mailing list.

    This web site is concerned about my ODE sample code, book and articles of this site, and many Japanese who are not good at English.

    demu

  • Sorry for any inconvenieces.
    i’m a dev.And,i have used ODE lib for finishing my graduated bachelor thesis.And now,i want to develop this thesis for my master thesis.My mission is accessing into your lib code to get some dynamics equation for simulating and develop this lib code.You pls instruct me?

  • Hi Andrew,

    Thank you for your comment.

    Firstly, a joint of ODE has a built-in motor.
    Secondly, collision detection is not carried out between two links that are connected by a joint as following codes in the nearCallback function.

    if (b1 && b2 && dAreConnectedExcluding(b1,b2,dJointTypeContact)) return;

    Cheers,

    demu

  • Hi –

    Thanks for your excellent book.
    But I cannot understand that in your demo there seems to be a motor in each joint so that it will keep a certain angle.
    Another point I cannot understand is how is collision detection carried out on those joints? The attached two bodies should have overlapped each other.

    Thanks!

  • Pingback: #doesNotUnderstand: » Blog Archive » links for 2008-12-26

  • Ferry,

    Thank you very much for your comment. An English translator of my ODE related book was determined, a publisher, however, is not determined yet.

    MIT press rejected the translation proposal. The translator is searching for other publishers.

    Regards,

    demu

  • i really wanna read this book `cause currently i`m so eager to make a simulation for my own dream robot. Hopefully i can make it real later. But the problem is i can`t read japanese written… T_T

  • I add dWorldSetCFM(world, 1e-3) and dWorldSetERP(world, 0.9) in legged.cpp.

    These changes prevent the LCP internal errors.

    Thanks Jeff for your bug and solution report by an E-Mail, and also to install ODE with double precision is strongly recommend to use my sample programs.

    Cheers,

    demu

  • Hello Jeff,

    Thank you very much for telling me your environment.

    From ODE-0.10.0 build system was changed. I do not use Mac OS X, so I
    did not write build script for it.

    And, in my environment, Windows Vista and Ubuntu 8.02, I do not have
    such LCP internal error. To solve LCP internal error, please try big CFM
    value. It might help you.

    demu

  • It is possible that I am double posting, but my comment is not showing up. Let me try again.

    Hello! Sorry. I did not get an email telling me that you had replied. I am still getting this error. At first I lowered the step size, and the error went away. Then I began evolving my own controller for your quadruped, and the error is back.

    I am using ode-0.10.1 on mac OS X 10.5.5 with xCode V 3.0 as my compiler.

    Thanks for your response. Can you please email me at jclune{the at symbol}msu.edu when you reply? Cheers.

    PS. Thanks again for posting all of these tutorials. I have found the quadruped very helpful.

  • Hello! Sorry. I did not get an email telling me that you had replied. I am still getting this error. At first I lowered the step size, and the error went away. Then I began evolving my own controller for your quadruped, and the error is back.

    I am using ode-0.10.1 on mac OS X 10.5.5 with xCode V 3.0 as my compiler.

    Thanks for your response. Can you please email me at jclune{the at symbol}msu.edu when you reply? Cheers.

    PS. Thanks again for posting all of these tutorials. I have found the quadruped very helpful.

  • Hello Jeff,

    These sample programs are for ODE0.9.
    Please insert, dInitODE() and dCloseODE() like other ODE 0.10 demo programs.

    These two APIs are necessary for ODE0.10.

    demu

  • Sorry. I figured the above problem out, you just need to add

    dInitODE2(0);

    to the main function. Now when I run it I get:

    ODE Message 3: LCP internal error, s <= 0 (s=-4.6285e-01)

    ODE Message 3: LCP internal error, s <= 0 (s=-inf)

    ODE Message 3: LCP internal error, s <= 0 (s=-4.5963e-01)

    ODE Message 3: LCP internal error, s <= 0 (s=-7.1934e+01)

    ODE Message 3: LCP internal error, s <= 0 (s=-8.9457e+01)

    ODE INTERNAL ERROR 1: assertion “bNormalizationResult” failed in _dNormalize4() [../../include/ode/odemath.h]

    Can you email me and let me know if there is an easy fix to this problem? My email is jclune[the @ symbol]msu.edu

  • Hello-

    Thanks for all the tutorials and code. However, when I run your robot simulations (for example, the 4 legged robot), I get:

    ODE INTERNAL ERROR 2: colliders array not initialized in dCollide()

  • コメントを残す

    メールアドレスが公開されることはありません。