ããŠã³ããŒã
demura.netã§éçºãããœãããææããã®ããŒãžããé åžããŸãïŒ
- irrDrawstuff: åååŠèšç®ãšã³ãžã³ODEçšïŒæ¬¡å
ã°ã©ãã£ã¯ã¹ã©ã€ãã©ãª
ã©ã€ã»ã³ã¹ïŒODEãšåãïŒBSDãšLGPLã®ãã¥ã¢ã«ã©ã€ã»ã³ã¹ãã¡ã€ã«å æ¥ãä» ããŠã³ããŒãæ° irrDrawStuff-0.0.4.zip 2010-03-02 2506 ãæ³šæïŒããŒãžã§ã³0.0.4ã¯Irrlicht-1.7.1ïŒODE-0.11.1ãæšæºã§ãïŒãã以å€ã®ããŒãžã§ã³ã䜿ãããå Žåã¯premake4.luaã®IrrlichtãšODEã®ããŒãžã§ã³ã«çžåœãããã¹ãæžããããŠãã ããïŒ
- å±¥æŽ
- 0.0.3ïŒ2010-02-19å ¬éïŒããŠã³ããŒãæ°37
- 0.0.2ïŒ2010-02-18å ¬éïŒããŠã³ããŒãæ°10
- 0.0.1ïŒ2010-01-19å ¬éïŒããŠã³ããŒãæ°82
- 0.0.0ïŒ2010-01-12å ¬éïŒããŠã³ããŒãæ°35
- å±¥æŽ
- ODEæ¬ ãµã³ãã«ããã°ã©ã (ODE0.10.0以äžçš)
- ãæ³šæ
æ¬ãµã³ãã«ããã°ã©ã ã®ãã«ãïŒã³ã³ãã€ã«åã³å®è¡ã¯èªå·±è²¬ä»»ã§è¡ã£ãŠãã ããïŒç¹ã«ïŒæ¬ç©ã®ããããã«é©çšããããã®å®å šæ§ãªã©ãå šãèæ ®ããŠããŸããã®ã§ïŒãã®ãããªçšéã«ã¯åããŸããïŒãŸãïŒæè²ç®çã®ã·ãã¥ã¬ãŒã¿ã§ããããïŒç²ŸåºŠãå¿ èŠãšãããããªç ç©¶ã®çšéã«ãåããŸããïŒãããŸã§ïŒæè²ç®çãšãèãã ã ããïŒèè åã³æ£®ååºçã¯æ¬ããã°ã©ã ã«ãã£ãŠçããããããçµæã«ã€ããŠã®è²¬ä»»ãè² ããããŸãïŒä»¥äžã®ç¹ããäºæ¿ããæ¹ã ãããŠã³ããŒãããŠã䜿ããã ããïŒãŸã ååã«ãã¹ãããããŠããªãã®ã§åé åžã¯ãæ¢ããã ããïŒ
ãªãïŒäžèšãäºæ¿ããŠé ããã°ïŒåçšïŒéåçšåãããœãŒã¹ã³ãŒããæ¹å€ããŠã©ãã©ãèªç±ã«äœ¿ã£ãŠãã ããïŒç°¡åãªããã°ã©ã ãå€ãã®ã§èäœæš©ã䞻匵ããã»ã©ã®ãã®ã§ã¯ãããŸããïŒãã ãïŒãã¥ãŒããã€ãããããã®ãµã³ãã«ããã°ã©ã kensei080902.zipã§äœ¿çšããŠããæ¯åã®ååã«ã¡ãªãã ããããã¢ãã«ãããããã¡ãã, Kensei-Chanãã®ãã¶ã€ã³ã®æš©å©ã«ã€ããŠã¯ç§ã«åž°å±ããŸãïŒæãå ¥ãããããŸãã®ã§ãããããé¡ãããŸãïŒ
- 説ãæ
ODE0.10.0以äžçšã§ã. - ããŠã³ããŒã
ODEã¯å¿ ãå粟床ã§ã€ã³ã¹ããŒã«ããŠãã ãããå粟床ã®å Žåã¯legged.cppãªã©ã§éã®LCP Internal ErrorãçãïŒãããããæ©è¡ããŠãããŸããã
ãã¡ã€ã«å æ¥ãä» ããŠã³ããŒãæ° robosimu090614.zip 2009-06-14 5386+5276 (since 2008-07-07) kensei081026.zip 2008-10-26 1816+1929 (since 2008-09-02) - robosimuã®æŽæ°å±¥æŽ
- 2009-06-14: Visual C++ã§çºçããWarningãšErrorãä¿®æ£ïŒODE0.11ã«åãããŠtexturepath.hãã€ã³ã¯ã«ãŒããããããœãŒã¹ã³ãŒãã«è¿œå ïŒ
- 2008-10-03: legged.cppã«dWorldSetCFM, dWorldSetERPã远å ãLCPãšã©ãŒãåé¿(Jeffãã埡ææïŒ
- 2008-08-29: omni.cppã®sqrt()ã®åŒæ°ã2ãã2.0ã«å€æŽ (Yasuãã埡ææïŒ
- 2008-08-21: ãã«ãçšãã¡ã€ã«ãšãœãŒã¹ã³ãŒããäžäœåïŒpk.cpp, omni.cppã®ãã°ãä¿®æ£
- 2008-07-07: ODE0.10.0ããã®ãã«ãã»ã³ã³ãã€ã«ã·ã¹ãã ã®å€æŽã«å¯Ÿå¿ãåŸæ¥ïŒåå¥ã«é åžããŠãããµã³ãã«ããã°ã©ã ãïŒã€ã®ããã±ãŒãžã«ãŸãšããããªãïŒãµã³ãã«ããã°ã©ã ã¯2007幎5æ19æ¥ããé åžãéå§ããŠããã
- kenseiã®æŽæ°å±¥æŽ
- 2008-10-26:makeRobot()ã®ä¿®æ£ã質éãã©ã¡ãŒã¿ã®èšç®ãããã£ã®åœ¢ç¶ãšäžèŽãããã
è¶³ã®äœçœ®ãèã«å¯ŸããŠåã«ãã転åããããã£ãã®ã§ãåŸãã«å€æŽã - 2008-10-23: nearCallback颿°ã®ä¿®æ£ïŒæ©æŠã¢ãã«ãæ©æŠåè§éã«å€æŽ(dContactApprox1), ããããã®åæäœçœ®(STARTX,STARTY,STARTZ)ã倿Žãããšãã©ãã©äºä»¶ã«ãªããã°ã倿ŽïŒ
- 2008-10-26:makeRobot()ã®ä¿®æ£ã質éãã©ã¡ãŒã¿ã®èšç®ãããã£ã®åœ¢ç¶ãšäžèŽãããã
- ODEæ¬è¬çŸ©çšãã¯ãŒãã€ã³ã
- 説ãæ
KITãããã£ã¯ã¹åŠç§ïŒå¹Žæ¬¡å¯Ÿè±¡ã®ããããããã°ã©ãã³ã°ãšããè¬çŸ©ã§ODEæ¬ã䜿ã£ãŠããŸãïŒäœ¿çšãããã¯ãŒãã€ã³ã(PowerPoint)ã以äžã«çœ®ããŠãããŸãïŒè¬çŸ©ããŒããªã©ã§æ¯é䜿㣠ãŠãã ãããéå¶å©çãªæè²çšéãªãæ¹å€ãåé åžããŠããŸããŸããã - ããŠã³ããŒã
ãã¡ã€ã« æ¥ãä» ããŠã³ããŒãæ° Part1: Open Dynamics Engine 2009-01-09 2115+2754 (since 2008-07-09) Part2: è»èŒªåãããã 2008-06-27 1981+2202 Part3: ããããã¢ãŒã 2008-06-27 6443+3580 Part4: èåããã ã 2008-06-27 1675+1687
- 説ãæ
demuããããã«ã¡ã
åã«è³ªåãããŠããã£ããã®ã§ãã
ã©ãããŠãåæå§¿å¢ã®é¢ç¯è§åºŠã®ã¿ã倿Žãšããäºã¯åºæ¥ãªããã®ã§ããããïŒ
ååæãã£ãæ¹æ³ã詊ããã®ã§ãããã€ãããã¯ã¹ãåãããå€ãªæ¹åã«åããŠããŸããã
åæå§¿å¢ã§è¶³ãæ²ãããŸãŸã¹ã¿ãŒããããšãã£ãããšãããŸããããŸãã
ãããããé¡ãããŸã
åæå§¿å¢ã®è§åºŠã«ãªãããã«å¶åŸ¡ããŠãããŸããããªãã§ããããïŒ
ã§ã
ã©ãããŠããã®å§¿å¢ã«ãªããŸã§æ¯åãããåã£ãŠããŸãã®ã§ãã
æ§é å士ãã¶ã€ãã£ãŠããããã§ããããïŒ
æ§é å士ã®è¡çªæ€åºãå€ããŠã¿ãŠãã§ãã¯ããŠãã ããïŒ
ããã§ãã ããªãïŒdBodySetLinearVel(), dBodySetAngularVel()ã§ããã£ã®é床ã匷å¶çã«ïŒã«ããŠã¯ãããã§ããããïŒ
ã§ã
demuããåããŸããŠODEæ¬ãèŠãªããè²ã å匷ãããŠããã£ãŠããŸãã
ãŸãkenseiã¡ããã®ããã°ã©ã ãä¿®æ£ããŠè²ã 詊ãããŠããã ããŠãŸãã
ããã§è³ªåãªã®ã§ããé¢ç¯ãæ²ããç¶æ ã§åæå§¿å¢ãèšå®ãããã®ã§ããã©ãããã°ããã®ã§ããããïŒ
ããããŒãã¡ã€ã«ã®é¢ç¯è§åºŠããããã ãã§ã¯çŽç«ç¶æ ã§çŸããã®ç¶æ ããæå®ããé¢ç¯è§åºŠã«ãªã£ãŠããŸããŸãã
ã¹ããããæ¢ãã€ã€æå®ããå§¿å¢ã§ç»é¢ã«è¡šç€ºãããšãã£ãããšã¯ã§ããã®ã§ããããïŒ
viseãã
ã¯ãããŸããŠïŒ
kenseiã¡ããã䜿ã£ãŠé ãããããšãããããŸãïŒä»å¹Žã®ãªã¢ã«kenseiã¡ããã¯çè ã ãã§ãããïŒæ¥å¹Žã¯æ¬æ Œçãªãã¥ãŒããã€ããããããéçºããããšæã£ãŠããŸãïŒ
ããŠïŒ
ã¹ãããã¯åããããŸãŸïŒæå®ããè§åºŠã«ãªããŸã§ïŒç»é¢ã«æç»ããªããšããæ¹æ³ã¯ã©ãã§ããããïŒ
ã§ã
ãæ©ããè¿äºããããšãããããŸãã
èªåã§è °ãäœãé¢ç¯ãå ¥ãããšãããŸã§ã¯è¡ã£ãã®ã§ããã
æåããªãæ¹æ³ãããã«æãã€ããªãã§ã
simLoopã®ãªãã§drawRobotã®åã«äœãã¯ããoræåãŸã§ã®ã¹ããããé£ã°ããŠããŸãã°ããã®ã§ããããïŒ
simLoopã®äžã§ïŒãããªæãã§ã©ãã§ããããïŒ
ã§ã
static int flag = 0;
double tmp_angle = getJointAngle();
double desired_angle = æå®ãããé¢ç¯è§åºŠ;
double error = 蚱容誀差;
if ((fabs(tmp_angle – desired_angle) < error) || (flag == 1))
{
drawRobot();
flag = 1;
}
ããããã·ã¥ãã¬ãŒã·ã§ã³ãè³Œå ¥ããŸããã
åºæããã®ãµã€ããŸãã¯æ¬ãèŠãŠããäœãã€ã³ã¹ããŒã«ããã°ãããããããŸããã
ãµã³ãã«ããã°ã©ã çãåäœããã®ã«å¿ èŠãªæå°éã®ãã¡ã€ã«ãæããŠãã ããã
windowsxpã䜿çšããŠããŸãã
ç«å²¡ããã
åŸ¡è³Œå ¥ããããšãããããŸãã
ããŠããããã¥ãã倧å€ç³ãèš³ããããŸããã
æå°éã®ãã®ã¯ãéçºç°å¢ãšïŒ¯ïŒ€ïŒ¥ã©ã€ãã©ãªã ãã§ããVisual C++ãæ¢ã«ã䜿ããªãODEã ããã€ã³ã¹ããŒã«ããã°ïŒ¯ïŒ«ã§ããã¯ä»ã®ã©ã€ãã©ãªã«äŸåããªãããã€ã³ã¹ããŒã«ã¯ãšãŠãç°¡åã§ãã
å ·äœçãªäœæ¥ã¯ä»¥äžãã芧ãã ããã
http://demura.net/tutorials/ode2
ã§ã
ODEæ¬ãè³Œå ¥ããããŠããã ããŸããã
æ¬ã®å 容ã§è³ªåããããŸãã
“6.5.3ïŒèªç±åºŠããããã¢ãŒã ã®ééå劔
ã®Îž4ïœÎž6ãå°åºããéšå(P178ïœP179)ã§ããã
Ξ5ã0°ã®å ŽåãS5ã0ãšãªã£ãŠããŸããŸãã
ãã®å Žåã§ããaz’ã®å€ããΞ5ã¯æ±ãŸããšæããŸããã
Ξ4,Ξ6ã¯ã©ã®ããã«å°åºãã¹ããªã®ã§ããããïŒ
çŸåšãéååŠèšç®ã®çµæãééååŠã«å ¥ãã
ééååŠã®èšç®ã確èªããŠãããŸãã
(0,0,0,0,0,0)ãå ¥ãæã®éååŠèšç®çµæãã
ééååŠã䜿ã£ãŠã®èšç®ã確èªããŠãããŸãã
äžèšã®éšåã§ã€ãŸãããŠãããŸãã
å¯Ÿè±¡æ¹æ³ãªã©ããã°æããŠé ããŸããã§ããããïŒ
ãããããé¡ãããŸãã
kaneããã
ãã¿ãŸãããã埡質åã質åã»èŠæåé10ã«ç§»åãããŠé ããŸãã
ã§ã
ODEæ¬ãè³Œå ¥ãããŠããã ããŸããã
2ç¹è³ªåãããŠãã ããã
ïŒãæ¬ã«èŒã£ãŠãããµã³ãã«ããã°ã©ã ã¯ã©ãããDLã§ããã®ã§ããããã
èŠã€ãåºããŸããã§ãããããŸã®ãšããæå ¥åã§ãã¹ãããŠããŸãã
ïŒãã·ãã¥ã¬ãŒã·ã§ã³ãå®è¡ããéãåŠçãéåžžã«é«éã§ãåç»ã§ç޹ä»ãããŠãããã®ããé²ã®åããããŸãã«ãéããªãéããŠããŸããèŠãç®ãéåžžã«æ°æã¡æªãã§ãã
ããã°ã©ã 1.1å®è¡åŸã®ãã«ããã°ã«ã¯
ããã»ã¹ã¯ã¹ããŒã¿ã¹ -1073741510 ã§çµäºããŸãã (0 å 1 ç§)
ãšè¡šç€ºãããŸãã
dWorldStep(world,0.05);
dWorldSetGravity(world,0,0,-0.00001);
ã®ããã«éåžžã«å°ããããŠããã°ãã·ãã¥ã¬ãŒã·ã§ã³å¯Ÿè±¡ç©ã¯åç»ãããã®é床ã§åããŠãããŸãã
æ¹åæ¹æ³ãããã°æããŠãã ããã
miuããïŒ
ãè²·ãäžãããããšãããããŸãïŒ
ïŒïŒãã®ããŒãžã®ïŒ¯ïŒ€ïŒ¥æ¬ãµã³ãã«ããã°ã©ã ãroboSimu090614.zipããæ¢ãã®ãã®ã§ãïŒãããã¥ããã§ããïŒ
ïŒïŒïŒ¯ïŒ€ïŒ¥ã®ãã¢ããã°ã©ã ã¯ä»å±ããŠããdrawstuffãšããã©ã€ãã©ãªã§æç»ãããŠããŸãïŒ
ãããã®ã©ã€ãã©ãªã¯ãã¬ãŒã ã¬ãŒããåºå®ããæ©èœã¯ãããŸããã®ã§ïŒé«éãªã°ã©ãã£ã¯ã¹ãæã€ã³ã³ãã¥ãŒã¿ã§ã¯æ°çŸãã¬ãŒã ã¬ãŒãã§è¡šç€ºãããŠããŸããŸãïŒã€ãŸãïŒæ¹åã§ããŸããïŒ
ããè§£æ±ºæ¹æ³ïŒirrDrawStuffã䜿ããŸãããïŒ
ãã説æïŒãã®ãããªåé¡ã解決ããããã«ïŒç§ã¯drawstuffäºæã©ã€ãã©ãªirrDrawStuffãéçºããŠããŸãïŒçŸåšã®ããŒãžã§ã³ã§ã¯ãã¬ãŒã ã¬ãŒãåºå®ã§ã¯ãããŸãããïŒãœãŒã¹ã³ãŒããïŒè¡çŽãã ãã§å¯èœã§ãïŒãã¹ã¿ãŒã«ãªã£ãŠãããã詊ããŠé ãããšå©ãããŸãïŒ
å ·äœçã«ã¯c:\irrDrawStuff-0.0.4\irrdrawstuff\src\simLoop.cppã®149è¡ç®ã®åŸãããïŒçªç®ã®åŒæ°ãtrueã«ãããšç»é¢ã®åçŽåæã«ãã¬ãŒã ã¬ãŒããåºå®ãããŸãïŒ
146è¡ïŒ// ã¡ãã¥ãŒããŒã®åã ããŠã€ã³ããŠã®çžŠã15ãã¯ã»ã«å¢å ããŠãã(window_width, window_height+20),16,
147è¡ïŒ// OpenGL
148è¡ïŒdevice = createDevice(EDT_OPENGL, dimension2d
149è¡ïŒãfalse, true, false, 0); // åŸãããïŒçªç®ã®åŒæ°ãtrueã«ãããšãã¬ãŒã ã¬ãŒããåºå®ãããïŒ
次ã®ããŒãžã§ã³ããã¯irrDrawStuffã®ãœãŒã¹ã³ãŒããçŽããªãã§ããã¬ãŒã ã¬ãŒãã®å¯å€ïŒåºå®ãéžã¹ãããã«ããããšæããŸãïŒ
ã§ã
è¿äºããããšãããããŸãã
1.æ¬ã®èšèŒã§ããšãåããã°ã©ã ããããããããããªæç€ºã§ããã
ãã®æã蟌ã¿ã§æ··ä¹±ããŠããŸããŸããã
2.ãŸãã¯æ¬éãã§ãã£ãŠã¿ãããšæã£ãŠãããã®ã§ãã
äžçªæåã®ããã°ã©ã ïŒstep1ïŒã§ã¯ããªã³ãŽããã£ããèœäžããšæžãããŠããŸããããå°æããŠããŸããŸããã
ãã¥ã¢ã«ã³ã¢ãäžè¬ãŠãŒã¶ã«åºåãå§ãããããäžéšã®ã²ãŒã ãæ°åéã«ãªã£ãŠããŸããã°ã®ããšãæãåºããŸããã
äžå¯§ãªèª¬æããããšãããããŸãã
damuãã
ã¯ãããŸããŠã
robosimu090614.zipãããŠã³ããŒãããŠã¿ãŸããã
å¥ã®ããŒãžã«è¡ã£ãŠããŸããŸããã
ãã§ãã¯ãé¡ãããããŸãã
joyããïŒ
ãè¿·æããããããŠãã¿ãŸããïŒã·ã¹ãã ãã¢ããã°ã¬ãŒããããšãã«ãã¹ããã£ãããã§ãïŒçŽããŸããã®ã§ããŠã³ããŒããé¡ãããŸãïŒ
ãææã©ããããããšãããããŸããïŒãŸãïŒäœãåé¡ãããã°ãæ°è»œã«ã³ã¡ã³ããã ãããïŒ
ã§ã
ããããã¡ããã®ããã°ã©ã ã§ãâinclude ãã¡ã€ã«ãéããŸããã’ode/ode.h’âãšãããšã©ãŒãåºãŠãå®è¡ã§ããŸãããã©ããããããã®ã§ããããïŒ
Hi tik,
Thank you for your request.
I know that I must translate my articles into English. It is my future work.
My power point, however, is not good for self learning, it is for a teacher.
Cheers,
demu
Hi, I wanna learn ODE. Is it possible to have the power point ODE in English?
ããã¯ãã¹ãã§ãïŒ
panããïŒ
ããããã¡ã€ã«ã®ã€ã³ã¯ã«ãŒããã¹ã®æå®ãæªãã®ã ãšæããŸãïŒç¢ºèªãé¡ãããŸãïŒ
ã§ã
demuãããã¯ãããŸããŠãç§ãpanãããšåããšã©ãŒãåºãã®ã§ãã
ãã¹ã¯ééã£ãŠãªãã¯ããªãã§ãã
äžé±éãããããããã£ãŠé§ç®ã ã£ãã®ã§å¯ŸåŠæ¹æ³ãæããŠããã ãããã§ãã
ryoããïŒ
éçºç°å¢ïŒODEã®ããŒãžã§ã³ãæããŠãã ããïŒ
ã§ã