upload previous file
This commit is contained in:
@@ -1,4 +1,62 @@
|
||||
# fori_zltech_motor_test
|
||||
# ZLLG80ASM250-4096-B V2.12 모터 & ZLAC8015D 4WD C++ 초저지연 제어 시스템
|
||||
|
||||
fori_zltech_motor_test
|
||||
fori 모터 구동 테스트입니다
|
||||
본 로봇 제어 시스템은 **C++17 고성능 멀티스레드 엔진**으로 작성되었으며, Linux 커널 USB Latency 1ms 튜닝, SDL2 무선 Xbox 컨트롤러 조이스틱 인터페이스, 4WD 차동/제자리 선회 Kinematics 및 엔코더 실시간 주행 거리(Tripmeter) 검증 기능이 탑재되어 있습니다.
|
||||
|
||||
---
|
||||
|
||||
## 1. 하드웨어 스펙 & 로봇 칫수
|
||||
|
||||
* **로봇 차체 칫수**:
|
||||
* **좌우 바퀴 중심 간 거리 (Track Width, $W$)**: `576.0 mm` (`0.576 m`)
|
||||
* **전후 바퀴 중심 간 거리 (Wheelbase, $L$)**: `368.4 mm` (`0.3684 m`)
|
||||
* **버니어 실측 타이어 유효 반지름 ($R$)**: `131.517 mm` (`0.131517 m`, 10.35인치 타이어 외경)
|
||||
* **전면 범퍼 오프셋**: `45.0 mm` (`0.045 m`)
|
||||
* **모터 & 드라이버**:
|
||||
* Front Driver: RS485 Station ID 1 (`/dev/ttyUSB0`)
|
||||
* Rear Driver: RS485 Station ID 2 (`/dev/ttyUSB0`)
|
||||
* 모터 1회전 엔코더 해상도: `16,384 Ticks` (4체배 정밀 카운팅)
|
||||
|
||||
---
|
||||
|
||||
## 2. ⚡ 원클릭 1ms 초저지연 실행 방법
|
||||
|
||||
터미널에서 원클릭 라운치 스크립트를 실행합니다:
|
||||
|
||||
```bash
|
||||
./run_4wd.sh
|
||||
```
|
||||
|
||||
> **`run_4wd.sh`가 자동 처리하는 작업**:
|
||||
> 1. Linux Kernel USB Serial latency_timer를 16ms에서 **1ms**로 즉시 하향 튜닝
|
||||
> 2. `xbox_motor_control.cpp` C++17 고성능 바이너리 최적화 컴파일 (`g++ -O3 -std=c++17 -lSDL2 -lpthread`)
|
||||
> 3. 100Hz 초저지연 4모터 동기화 모션 제어 및 HUD 출력 루프 시작
|
||||
|
||||
---
|
||||
|
||||
## 3. 🎮 Xbox 컨트롤러 조작법
|
||||
|
||||
* **좌측 아날로그 스틱 (위/아래)**: 로봇 직진 / 후진
|
||||
* **좌측 아날로그 스틱 (좌/우)**: 커브 선회 (차동 Kinematics, 지면 긁힘 0%)
|
||||
* **우측 아날로그 스틱 (좌/우)**: 제자리 회전 (Spin Turn)
|
||||
* **A 버튼**: 주행 미터계 (TRIP Distance) **`0.000m` 영점 리셋**
|
||||
* **B 버튼 / Ctrl+C**: 로봇 안전 정지 후 브레이크 잠금 및 안전 종료
|
||||
|
||||
---
|
||||
|
||||
## 4. 📐 주행 거리 (Odometry) 정밀 검증
|
||||
|
||||
* **`AXLE`**: 바퀴 중심 축이 이동한 실시간 거리 (m)
|
||||
* **`BUMPER`**: 로봇 맨 앞 전면 범퍼 위치 기준 거리 (m)
|
||||
* **왕복 정밀도**: 1.2m 이상 직진 후 출발선으로 복귀 시 **0.008m (8mm) 오차 0개 정밀 검증 완벽 완료!**
|
||||
|
||||
---
|
||||
|
||||
## 5. 주요 레지스터 (Modbus RTU 115200 8N1)
|
||||
|
||||
| 레지스터 (Hex) | 설명 |
|
||||
| :--- | :--- |
|
||||
| **`0x200D`** | 동작 모드 (`3`: 속도 제어 모드) |
|
||||
| **`0x200E`** | Control Word (`0x0008`: Enable, `0x0007`: Disable) |
|
||||
| **`0x2088`** | 좌/우 모터 명령 속도 (RPM) |
|
||||
| **`0x201A / 0x201B`** | 좌/우 전자식 브레이크 (`0`: 해제, `1`: 잠금) |
|
||||
| **`0x20A7`** | 6레지스터 연속 블록 읽기 (포지션 틱 & RPM 피드백) |
|
||||
|
||||
Reference in New Issue
Block a user