From: Nuno M. <mou...@ho...> - 2012-08-24 09:46:55
|
Hi, I follow your instructions but I cannot put the GoTo function, from the Position2dProxy class, working. I've set my .cfg file as this: ######################### driver ( name "segwayrmp" provides ["position2d:0" "position3d:0" "power:0" "ui:::power:1"] bus "usb" usb_device "/dev/ttyUSB0" max_xspeed 1.5 max_yawspeed 40 ) driver ( name "goto" provides ["position2d:2" "dio:0"] requires ["position2d:0"] debug 1 reactive 1 ) ######################### and my code is this: ######################### int main_segway(int argc, char *argv[]) { PlayerClient sw("localhost"); Position2dProxy pp(&sw, 0); pp.SetMotorEnable(true); pp.ResetOdometry(); sw.Read(); pp.GoTo(0.5,0,0); return 0; } ######################### What am I doing wrong? Thank you very much for your attention, Nuno Moutinho |
From: Richard V. <va...@sf...> - 2012-08-24 15:09:30
|
Your program exits immediately after telling the robot to GoTo. The goto work is done by the client-side driver that you just killed. When the client quits, it disconnects from the robot and leaves it in a safe state (i.e. not driving). You need to do this: Goto() while( remaining_distance < threshold_distance ) { sw.Read(); // update the proxies with the latest data remaining_distance = (distance to goal as determined from PositionProxy) } puts( "made it!" ) exit(); - rtv On Fri, Aug 24, 2012 at 2:46 AM, Nuno Moutinho <mou...@ho...> wrote: > Hi, > > I follow your instructions but I cannot put the GoTo function, from the > Position2dProxy class, working. I've set my .cfg file as this: > > ######################### > > driver > ( > name "segwayrmp" > provides ["position2d:0" "position3d:0" "power:0" "ui:::power:1"] > bus "usb" > usb_device "/dev/ttyUSB0" > max_xspeed 1.5 > max_yawspeed 40 > ) > > driver > ( > name "goto" > provides ["position2d:2" "dio:0"] > requires ["position2d:0"] > debug 1 > reactive 1 > ) > > ######################### > > and my code is this: > > ######################### > > int main_segway(int argc, char *argv[]) > { > > PlayerClient sw("localhost"); > Position2dProxy pp(&sw, 0); > > pp.SetMotorEnable(true); > pp.ResetOdometry(); > > sw.Read(); > pp.GoTo(0.5,0,0); > > return 0; > } > > ######################### > > What am I doing wrong? > > Thank you very much for your attention, > Nuno Moutinho > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > |