hrpsys_tools_config.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 import roslib; roslib.load_manifest("hrpsys")
3 import OpenRTM_aist.RTM_IDL # for catkin
4 import sys
5 
6 from hrpsys import rtm
7 from hrpsys.hrpsys_config import *
8 import OpenHRP
9 
10 # copy from hrpsys/lib/python2.7/dist-packages/hrpsys_config.py
11 import argparse, code
12 if __name__ == '__main__':
13  parser = argparse.ArgumentParser(description="hrpsys command line interpreters, try `./hrpsys_tools_config.py--host xxxx --port xxxx -i` or `ipython ./hrpsys_tools_config.py -- --host xxxx --port xxxx` for robot debugging, we recommend to use ipython")
14  parser.add_argument('--host', help='corba name server hostname')
15  parser.add_argument('--port', help='corba name server port number')
16  parser.add_argument('-i', help='interactive mode', action='store_true')
17  parser.add_argument('-c', help='execute command', nargs='*')
18  parser.add_argument('--use-unstable-rtc', help='use unstable rtc', action='store_true')
19  args, unknown = parser.parse_known_args()
20 
21  if args.i: # interactive
22  sys.argv.remove('-i')
23  if args.c:
24  sys.argv.remove('-c')
25  [sys.argv.remove(a) for a in args.c] # remove command from sys.argv
26  if args.host:
27  rtm.nshost = args.host; sys.argv = [sys.argv[0]] + sys.argv[3:]
28  if args.port:
29  rtm.nsport = args.port; sys.argv = [sys.argv[0]] + sys.argv[3:]
30 
31  # ipython ./hrpsys_tools_config.py -i -- --port 2809
32  hcf = HrpsysConfigurator()
33  if args.use_unstable_rtc: # use Unstable RTC
34  hcf.getRTCList = hcf.getRTCListUnstable; sys.argv = [sys.argv[0]] + sys.argv[2:]
35  if args.i or '__IPYTHON__' in vars(__builtins__):
36  hcf.waitForModelLoader()
37  if len(sys.argv) > 1 and not sys.argv[1].startswith('-'):
38  hcf.waitForRTCManagerAndRoboHardware(robotname=sys.argv[1])
39  sys.argv = [sys.argv[0]] + sys.argv[2:]
40  hcf.findComps()
41  print >> sys.stderr, "[hrpsys.py] #\n[hrpsys.py] # use `hcf` as robot interface, for example hcf.getJointAngles()\n[hrpsys.py] #"
42  while args.c != None:
43  print >> sys.stderr, ">>", args.c[0]
44  exec(args.c[0])
45  args.c.pop(0)
46  if not (args.i and '__IPYTHON__' in vars(__builtins__)):
47  code.interact(local=locals()) #drop in shell if invoke from python, or ipython without -i option
48  elif len(sys.argv) > 2 :
49  hcf.init(sys.argv[1], sys.argv[2])
50  elif len(sys.argv) > 1 :
51  hcf.init(sys.argv[1])
52  else :
53  hcf.init()
54 


hrpsys_tools
Author(s): Kei Okada
autogenerated on Mon May 10 2021 02:30:58