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 43 (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!

26 Responses to “ An ODE Book ”

  1. Dustin MonsterID Icon Dustin 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?

  2. Harry MonsterID Icon Harry 2010-02-01

    Oh my God!

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

  3. Harry MonsterID Icon Harry 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.

  4. demu MonsterID Icon demu 2009-03-16

    Hi leeshilei,

    There is no answer for Exercise.

    Please develop your own software.

    Cheers,

    demu

  5. leeshilei MonsterID Icon leeshilei 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?

  6. demu MonsterID Icon demu 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

  7. Nguyen Tuan Anh MonsterID Icon Nguyen Tuan Anh 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?

  8. demu MonsterID Icon demu 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

  9. Andrew MonsterID Icon Andrew 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!

  10. [...] 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) [...]

  11. demu MonsterID Icon demu 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

  12. ferry MonsterID Icon ferry 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

  13. demu MonsterID Icon demu 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

  14. demu MonsterID Icon demu 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

  15. jeff MonsterID Icon jeff 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.

  16. jeff MonsterID Icon jeff 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.

  17. demu MonsterID Icon demu 2008-09-10

    Hi Jeff,

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

    Cheers,

    demu

  18. demu MonsterID Icon demu 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

  19. Jeff Clune MonsterID Icon Jeff Clune 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

  20. Jeff Clune MonsterID Icon Jeff Clune 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()

  21. demu MonsterID Icon demu 2010-01-30

    Hi Harry,

    Did you build ODE with DebugDoubleLib ?

    Cheers,

    demu

  22. Harry MonsterID Icon Harry 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!

  23. demu MonsterID Icon demu 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

  24. demu MonsterID Icon demu 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

  25. demu MonsterID Icon demu 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

  26. Dustin MonsterID Icon Dustin 2010-02-03

    Hi,demu

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

コメントどうぞ (Leave a Reply)

カウンタ (since 2008-3-15)