문제 해결 가이드
Troubleshooting (Troubleshooting)
1. 일반적인 질문
Q: MARC(Meta-Sejong AI Robotics Challenge) 2025에 참가하기 위한 기본 요구사항은 무엇인가요?
A: 다음과 같은 기본 요구사항이 필요합니다:
- Ubuntu 22.04 LTS 이상
- NVIDIA GPU (CUDA 11.0 이상 지원)
- Python 3.8 이상
- ROS2 Humble
- NVIDIA Isaac Sim
Q: 참가 신청은 어떻게 하나요?
A:
- 참가 신청 페이지에서 신청서 작성
- 필요한 서류 제출 (팀 구성원 정보, 제안서 등)
- 신청 확인 이메일 수신
Q: 대회 기간은 얼마나 되나요?
A:
- 참가 신청: 2024년 3월 1일 ~ 3월 31일
- 개발 기간: 2024년 4월 1일 ~ 5월 31일
- 최종 제출: 2024년 6월 1일 ~ 6월 7일
- 결과 발표: 2024년 6월 15일
2. 기술 관련 질문
Q: 시뮬레이션 환경에서 어떤 종류의 로봇을 사용할 수 있나요?
A:
- 매니퓰레이터 로봇
- 이동 로봇
- 협동 로봇
- 사용자 정의 로봇 (규정 준수 필요)
Q: 평가는 어떤 방식으로 이루어지나요?
A:
- 자동화된 평가 시스템을 통한 객관적 평가
- 실시간 성능 측정
- 다양한 시나리오 테스트
- 안전성 및 안정성 평가
Q: 코드는 어떤 언어로 작성해야 하나요?
A:
- Python 3.8 이상
- C++ (ROS2 노드 개발 시)
- CUDA (GPU 가속이 필요한 경우)
3. 개발 환경 관련 질문
Q: 개발 환경 설정에 문제가 있을 경우 어떻게 해야 하나요?
A:
- 문제 해결 가이드 참조
- GitHub Issues 페이지에 문제 보고
- 기술 지원팀에 이메일 문의
Q: 시뮬레이션 환경을 로컬에서 실행할 수 있나요?
A:
- 네, 제공되는 Docker 이미지나 로컬 설치 가이드를 통해 가능합니다
- 최소 시스템 요구사항을 충족해야 합니다
- GPU 가속이 필요합니다
Q: 데이터셋은 어떻게 제공되나요?
A:
- 대회 시작 시 제공되는 기본 데이터셋
- 추가 데이터셋은 대회 기간 중 순차적 제공
- 데이터셋 다운로드 및 사용 방법은 참가자 가이드 참조
4. 제출 및 평가 관련 질문
Q: 코드는 어떤 형식으로 제출해야 하나요?
A:
- GitHub 저장소 링크 제출
- README.md 파일 포함
- 의존성 목록 (requirements.txt) 포함
- 실행 방법 문서화
Q: 평가 결과는 언제 확인할 수 있나요?
A:
- 실시간 평가 결과는 대시보드에서 확인 가능
- 최종 결과는 2024년 6월 15일 발표
- 상세 평가 리포트는 결과 발표 후 제공
Q: 재제출이 가능한가요?
A:
- 네, 최종 제출 기간 내 재제출 가능
- 마지막 제출된 버전이 평가 대상
- 제출 이력은 모두 기록됨
일반적인 문제
1. 환경 설정 문제
ROS2 Humble 설치 실패
증상: ROS2 Humble 설치 중 오류 발생 해결 방법:
- 시스템 요구사항 확인
# Ubuntu 버전 확인 lsb_release -a # 시스템 아키텍처 확인 uname -m
- 저장소 설정 확인
# ROS2 저장소 추가 sudo apt update && sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl -y sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
- 의존성 설치
sudo apt update sudo apt install ros-humble-desktop
Isaac Sim 설치 문제
증상: Isaac Sim 실행 시 오류 발생 해결 방법:
- NVIDIA 드라이버 확인
nvidia-smi
- CUDA 설치 확인
nvcc --version
- Isaac Sim 재설치
# 기존 설치 제거 rm -rf ~/.local/share/ov/pkg/isaac_sim* # 새로 설치 wget https://install.isaac.sim chmod +x install.isaac.sim ./install.isaac.sim
2. 실행 환경 문제
Python 가상환경 문제
증상: 패키지 의존성 충돌 해결 방법:
- 새로운 가상환경 생성
python3 -m venv meta_sejong_env source meta_sejong_env/bin/activate
- 의존성 설치
pip install -r requirements.txt
- 패키지 버전 확인
pip freeze
CUDA 관련 문제
증상: CUDA 초기화 실패 해결 방법:
- CUDA 버전 확인
nvcc --version
- 환경 변수 설정
export PATH=/usr/local/cuda-11.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
- CUDA 드라이버 재설치
sudo apt remove nvidia-driver-* sudo apt autoremove sudo apt install nvidia-driver-470
시뮬레이션 문제
1. 물리 엔진 문제
불안정한 시뮬레이션
증상: 로봇이나 객체가 불안정하게 움직임 해결 방법:
- 물리 파라미터 조정
env.set_physics_parameters( substeps=8, solver_iterations=8, contact_offset=0.02 )
- 충돌 설정 확인
env.check_collision_settings( friction=0.5, restitution=0.1 )
- 객체 스케일 조정
object.set_scale([1.0, 1.0, 1.0])
성능 저하
증상: 시뮬레이션 속도가 느림 해결 방법:
- 시각화 설정 조정
env.set_visualization_quality("low") env.disable_debug_visualization()
- 물리 시뮬레이션 최적화
env.optimize_physics_simulation( max_substeps=4, solver_type="iterative" )
- GPU 메모리 관리
env.manage_gpu_memory( max_memory_usage=0.8, enable_memory_optimization=True )
2. 센서 데이터 문제
카메라 데이터 오류
증상: 카메라 이미지가 깨지거나 누락됨 해결 방법:
- 카메라 설정 확인
camera.check_settings( resolution=[640, 480], fov=60, update_rate=30 )
- 렌더링 설정 조정
env.set_rendering_parameters( anti_aliasing=True, shadow_quality="medium" )
- 카메라 위치 조정
camera.set_position([0, 0, 2]) camera.set_orientation([0, 0, 0])
IMU 데이터 오류
증상: IMU 데이터가 부정확하거나 누락됨 해결 방법:
- IMU 설정 확인
robot.check_imu_settings( update_rate=100, noise_level=0.01 )
- 데이터 필터링 적용
robot.apply_imu_filter( filter_type="kalman", window_size=5 )
- IMU 보정
robot.calibrate_imu( duration=10, samples=1000 )
평가 시스템 문제
1. 메트릭 계산 오류
점수 계산 오류
증상: 평가 점수가 부정확하게 계산됨 해결 방법:
- 메트릭 설정 확인
eval_system.check_metric_settings( weights={ "accuracy": 0.4, "efficiency": 0.3, "stability": 0.3 } )
- 데이터 검증
eval_system.validate_data( task_results=results, check_consistency=True )
- 메트릭 재계산
eval_system.recalculate_metrics( force=True, validate=True )
데이터 저장 오류
증상: 평가 데이터가 저장되지 않음 해결 방법:
- 저장 경로 확인
eval_system.check_storage_path( path="evaluation_results", create_if_missing=True )
- 파일 권한 확인
chmod -R 755 evaluation_results/
- 데이터 백업
eval_system.backup_data( backup_path="backup/", timestamp=True )
2. 시각화 문제
그래프 생성 오류
증상: 성능 그래프가 생성되지 않음 해결 방법:
- 데이터 포맷 확인
eval_system.validate_plot_data( data=performance_data, required_fields=["timestamp", "value"] )
- 시각화 설정 조정
eval_system.set_visualization_settings( style="seaborn", dpi=300, figure_size=(10, 6) )
- 에러 처리 추가
try: eval_system.plot_performance_metrics( metrics=["accuracy", "efficiency"], save_path="results/plot.png" ) except Exception as e: print(f"그래프 생성 오류: {str(e)}") eval_system.log_error(e)
로깅 및 디버깅
1. 로그 관리
로그 레벨 설정
import logging
# 로그 레벨 설정
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
filename='debug.log'
)
로그 필터링
# 특정 컴포넌트 로그만 출력
logging.getLogger('meta_sejong.simulation').setLevel(logging.DEBUG)
logging.getLogger('meta_sejong.evaluation').setLevel(logging.INFO)
2. 디버그 도구
메모리 프로파일링
import memory_profiler
@memory_profiler.profile
def analyze_performance():
# 성능 분석 코드
pass
CPU 프로파일링
import cProfile
import pstats
def profile_function():
profiler = cProfile.Profile()
profiler.enable()
# 프로파일링할 코드
profiler.disable()
stats = pstats.Stats(profiler)
stats.sort_stats('cumulative')
stats.print_stats()