An example of using libplayerc_py.
import math
from playerc import *
c = playerc_client(None, 'localhost', 6665)
if c.connect() != 0:
p = playerc_position2d(c,0)
if p.subscribe(PLAYERC_OPEN_MODE) != 0:
if p.get_geom() != 0:
print 'Robot size: (%.3f,%.3f)' % (p.size[0], p.size[1])
l = playerc_laser(c,0)
if l.subscribe(PLAYERC_OPEN_MODE) != 0:
if l.get_geom() != 0:
print 'Laser pose: (%.3f,%.3f,%.3f)' % (l.pose[0],l.pose[1],l.pose[2])
p.set_cmd_vel(0.0, 0.0, 20.0 * math.pi / 180.0, 1)
for i in range(0,30):
if c.read() == None:
print 'Robot pose: (%.3f,%.3f,%.3f)' % (p.px,p.py,p.pa)
laserscanstr = 'Partial laser scan: '
for j in range(0,5):
if j >= l.scan_count:
break
laserscanstr += '%.3f ' % l.ranges[j]
print laserscanstr
p.set_cmd_vel(0.0, 0.0, -20.0 * math.pi / 180.0, 1)
for i in range(0,30):
if c.read() == None:
print 'Robot pose: (%.3f,%.3f,%.3f)' % (p.px,p.py,p.pa)
laserscanstr = 'Partial laser scan: '
for j in range(0,5):
if j >= l.scan_count:
break
laserscanstr += '%.3f ' % l.ranges[j]
print laserscanstr
p.set_cmd_vel(0.0, 0.0, 0.0, 1)
p.unsubscribe()
l.unsubscribe()
c.disconnect()