grpc_client/README.md

70 lines
1.5 KiB
Markdown

# grpc_client
## Environment
- Python: 3.9.25
## Setup
```bash
python -m pip install -r requirements.txt
```
Use the same Python interpreter you run the clients with. For example:
```bash
C:\Users\lgv\miniconda3\envs\grpc_client\python.exe -m pip install -r requirements.txt
```
## Troubleshooting
If you encounter the following error:
```text
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in ".../site-packages/cv2/qt/plugins"
```
run:
```bash
pip uninstall opencv-python opencv-contrib-python -y
pip install opencv-python-headless
```
## Generate gRPC code
From repo root:
```bash
python scripts/gen_grpc_py.py
```
This reads `.proto` files under `protos/` and writes Python code to `generated/`.
## Run (module mode)
```bash
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)
```bash
python -m ui.app
```
## Runtime parameters
- gRPC server address/port: set in `clients/base_client.py` (default `192.168.0.222:50052`).
- HTTP server host/port: set in `clients/http_server.py` (default `0.0.0.0:8000`).
- Arm `device_id` defaults to `right_arm`. Use `left_arm` when controlling the left arm.
- UI parameters (host/port/device_id/interval) are set in the PyQt window and passed to the runner.