63 lines
1.5 KiB
Python
63 lines
1.5 KiB
Python
import time
|
|
import json
|
|
|
|
from unitree_sdk2py.core.channel import ChannelFactortyInitialize
|
|
from unitree_sdk2py.rpc.client import Client
|
|
|
|
from test_api import *
|
|
|
|
"""
|
|
" class TestClient
|
|
"""
|
|
class TestClient(Client):
|
|
def __init__(self, enableLease: bool = False):
|
|
super().__init__("test", enableLease)
|
|
|
|
def Init(self):
|
|
self._RegistApi(TEST_API_ID_MOVE, 0)
|
|
self._RegistApi(TEST_API_ID_STOP, 1)
|
|
self._SetApiVerson(TEST_API_VERSION)
|
|
|
|
def Move(self, vx: float, vy: float, vyaw: float):
|
|
parameter = {}
|
|
parameter["vx"] = vx
|
|
parameter["vy"] = vy
|
|
parameter["vyaw"] = vyaw
|
|
p = json.dumps(parameter)
|
|
|
|
c, d = self._Call(TEST_API_ID_MOVE, p)
|
|
return c
|
|
|
|
def Stop(self):
|
|
parameter = {}
|
|
p = json.dumps(parameter)
|
|
|
|
c, d = self._Call(TEST_API_ID_STOP, p)
|
|
return c
|
|
|
|
if __name__ == "__main__":
|
|
# initialize channel factory.
|
|
ChannelFactortyInitialize(0)
|
|
|
|
# create client
|
|
client = TestClient(True)
|
|
client.Init()
|
|
client.SetTimeout(5.0)
|
|
|
|
# get server version
|
|
code, serverApiVersion = client.GetServerApiVersion()
|
|
print("server api version:", serverApiVersion)
|
|
|
|
# wait lease applied
|
|
client.WaitLeaseApplied()
|
|
|
|
# test api
|
|
while True:
|
|
code = client.Move(0.2, 0, 0)
|
|
print("client move ret:", code)
|
|
time.sleep(1.0)
|
|
|
|
code = client.Stop()
|
|
print("client stop ret:", code)
|
|
time.sleep(1.0)
|