프로젝트 개요
두산로보틱스 협동로봇을 활용하여 스포츠 스태킹(컵 쌓기) 작업을 자동화하는 프로젝트를 진행했습니다. 본 프로젝트는 trans 함수를 활용해 상대 좌표값으로 로봇 동작을 제어하여 티칭 과정 없이 작업을 수행하는 혁신적인 방식을 도입하였습니다. 또한, Docker 기반 Visual/Real 모드 전환 기능을 추가해 시뮬레이션과 실제 작업 환경 간 유연한 전환이 가능하도록 구현하였습니다. DevOps 접근법을 적용하여 효율적인 개발, 테스트, 배포 프로세스를 구축하였습니다.
주요 구현 사항
1. 상대 좌표계 기반 컵 쌓기
- trans 함수를 사용하여 모든 컵의 위치를 상대적으로 계산.
- 힘 제어를 통해 컵의 정확한 위치를 감지하고 안정적으로 배치.
- 티칭 없이도 모든 동작이 정밀하게 수행되도록 설계.
2. Docker 기반 Visual/Real 모드 전환
- Visual 모드: 시뮬레이션 환경에서 로봇 동작을 검증.
- Real 모드: 실제 로봇과 연동하여 작업 수행.
- Docker 패키징을 통해 간단히 실행 및 배포 가능.
3. DevOps 접근법 적용
- CI/CD(Continuous Integration/Continuous Deployment) 파이프라인 구축.
- Docker 이미지를 활용한 개발 환경 통일로 협업 및 유지보수 효율성 향상.
- 모든 배포 프로세스 자동화로 오류 최소화.
4. GUI 통합 제어 시스템
- 작업 시작/정지 및 비상 정지 기능 제공.
- 실시간 로그로 작업 상태 확인.
기술적 구현
로봇 동작 알고리즘
- 컵 픽업:
def pick_up(): movel(cup_pos, vel=30, acc=30, ref=DR_BASE) grip_gripper() movel(trans(cup_pos, posx(0, 0, 30, 0, 0, 0)), vel=30, acc=30, ref=DR_BASE)
- 목표 위치 배치:
def place_cup(target_pos): intermediate_pos = trans(target_pos, posx(0, 0, 50, 0, 0, 0)) movel(intermediate_pos, vel=30, acc=30, ref=DR_BASE) release_gripper() movel(trans(intermediate_pos, posx(0, 0, -50, 0, 0, 0)), vel=30, acc=30, ref=DR_BASE)
Visual/Real 모드 전환
- Docker 환경을 활용해 두 가지 모드를 지원:
# Visual 모드 실행 docker run -e MODE=visual project:latest # Real 모드 실행 docker run -e MODE=real project:latest
힘 제어를 통한 위치 정밀성 확보
- 힘 조건 확인 후 컵의 높이를 자동으로 감지하여 배치:
while not check_force_condition(DR_AXIS_Z, max=5): wait(0.1) release_compliance_ctrl()
DevOps 자동화 파이프라인
- Docker 이미지를 활용하여 빌드, 테스트, 배포 프로세스 자동화.
- GitLab CI/CD를 통해 코드 변경 사항을 지속적으로 통합하고 배포.
- 개발 환경과 프로덕션 환경 간 일관성 유지.
성과
- 11개의 컵으로 380mm 높이의 안정적인 피라미드를 5분 내에 완성.
- 작업 오류: 0건.
- 티칭 없이 상대 좌표 계산만으로 작업 완수.
- Visual/Real 모드 전환으로 개발 및 테스트 효율성 향상.
- DevOps 접근법으로 배포 과정에서 발생할 수 있는 오류를 대폭 감소.
결론
본 프로젝트는 협동로봇을 활용하여 티칭 과정 없이 상대 좌표값으로 작업을 제어하는 혁신적인 방식을 성공적으로 구현했습니다. Docker 기반의 Visual/Real 모드 전환 기능과 DevOps 접근법을 통해 개발, 테스트, 배포의 효율성을 크게 개선하였으며, 힘 제어를 통해 정밀성과 안정성을 극대화하였습니다. 이는 협동로봇의 가능성을 확장하고 다양한 산업 분야에 응용할 수 있는 잠재력을 보여줍니다.
'ROS2' 카테고리의 다른 글
[두산로보틱스] 멀티 로봇 제어 및 Digital Twin 프로젝트 (0) | 2025.01.05 |
---|---|
[두산로보틱스] AMR 관제 시스템 구축 프로젝트 (0) | 2025.01.05 |
[두산로보틱스] 협동로봇 젠가 쌓기 (1) | 2025.01.05 |
Turtlebot3 자율주행 서빙로봇 프로젝트 [2] (0) | 2024.11.17 |
Turtlebot3 자율주행 서빙로봇 프로젝트 [1] (0) | 2024.11.17 |