def __init__(self, use_acc_only):
self._init_obs()
config = copy.deepcopy(HYPERPARAMS)
self._hyperparams = config
self._use_acc_only = use_acc_only
if self._hyperparams['constraint']:
import superball_kinematic_tool as skt
self._constraint = skt.KinematicMotorConstraints(
self._hyperparams['constraint_file'], **self._hyperparams['constraint_params']
)
rospy.init_node('superball_agent', disable_signals=True, log_level=rospy.DEBUG)
self._obs_update_lock = threading.Lock()
self._motor_pos_sub = rospy.Subscriber(
'/ranging_data_matlab', Float32MultiArray,
callback=self._motor_pos_cb, queue_size=1
)
self._imu_sub = []
for i in range(12):
self._imu_sub.append(
rospy.Subscriber(
SUPERBALL_IMU_TOPICS[i], Imu,
callback=self._imu_cb, queue_size=1
)
)
self._ctrl_pub = rospy.Publisher('/superball/control', String, queue_size=1)
self._timestep_pub = rospy.Publisher('/superball/timestep', UInt16, queue_size=1)
self._init_motor_pubs()
self._run_sim = False
self._sim_thread = threading.Thread(target=self._continue_simulation)
self._sim_thread.daemon = True
self._sim_thread.start()
self._action_rate = rospy.Rate(10)
评论列表
文章目录