You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Kaboat WAM-V Controller
이 프로젝트는 ROS2를 사용하여 WAM-V (Wave Adaptive Modular Vessel) 로봇을 제어하는 Python 애플리케이션입니다.
## 가상환경 설정
### 1. 가상환경 활성화
```bash
# Windows PowerShell
venv\Scripts\Activate.ps1
# Windows Command Prompt
venv\Scripts\activate.bat
# 또는 직접 Python 실행
venv\Scripts\python.exe
```
### 2. 설치된 패키지들
- numpy (1.24.4)
- matplotlib (3.7.5)
- opencv-python (4.12.0.88)
- pytest (8.3.5)
- black (24.8.0)
- flake8 (7.1.2)
## ROS2 설치 및 설정
### Windows에서 ROS2 설치
1. **ROS2 Humble 설치** (권장):
- [ROS2 Windows 설치 가이드](https://docs.ros.org/en/humble/Installation/Windows-Install-Binary.html)를 따라 설치
- 또는 Chocolatey 사용: `choco install ros-humble-desktop`
2. **ROS2 패키지 설치**:
```bash
# ROS2 환경 설정 후
colcon build
source install/setup.bash
```
3. **필요한 ROS2 패키지들**:
- `rclpy`: ROS2 Python 클라이언트 라이브러리
- `std_msgs`: 표준 메시지 타입들
### 대안: Conda를 사용한 ROS2 설치
```bash
# Conda 환경에서
conda install -c conda-forge ros-humble-rclpy ros-humble-std-msgs
```
## 프로젝트 실행
### 1. ROS2 환경 설정
```bash
# ROS2 환경 소스
source /opt/ros/humble/setup.bash # Linux
# 또는 Windows에서 ROS2 설치 경로의 setup.bat 실행
```
### 2. 가상환경 활성화
```bash
venv\Scripts\activate.bat
```
### 3. 프로그램 실행
```bash
python test_move.py
```
## 코드 설명
`test_move.py`는 WAM-V 로봇을 제어하는 ROS2 노드입니다:
1. **5초간 전진**: 양쪽 추진기에 동일한 추력(100.0) 적용
2. **5초간 우회전**: 왼쪽 추진기는 전진(100.0), 오른쪽 추진기는 후진(-100.0)
3. **정지**: 모든 추진기 정지
## 주의사항
- ROS2 환경이 제대로 설정되어 있어야 합니다
- 시뮬레이션 환경(Gazebo 등)이 실행 중이어야 합니다
- 추력 값은 실제 환경에 따라 조정이 필요할 수 있습니다
## 문제 해결
### 가상환경 활성화 문제
PowerShell에서 실행 정책 오류가 발생하는 경우:
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
### ROS2 패키지 import 오류
ROS2가 설치되지 않은 경우, 다음 중 하나를 선택:
1. ROS2 Humble 공식 설치
2. Conda를 통한 ROS2 설치
3. Docker를 사용한 ROS2 환경
# Kaboat_scripts