From: Hedayat V. <hed...@ai...> - 2008-02-22 07:38:45
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html style="direction: ltr;"> <head> </head> <body style="direction: ltr;" bgcolor="#ffffff" text="#000000"> <p style="margin-bottom: 0cm; margin-top: 0pt;">Hi all,</p> <p style="margin-bottom: 0cm; margin-top: 0pt;">I ported physicsserver changes from simspark to soccer3d. Then, I noticed that some of my robots don't move at all, while others move for some time and then stop! Finally I found the problem: setAutoDisableFlag(true) in spark.rb. Because of a bug in the implementation, it didn't work before and the flag was always false. This bug was solved in simspark, and because of the auto disable flag, ode disabled my robots when they didn't move for some time. I turned the flag off for now.</p> <p style="margin-bottom: 0cm; margin-top: 0pt;"><br> </p> <p style="margin-bottom: 0cm; margin-top: 0pt;">A disabled body will improve performance. If a disabled body is connected to an enabled body using joints, it'll be enabled too. So, I think when a part of the robot body is disabled, it'll be enabled by other parts, but when all of it's body parts are disabled, it'll be never enabled again (except if something collides with it, which in turns creates contact joints and so, I think, it'll enable the body).<br> </p> <br> I don't know if it can help improving performance, but we may try enabling the auto disable flag and configuring it with suitable parameter for its thresholds (ODE manual, part 6.5). Then when the agent sends new rotation speeds we should enable the bodies connected to the joint. While the robots move a lot, it may improve performance (?!). What do you think?<br> <br> Thanks,<br> Hedayat<br> <br> </body> </html> |