⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playercpy_example.py

📁 机器人仿真软件
💻 PY
字号:
#!/usr/bin/env pythonimport mathfrom playerc import *# Create a client objectc = playerc_client(None, 'localhost', 6665)# Connect itif c.connect() != 0:  raise playerc_error_str()# Create a proxy for position2d:0p = playerc_position2d(c,0)if p.subscribe(PLAYERC_OPEN_MODE) != 0:  raise playerc_error_str()# Retrieve the geometryif p.get_geom() != 0:  raise playerc_error_str()print 'Robot size: (%.3f,%.3f)' % (p.size[0], p.size[1])# Create a proxy for laser:0l = playerc_laser(c,0)if l.subscribe(PLAYERC_OPEN_MODE) != 0:  raise playerc_error_str()# Retrieve the geometryif l.get_geom() != 0:  raise playerc_error_str()print 'Laser pose: (%.3f,%.3f,%.3f)' % (l.pose[0],l.pose[1],l.pose[2])# Start the robot turning CCW at 20 deg / secp.set_cmd_vel(0.0, 0.0, 20.0 * math.pi / 180.0, 1)for i in range(0,30):  if c.read() == None:    raise playerc_error_str()  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# Now turn the other wayp.set_cmd_vel(0.0, 0.0, -20.0 * math.pi / 180.0, 1)for i in range(0,30):  if c.read() == None:    raise playerc_error_str()  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# Now stopp.set_cmd_vel(0.0, 0.0, 0.0, 1)# Clean upp.unsubscribe()l.unsubscribe()c.disconnect()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -