| .idea | ||
| clients | ||
| generated | ||
| generated_apriltags | ||
| generated_apriltags_svg_check | ||
| protos/cmvr | ||
| robot_model/xiaoyan_description | ||
| scripts | ||
| ui | ||
| actions.json | ||
| generate_json.py | ||
| README.md | ||
| requirements.txt | ||
| run_client.py | ||
grpc_client
Environment
- Python: 3.9.25
Setup
python -m pip install -r requirements.txt
Use the same Python interpreter you run the clients with. For example:
C:\Users\lgv\miniconda3\envs\grpc_client\python.exe -m pip install -r requirements.txt
Troubleshooting
If you encounter the following error:
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in ".../site-packages/cv2/qt/plugins"
run:
pip uninstall opencv-python opencv-contrib-python -y
pip install opencv-python-headless
Generate gRPC code
From repo root:
python scripts/gen_grpc_py.py
This reads .proto files under protos/ and writes Python code to generated/.
Run (module mode)
python -m clients.movej_client
python -m clients.get_joint_state_client
python -m clients.get_pose_client
python -m clients.torque_on_client
python -m clients.torque_off_client
python -m clients.torque_key_client
python -m clients.save_joint_to_csv
python -m clients.http_server
python -m clients.hlc_client
UI (PyQt)
python -m ui.app
Runtime parameters
- gRPC server address/port: set in
clients/base_client.py(default192.168.0.222:50052). - HTTP server host/port: set in
clients/http_server.py(default0.0.0.0:8000). - Arm
device_iddefaults toright_arm. Useleft_armwhen controlling the left arm. - UI parameters (host/port/device_id/interval) are set in the PyQt window and passed to the runner.