From: Domenico Leonello <leonello@ae...>  20080327 14:57:15

Hello, the values of roll, pitch and yaw are always monitored by a .txt log file where I print out the value they receive from MATLAB. The values seem correct and they are the same also on the GUI window. When simulation starts to get messed up the values are normal but at the crash instant they are "nan" on the GUI window also if my log file reports normal number! This is the principal reason that push me to say that something happens in the simulation or during the communication between matlab and gazebolib. domenico Nate Koenig ha scritto: > Hello, > > I've tried to reproduce the error that you're seeing, and I'm unable > to do so. Could you take a look a the values for the roll, pitch, and > yaw that you pass to the simulation interface? Particularly look to > see what values you pass in when the simulation starts to get messed > up. > > nate > > On Fri, Mar 21, 2008 at 7:55 AM, <leonello@...> wrote: > >> Yes, it is a possibility also if it's strange that the crash happens only >> after 5055 seconds. >> >> There is a command to impose directly the quaternion instead of euler >> angles, using libgazebo? In this case I can do other tests to verify this >> hypothesis! >> >> Thank you >> >> Domenico >> >> >> > Then it really seems like a quatern etc conversion bug. >> > Unfortunately I will not be able to use the computer in 3 or 4 days. I'll >> > try to find it once I come back. >> > If someone has related problem please explain them, it may help to find >> > the >> > bug. >> > >> > >> > On Thu, Mar 20, 2008 at 7:53 PM, Domenico Leonello >> > <leonello@...> >> >> >> >>> wrote: >>> >> > >> >> I tried it right now and I confirm you that now the pause option works >> >> well (It is possible to see on the GUI window that the simulation is >> >> paused). On the other side the camera problem remains. So now we can >> >> probably exclude an ODE problems. >> >> >> >> Any other idea? >> >> >> >> Thank you >> >> >> >> Jordi Polo ha scritto: >> >> > >> >> > Since revision 4427 (1 minute ago). >> >> > The pause boolean in the Simulator interface should behave like a >> >> > pause/play button (couldn't try it, I need to sleep now) so write true >> >> > there each time you want to change the state. >> >> > The value of the state can be read in the new state member. >> >> > So >> >> > >> >> > if (simIface>data>state==1) //running >> >> > simIface>data>pause =true; //pause it >> >> > >> >> > or similar should work >> >> > >> >> > Note that this interface can be modified soon (Nate should review it) >> >> > >> >> > >> >> > On Thu, Mar 20, 2008 at 2:23 AM, Domenico Leonello >> >> > <leonello@... <mailto:leonello@...>> wrote: >> >> > >> >> > for me it's not important the physics so I would like to turn it >> >> off. >> >> > >> >> > There is any method via libgazebo? >> >> > >> >> > Jordi Polo ha scritto: >> >> > > >> >> > > You can turn off the physics simulation pressing the SPACE key >> >> > in the >> >> > > gazebo window. Do you need to access to that method via >> >> libgazebo? >> >> > > No physics means everything static and bodies can collide and >> >> enter >> >> > > one another. >> >> > > >> >> > > The camera problem is really weird... >> >> > > >> >> > > >> >> > > On Thu, Mar 20, 2008 at 1:35 AM, Domenico Leonello >> >> > > <leonello@... <mailto:leonello@...> >> >> > <mailto:leonello@... <mailto:leonello@...>>> >> >> > wrote: >> >> > > >> >> > > Hi, >> >> > > >> >> > > I did other tests with my program and I noticed this: >> >> > > >> >> > > when the euler angles I passed are minor or equal to 12 deg >> >> > (I passed >> >> > > the equivalent radiant value), all worked fine. Otherwise I >> >> > had that >> >> > > strange camera problem. It can be a problem with some >> >> > internal setting >> >> > > position/attitude? A strange conversion euler/quaternion? >> >> > > >> >> > > I don't believe it is a ODE problem because I don't have any >> >> > real >> >> > > dynamic integration (I impose the position/attitude >> >> > recursively to an >> >> > > object, nothing else) but eventually what kind of change can >> >> > I do with >> >> > > ODE parameters? Is it possible to turn off the ODE >> >> > integration during >> >> > > libgazebo calls? (ie, can I use a completely static >> >> > environment?) >> >> > > >> >> > > Thank you >> >> > > >> >> > > Domenico >> >> > > >> >> > > Jordi Polo ha scritto: >> >> > > > >> >> > > > You said that you haven't this problem before. >> >> > > > Do you mean that you were using the same control program, >> >> > > upgrading to >> >> > > > Gazebo make the problem appears and downgrading it don't >> >> > make it >> >> > > > disappear? >> >> > > > >> >> > > > If the camera is really falling from the object it should >> >> be >> >> a >> >> > > problem >> >> > > > with the physics, something have being changed, for >> >> > instance the >> >> > > > friction parameter mu1 now is taken into account for the >> >> > > friction. You >> >> > > > can try changing that. >> >> > > > Also the rendering method of the system can be configured >> >> > in the >> >> > > > .gazeborc file now. >> >> > > > I can not remember of any other big change that may be >> >> > affecting >> >> > > you. >> >> > > > >> >> > > > Do you have the original file of the gazelle? It may be a >> >> good >> >> > > > addition to the sets. >> >> > > > >> >> > > > >> >> > > > On Mon, Mar 3, 2008 at 7:57 PM, Domenico Leonello >> >> > > > <leonello@... <mailto:leonello@...> >> >> > <mailto:leonello@... <mailto:leonello@...>> >> >> > > <mailto:leonello@... >> >> > <mailto:leonello@...> <mailto:leonello@... >> >> > <mailto:leonello@...>>>> >> >> > > wrote: >> >> > > > >> >> > > > Thank you for the advice. >> >> > > > >> >> > > > I attached the .world file (I tried some other >> >> > configuration >> >> > > and the >> >> > > > result is the same, so...) and here the C code >> >> > > > >> >> > > > >> >> > > >> >> > >> >> /******************************************************************************************/ >> >> > > > Initialization .... >> >> > > > >> >> > > >> >> > >> >> /******************************************************************************************/ >> >> > > > >> >> > > > /// Connect to the libgazebo server >> >> > > > try >> >> > > > { >> >> > > > client>ConnectWait(ServerID, ClientID); >> >> > > > //client>Connect(ServerID); >> >> > > > } >> >> > > > catch (gazebo::GazeboError e) >> >> > > > { >> >> > > > std::cout << "Gazebo error: Unable to connect\n" << >> >> > e << >> >> > > "\n"; >> >> > > > return; >> >> > > > } >> >> > > > /// Open the Left Camera interface >> >> > > > try >> >> > > > { >> >> > > > cam_leftIface>Open(client, "left_ifacename"); >> >> > > > } >> >> > > > catch (gazebo::GazeboError e) >> >> > > > { >> >> > > > std::cout << "Gazebo error: Unable to connect to >> >> > the left >> >> > > camera >> >> > > > interface\n" >> >> > > > << e << "\n"; >> >> > > > return; >> >> > > > } >> >> > > > >> >> > > > /// Open the Right Camera interface >> >> > > > try >> >> > > > { >> >> > > > cam_rightIface>Open(client, "right_ifacename"); >> >> > > > } >> >> > > > catch (gazebo::GazeboError e) >> >> > > > { >> >> > > > std::cout << "Gazebo error: Unable to connect to >> >> the >> >> > > right camera >> >> > > > interface\n" >> >> > > > << e << "\n"; >> >> > > > return; >> >> > > > } >> >> > > > >> >> > > > /// Open the Simulation Interface >> >> > > > try >> >> > > > { >> >> > > > simIface>Open(client, "default"); >> >> > > > } >> >> > > > catch (gazebo::GazeboError e) >> >> > > > { >> >> > > > std::cout << "Gazebo error: Unable to connect >> >> > to the sim >> >> > > > interface\n" << e << "\n"; >> >> > > > return; >> >> > > > } >> >> > > > >> >> > > > /** Pausing simulation... (maybe not needed!!) **/ >> >> > > > simIface>Lock(1); >> >> > > > simIface>data>pause = 1; >> >> > > > >> >> > > > /// Setting command name for imposing 3D position >> >> > > > uint8_t model_req[32] = "set_pose3d"; >> >> > > > memcpy(simIface>data>model_req, model_req, 32); >> >> > > > >> >> > > > /// Setting model name for imposing new Pose in >> >> > Simulation >> >> > > > Interface >> >> > > > uint8_t model_name[512] = "helicopter"; >> >> > > > memcpy(simIface>data>model_name, model_name, >> >> 512); >> >> > > > >> >> > > > /** Writing the current odometric position... **/ >> >> > > > simIface>data>model_pose.pos.x = >> >> cmd_pos_change[0]; >> >> > > > simIface>data>model_pose.pos.y = >> >> cmd_pos_change[1]; >> >> > > > simIface>data>model_pose.pos.z = >> >> cmd_pos_change[2]; >> >> > > > >> >> > > > simIface>data>model_pose.roll = >> >> > cmd_rot_change[0]; >> >> > > > simIface>data>model_pose.pitch = >> >> cmd_rot_change[1]; >> >> > > > simIface>data>model_pose.yaw = >> >> cmd_rot_change[2]; >> >> > > > >> >> > > > /** Unlock simulation interface ... **/ >> >> > > > simIface>Unlock(); >> >> > > > >> >> > > > >> >> > > > >> >> > > > >> >> > > >> >> > >> >> /******************************************************************************************/ >> >> > > > The cycle (called by matlabsimulink recursively) >> >> > > > >> >> > > >> >> > >> >> /******************************************************************************************/ >> >> > > > >> >> > > > /** Lock simulation interface ... **/ >> >> > > > simIface>Lock(1); >> >> > > > >> >> > > > uint8_t model_name[512] = "helicopter"; >> >> > > > memcpy(simIface>data>model_name, model_name, 512); >> >> > > > >> >> > > > /** Writing the current odometric position... **/ >> >> > > > simIface>data>model_pose.pos.x = >> >> cmd_pos_change[0]; >> >> > > > simIface>data>model_pose.pos.y = >> >> cmd_pos_change[1]; >> >> > > > simIface>data>model_pose.pos.z = >> >> cmd_pos_change[2]; >> >> > > > >> >> > > > simIface>data>model_pose.roll = >> >> cmd_rot_change[0]; >> >> > > > simIface>data>model_pose.pitch = >> >> cmd_rot_change[1]; >> >> > > > simIface>data>model_pose.yaw = >> >> cmd_rot_change[2]; >> >> > > > >> >> > > > /** Unlock simulation interface ... **/ >> >> > > > simIface>Unlock(); >> >> > > > >> >> > > > >> >> > > >> >> > >> >> /******************************************************************************************/ >> >> > > > >> >> > > >> >> > >> >> /******************************************************************************************/ >> >> > > > >> >> > > > >> >> > > > Here two screenshot of the left camera view: the first >> >> > > > (left_frame_0001) >> >> > > > during a normal call, the last (left_frame_0059) when >> >> > > already the >> >> > > > simulation starts crashing after 5060 calls. >> >> > > > >> >> > > > Any idea? Is it possible that any system update (using >> >> > aptitude) >> >> > > > created >> >> > > > any problem, for example to the ode or ogre libraries? >> >> > > > Note that before I haven't encountered this problem! >> >> > But now >> >> > > I have it >> >> > > > also downgrading the SVN version of Gazebo! >> >> > > > >> >> > > > I'm using Kubuntu (both Gusty and Feisty). >> >> > > > >> >> > > > Tell me if I post any other usefull information! >> >> > > > >> >> > > > Thank you >> >> > > > >> >> > > > >> >> > > > Jordi ha scritto: >> >> > > > > >> >> > > > > Send me as much info as you can. >> >> > > > > If you can not send me the code or the world file >> >> > for whatever >> >> > > > reason, >> >> > > > > send me a screenshot. >> >> > > > > Also send this mail to the ML so Nate and others can >> >> > give some >> >> > > > advise. >> >> > > > > Lately I have not much time for Gazebo but I'll try >> >> > to help >> >> > > > > >> >> > > > > >> >> > > > > On Fri, Feb 29, 2008 at 10:21 PM, Domenico Leonello >> >> > > > > <leonello@... >> >> > <mailto:leonello@...> <mailto:leonello@... >> >> > <mailto:leonello@...>> >> >> > > <mailto:leonello@... >> >> > <mailto:leonello@...> <mailto:leonello@... >> >> > <mailto:leonello@...>>> >> >> > > > <mailto:leonello@... >> >> > <mailto:leonello@...> >> >> > > <mailto:leonello@... >> >> > <mailto:leonello@...>> <mailto:leonello@... >> >> > <mailto:leonello@...> >> >> > > <mailto:leonello@... >> >> > <mailto:leonello@...>>>>> >> >> > > > wrote: >> >> > > > > >> >> > > > > Hi, >> >> > > > > >> >> > > > > maybe I found a bug in libgazebo. The situation >> >> > is the >> >> > > > following. >> >> > > > > >> >> > > > > Using MATLAB Sfunction I impose recursively >> >> > position and >> >> > > > attitude >> >> > > > > to an >> >> > > > > object (with an helicopter mesh) with 2 cameras >> >> > mounted on >> >> > > > (like a >> >> > > > > stereo pair). >> >> > > > > >> >> > > > > I observed a strange behaviour during the calls >> >> to >> >> > > > libgazebo. If I >> >> > > > > impose an attitude (also constant) different >> >> > from (0, >> >> > > 0, 0), >> >> > > > after a >> >> > > > > variable number of calls (it depends on the >> >> > entity of the >> >> > > > imposed >> >> > > > > angles) the cameras seem to fall from the >> >> > helicopter and >> >> > > > give deformed >> >> > > > > images (and then normally the simulation >> >> crashes). >> >> > > Sometimes it >> >> > > > > happens >> >> > > > > also that the trimesh attached to the helicopter >> >> > body >> >> > > stretches >> >> > > > > and deforms. >> >> > > > > >> >> > > > > If the imposed attitude is (0, 0, 0), I can >> >> > move the >> >> > > > cameras around >> >> > > > > with no problem. >> >> > > > > >> >> > > > > I didn't find any explanation to this behaviour. >> >> > > > > A memory error is unlikely (otherwise I can't >> >> > explain why >> >> > > > with (0, >> >> > > > > 0, 0) >> >> > > > > values all goes ok!). >> >> > > > > >> >> > > > > Maybe it is a sort of conversion error between >> >> > euler and >> >> > > > quaternions. >> >> > > > > This can explain why the mesh stretches, if the >> >> > quaternion >> >> > > > is not >> >> > > > > normalized to1! But why it happens only after >> >> 5060 >> >> > > calls of >> >> > > > libgazebo >> >> > > > > and not immediatly? And wht it doesn't happen >> >> when >> >> > > euler angles >> >> > > > > are (0, >> >> > > > > 0, 0)? >> >> > > > > >> >> > > > > If you need, I can send you pictured of the >> >> deformed >> >> > > > helicopter and >> >> > > > > camera sight. And I can also send any >> >> information >> >> > > about the >> >> > > > C code >> >> > > > > that >> >> > > > > calls libgazebo. >> >> > > > > >> >> > > > > Thank you >> >> > > > > >> >> > > > > Domenico >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > > >  >> >> > > > > Jordi Polo Carres >> >> > > > > NLP laboratory  NAIST >> >> > > > > http://www.bahasara.org >> >> > > > >> >> > > > >> >> > > > >> >> > > > >> >> > > >> >> > >> >>  >> >> > > > This SF.net email is sponsored by: Microsoft >> >> > > > Defy all challenges. Microsoft(R) Visual Studio 2008. >> >> > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> >> > > > _______________________________________________ >> >> > > > Playerstagegazebo mailing list >> >> > > > Playerstagegazebo@... >> >> > <mailto:Playerstagegazebo@...> >> >> > > <mailto:Playerstagegazebo@... >> >> > <mailto:Playerstagegazebo@...>> >> >> > > > <mailto:Playerstagegazebo@... >> >> > <mailto:Playerstagegazebo@...> >> >> > > <mailto:Playerstagegazebo@... >> >> > <mailto:Playerstagegazebo@...>>> >> >> > > > >> >> > https://lists.sourceforge.net/lists/listinfo/playerstagegazebo >> >> > > > >> >> > > > >> >> > > > >> >> > > > >> >> > > >  >> >> > > > Jordi Polo Carres >> >> > > > NLP laboratory  NAIST >> >> > > > http://www.bahasara.org >> >> > > > >> >> > > >> >> > >> >>  >> >> > > > >> >> > > > >> >> > > >> >> > >> >>  >> >> > > > This SF.net email is sponsored by: Microsoft >> >> > > > Defy all challenges. Microsoft(R) Visual Studio 2008. >> >> > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> >> > > > >> >> > > >> >> > >> >>  >> >> > > > >> >> > > > _______________________________________________ >> >> > > > Playerstagegazebo mailing list >> >> > > > Playerstagegazebo@... >> >> > <mailto:Playerstagegazebo@...> >> >> > > <mailto:Playerstagegazebo@... >> >> > <mailto:Playerstagegazebo@...>> >> >> > > > >> >> > https://lists.sourceforge.net/lists/listinfo/playerstagegazebo >> >> > > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > >  >> >> > > Jordi Polo Carres >> >> > > NLP laboratory  NAIST >> >> > > http://www.bahasara.org >> >> > >> >> > >> >> > >> >> > >> >> >  >> >> > Jordi Polo Carres >> >> > NLP laboratory  NAIST >> >> > http://www.bahasara.org >> >> >> > >> > >> > >> >  >> > Jordi Polo Carres >> > NLP laboratory  NAIST >> > http://www.bahasara.org >> > >> >> >> >>  >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> Playerstagegazebo mailing list >> Playerstagegazebo@... >> https://lists.sourceforge.net/lists/listinfo/playerstagegazebo >> >> > >  > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Playerstagegazebo mailing list > Playerstagegazebo@... > https://lists.sourceforge.net/lists/listinfo/playerstagegazebo > > 