47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
from __future__ import absolute_import
|
|
from __future__ import division
|
|
from __future__ import print_function
|
|
|
|
#python proto2csv.py --proto_file=/tmp/logs/minitaur_log_2019-01-27-12-59-31 --csv_file=/tmp/logs/out.csv
|
|
#each line in csv contains: angle, velocity, action, torque
|
|
|
|
import tensorflow as tf
|
|
import argparse
|
|
import numpy
|
|
from pybullet_envs.minitaur.envs import minitaur_logging
|
|
|
|
flags = tf.app.flags
|
|
FLAGS = tf.app.flags.FLAGS
|
|
|
|
flags.DEFINE_string("proto_file", "logs", "path to protobuf input file")
|
|
flags.DEFINE_string("csv_file", "file.csv", "poth to csv output file")
|
|
|
|
|
|
def main(argv):
|
|
del argv
|
|
|
|
logging = minitaur_logging.MinitaurLogging()
|
|
episode = logging.restore_episode(FLAGS.proto_file)
|
|
#print(dir (episode))
|
|
#print("episode=",episode)
|
|
fields = episode.ListFields()
|
|
|
|
recs = []
|
|
|
|
for rec in fields[0][1]:
|
|
#print(rec.time)
|
|
for motorState in rec.motor_states:
|
|
#print("motorState.angle=",motorState.angle)
|
|
#print("motorState.velocity=",motorState.velocity)
|
|
#print("motorState.action=",motorState.action)
|
|
#print("motorState.torque=",motorState.torque)
|
|
recs.append([motorState.angle,motorState.velocity,motorState.action,motorState.torque])
|
|
|
|
a = numpy.array(recs)
|
|
numpy.savetxt(FLAGS.csv_file, a, delimiter=",")
|
|
|
|
if __name__ == "__main__":
|
|
tf.app.run(main)
|
|
|
|
|