TurtleBot3 조립 #2

13. 2번 레이어에 서포터와 PCB 서포터 고정 필요한 부품들입니다. 2번 레이어 서포터 고정용 부품들입니다. 서포터를 모두 고정했습니다. PCB 서포터 고정용 부품들입니다. 필요한 부품들만 선택합니다. PCB 서포터의 상단에 볼트를 끼워 넣습니다. 순서대로 PCB 서포터를 고정합니다. 파워 케이블 연장선을 배치합니다. 1번 레이어 위에 올려 놓고 모터 제어신호 선 2개를 레이어 홀에 배치합니다. 14. 2번 레이어에 OpenCR 보드 … Read more

TurtleBot3 조립 #1

TurltleBot3 e-manual 제공 사이트 : https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ 조립서 : http://emanual.robotis.com/docs/en/platform/turtlebot3/hardware_setup/#assembly-manual OpenCR e-manual : https://emanual.robotis.com/docs/en/parts/controller/opencr10/ opencr pin map은 아래와 같습니다. 2. 박스 개봉 박스를 열면 내부에 어뎁터와 소형 박스 4개가 들어 있습니다. 1번 박스를 개봉합니다. 2번 박스를 개봉합니다. 3번 박스를 개봉합니다. 4번 박스를 개봉합니다. 전원 어뎁터가 들어 있는 박스입니다. 추가 구매한 부품입니다. 배터리와 충전기입니다. 각종 연결 구조물입니다. … Read more

Ubuntu 22.04 Server TurtleBot3 Burger를 tmux로 한 번에 실행하기 #2

10) Here Document를 이용한 XML 작성 <<XML은 Bash의 Here Document 문법입니다. 여러 줄의 텍스트를 파일에 기록할 때 사용합니다. 기존 파일 덮어쓰기 >는 파일을 새로 작성합니다. 같은 이름의 파일이 이미 있다면 기존 내용을 지우고 새 내용으로 덮어씁니다. 변수 치환 Here Document 시작 부분이 다음과 같습니다. 구분자인 XML에 작은따옴표가 없으므로 내부 변수는 실제 값으로 치환됩니다. 다음 코드에서: … Read more

Ubuntu 22.04 Server TurtleBot3 Burger를 tmux로 한 번에 실행하기 #1

1. 구성 목표 Ubuntu 22.04 Server와 ROS 2 Humble을 설치한 TurtleBot3 Burger를 SSH로 운용할 때는 일반적으로 여러 터미널이 필요합니다. 이 글에서는 TurtleBot3에 SSH로 접속한 후 하나의 스크립트만 실행하여 다음 네 개의 tmux window를 자동으로 구성합니다. 사용하는 주요 환경은 다음과 같습니다. 2. tmux란 무엇인가 tmux는 하나의 터미널 안에서 여러 터미널 작업 공간을 운영할 수 있게 해주는 … Read more

ROS 2 Humble과 TurtleBot3 Burger에서 Google Cloud Text-to-Speech로 문자열 음성 출력하기 #4

41) 부모 destroy_node 호출 작업 스레드 종료 처리를 마친 후 부모 클래스의 destroy_node()를 호출합니다. 이 과정에서 ROS 2 구독자, 타이머, 서비스, 노드 핸들 등의 자원이 정리됩니다. 42) main 함수 ROS 2 노드 실행 진입점입니다. Python 패키지의 setup.py 또는 setup.cfg에서 콘솔 스크립트로 등록하면 ros2 run 명령으로 실행할 수 있습니다. a. ROS 2 초기화 ROS 2 Python … Read more

ROS 2 Humble과 TurtleBot3 Burger에서 Google Cloud Text-to-Speech로 문자열 음성 출력하기 #3

31) 볼륨 증폭 예제 경고 메시지를 크게 출력하려면 다음과 같이 실행합니다. 조용하게 출력하려면 다음과 같이 실행합니다. 지나치게 큰 값을 사용하면 음질이 저하되거나 왜곡될 수 있으므로 실제 스피커 환경에서 조정해야 합니다. 32) 언어와 음성 모델 변경 예제 영어 음성을 사용하려면 다음처럼 언어 코드와 음성 이름을 함께 변경합니다. 일본어 음성을 사용하려면 다음과 같이 실행할 수 있습니다. 음성 … Read more

ROS 2 Humble과 TurtleBot3 Burger에서 Google Cloud Text-to-Speech로 문자열 음성 출력하기 #2

9. 문자열을 즉시 재생하는 실행 파일 작성 google_tts_ros2/say.py 파일을 작성합니다. 이 실행 파일은 ROS 2 토픽을 사용하지 않고 명령행에서 전달한 문자열을 바로 음성으로 출력합니다. 1) argparse 모듈 가져오기 argparse는 Python 표준 라이브러리에 포함된 명령줄 인수 분석 모듈입니다. 별도의 패키지를 설치하지 않아도 사용할 수 있습니다. argparse를 사용하면 다음 기능을 쉽게 구현할 수 있습니다. 예를 들어 프로그램에 … Read more

ROS 2 Humble TurtleBot3 Burger에서 실제 충전스테이션 파킹 알고리즘 방식의 ArUco 도킹 구현 #2

16) 영상 반전 처리 flipCode=-1은 영상을 상하좌우 모두 반전합니다. 즉, 영상을 180도 회전한 것과 같습니다. 이 코드는 카메라가 로봇에 거꾸로 장착된 환경을 전제로 합니다. 카메라 영상이 정상 방향이라면 이 코드를 제거해야 합니다. 실제 시스템에서는 다음과 같이 파라미터로 만드는 것이 좋습니다. 17) ArUco 마커 검출 먼저 컬러 영상을 흑백 영상으로 변환합니다. 최신 OpenCV에서는 다음 코드가 실행됩니다. … Read more

TurtleBot3 Burger를 이용한 ROS 2 이동 로봇 서비스 개발 프로젝트 안내

1. 프로젝트 개요 이번 프로젝트는 그동안 학습한 ROS 2 Humble, TurtleBot3 Burger, SLAM, Navigation2, 카메라 인식, 센서 연동, GUI, 자동 실행 기술을 하나의 서비스 로봇 시스템으로 통합하는 팀 프로젝트입니다. 단순히 로봇을 움직이는 수준이 아니라 실제 사용 가능한 이동 로봇 서비스를 기획하고, 요구사항 작성부터 설계, 구현, 시험, 발표까지 전체 개발 절차를 수행합니다. 실습 공간은 강의실 내부에 … Read more

ROS 2 Humble TurtleBot3 Burger에서 실제 충전스테이션 파킹 알고리즘 방식의 ArUco 도킹 구현 #1

1. 실습 목표 이번 실습에서는 Ubuntu 22.04 Server가 설치된 TurtleBot3 Burger에서 ROS 2 Humble, Pi Camera 2, OpenCV ArUco를 사용하여 충전스테이션 파킹 알고리즘과 유사한 자동 도킹 노드를 구현합니다. 실제 충전스테이션 도킹은 보통 다음 순서로 동작합니다. 이번 글에서는 이 흐름을 ROS 2 노드로 구현합니다. 핵심은 단순한 “마커 추종”이 아니라 “상태머신 기반 충전스테이션 파킹 알고리즘”입니다. 2. 전체 … Read more