From: brian g. <bg...@po...> - 2002-11-16 08:14:42
|
Hi, In the meantime, below is a patch for Stage's positiondevice.cc. You should apply thusly in the directory above where you've got the 'stage-1.3' source tree: $ patch -p0 < positiondevice.cc.patch brian. *** stage-1.3/src/models/positiondevice.cc Fri Nov 1 16:16:33 2002 --- stage-1.3-foo/src/models/positiondevice.cc Thu Nov 14 11:30:19 2002 *************** *** 278,287 **** // Basically just changes byte orders and some units this->data.xpos = htonl((int) px); this->data.ypos = htonl((int) py); ! this->data.yaw = htons((unsigned short) pth); ! this->data.xspeed = htons((unsigned short) (this->com_vr * 1000.0)); ! this->data.yawspeed = htons((short) RTOD(this->com_vth)); //this->data.compass = htons((unsigned short)(RTOD(compass))); this->data.stall = this->stall; --- 278,288 ---- // Basically just changes byte orders and some units this->data.xpos = htonl((int) px); this->data.ypos = htonl((int) py); ! this->data.yaw = htonl((int) pth); ! this->data.xspeed = htonl((int) (this->com_vr * 1000.0)); ! this->data.yspeed = htonl((int) 0); ! this->data.yawspeed = htonl((int) RTOD(this->com_vth)); //this->data.compass = htons((unsigned short)(RTOD(compass))); this->data.stall = this->stall; On Thu, 14 Nov 2002, Richard Vaughan wrote: > > Hi Alex, > > I saw that problem too, the day after the release. I'm part way through > mergining position and omniposition devices, and have fixed the problem in > CVS. I'll make a bugfix release in a day or two. Problem was caused by > Player's position interface field sizes changing between 1.2 and 1.3. I > plan to encapsulate the interfaces a little better to avoid this sort of > problem. > > Thanks very much for the manual bug report and the FAQ entry. This Free > Software thing is starting to work nicely. > > Richard. > > On Thu, 14 Nov 2002, Alex Makarenko wrote: > > > Hi guys, > > > > Can somebody verify this? > > > > Weird scaling or overflow problem in PositionProxy fields .theta, > > .speed, and .turnrate > > > > Setup: Player/Stage 1.3 on Debian Linux, compiled with gcc v3.2 > > > > > > Simply add pp.Print() to randomwalk.cc (v.1.3) and recompile > > Run with some provided world file (e.g. simple.world) > > > > =================================================================== > > ... > > for(;;) > > { > > /* this blocks until new data comes; 10Hz by default */ > > if(robot.Read()) > > exit(1); > > pp.Print(); > > ... > > } > > =================================================================== > > > > Output: > > > > =================================================================== > > makara@thistle:~$ /home/pub/player-1.3/examples/c++/randomwalk -p 6665 > > -m -l > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 0 0 0 0 0 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 19 0 0 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 39 0 0 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 79 0 65536 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 119 1 65536 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 139 2 131072 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 159 3 131072 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 219 6 196608 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 259 8 196608 13107200 131072 0 > > #Position(4:0) - a > > #xpos ypos theta speed turn stall > > 279 10 262144 13107200 131072 0 > > =================================================================== > > > > > > My guess: > > A) something simple described in the manual > > B) something funny with transition from short to int in PositionProxy > > C) something to do with gcc 3.2 > > D) something with sys/types.h and the compiler flags HAVE_STDINT_H and > > HAVE_SYS_TYPES_H > > > > > > > > ---------------------------------------------------- > > Alex Makarenko > > Australian Centre for Field Robotics > > Dept. of Mechanical & Mechatronic Engineering J04 > > The University of Sydney 2006 NSW, AUSTRALIA > > > > a.m...@ac... > > www.acfr.usyd.edu.au > > +61 (0)2 9351 7154 (tel) > > +61 (0)2 9351 7474 (fax) > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by: To learn the basics of securing > > your web site with SSL, click here to get a FREE TRIAL of a Thawte > > Server Certificate: http://www.gothawte.com/rd524.html > > _______________________________________________ > > Playerstage-users mailing list > > Pla...@li... > > https://lists.sourceforge.net/lists/listinfo/playerstage-users > > > > |