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 , (260pages, 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 acuqire the programming skill
    • Making robot sumulators, 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 1747 (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!

30 Responses to An ODE Book

  1. Elik MonsterID Icon Elik on 2010-12-23

    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.

    • demu MonsterID Icon demu on 2010-12-28

      Hi Elik,

      I do not know because I have not used the OpenSim.

      Sorry

      demu

  2. PRAVEEN MALAV MonsterID Icon PRAVEEN MALAV on 2010-10-12

    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

    • demu MonsterID Icon demu on 2010-10-28

      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

  3. Dustin MonsterID Icon Dustin on 2010-02-01

    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?

  4. Harry MonsterID Icon Harry on 2010-02-01

    Oh my God!

    There is no such option like ‘DebugDoubleLib’ to be selected in my Code::Blocks8.02 Window!

  5. Harry MonsterID Icon Harry on 2010-01-29

    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.

  6. demu MonsterID Icon demu on 2009-03-16

    Hi leeshilei,

    There is no answer for Exercise.

    Please develop your own software.

    Cheers,

    demu

  7. leeshilei MonsterID Icon leeshilei on 2009-03-15

    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?

  8. demu MonsterID Icon demu on 2009-01-20

    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

  9. Nguyen Tuan Anh MonsterID Icon Nguyen Tuan Anh on 2009-01-17

    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?

  10. demu MonsterID Icon demu on 2009-01-04

    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

  11. Andrew MonsterID Icon Andrew on 2008-12-31

    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!

  12. [...] An ODE related Book: Robot Simulation – Robot programming with ODE | demura.net:RoboCup・ODE・夢考房 Livre en japonais sur la construction de simulation de robots avec ODE (tags: book japan physics) [...]

  13. demu MonsterID Icon demu on 2008-10-22

    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

  14. ferry MonsterID Icon ferry on 2008-10-22

    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

  15. demu MonsterID Icon demu on 2008-10-03

    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

  16. demu MonsterID Icon demu on 2008-10-01

    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

  17. jeff MonsterID Icon jeff on 2008-09-30

    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.

  18. jeff MonsterID Icon jeff on 2008-09-30

    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.

  19. demu MonsterID Icon demu on 2008-09-10

    Hi Jeff,

    Just tell me your environments.
    The version of ODE ,compiler, and OS.

    Cheers,

    demu

  20. demu MonsterID Icon demu on 2008-09-10

    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

  21. Jeff Clune MonsterID Icon Jeff Clune on 2008-09-10

    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

  22. Jeff Clune MonsterID Icon Jeff Clune on 2008-09-10

    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()

  23. demu MonsterID Icon demu on 2010-01-30

    Hi Harry,

    Did you build ODE with DebugDoubleLib ?

    Cheers,

    demu

  24. Harry MonsterID Icon Harry on 2010-01-30

    Hi demu
    Thank you for your guidance,but i am not sure how to build ODE with DebugDoubleLib…is it a component of ODE?

    I am using ode-0.10.1 on WindowsXP with Code::Blocks8.02 as my compiler,and i choose DebugLib as my Build target,the error still exist as following:
    ————– Build: DebugLib in amotor —————

    Linking console executable: ..\DebugLib\amotor.exe
    C:\Program Files\CodeBlocks\MinGW\bin\ld.exe: cannot find -lode_doubled
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 0 seconds)
    1 errors, 0 warnings

    Looking forward to your reply!

  25. demu MonsterID Icon demu on 2010-01-30

    Sorry my bad English,

    In the CodeBlocks window, just select the Build target as “DebugDoubleLib”, and Build it.

    “cannot find lode_doubled” means that you do not have a file such as “c:\ode-0.10.1\lib\DebugDoubleLib\ode_doubled.a”.

    Cheers,

    demu

  26. demu MonsterID Icon demu on 2010-02-03

    Hi,

    I wrote an article, how to install ODE0.11.1 (Windows+Code::Blocks).
    Please read the following URL.

    http://demura.net/9ode/6077.html#more-6077

    demu

  27. demu MonsterID Icon demu on 2010-02-03

    Hi,

    I wrote an article, how to install ODE0.11.1 (Windows+Code::Blocks).
    Please read the following URL.

    http://demura.net/9ode/6077.html#more-6077

    demu

  28. Dustin MonsterID Icon Dustin on 2010-02-03

    Hi,demu

    Thank you very much,its work now that following your steps.

コメントをどうぞ

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

17,093 views