최근
-
Robot
ROS2 공부 - colcon
colcon은 ROS 2의 빌드 시스템 중 하나입니다. ROS 2는 CMake 기반 빌드 시스템을 사용하며, colcon은 CMake를 기반으로한 ROS 2 패키지의 빌드, 테스트, 패키징 및 설치를 자동화하는 빌드 도구입니다. colcon은 ROS 2 Galactic 이상 버전에서 사용 가능합니다. colcon은 다음과 같은 기능을 제공합니다. 1. 빌드 : CMake 기반의 ROS2 패키지를 빌드할 수 있따. 또한, 다중 패키지 빌드, 특정 패키지 빌드, 일부 빌드 스텝만 실행하는 등의 유연한 빌드 옵션을 제공한다. 2. 테스트 : 패키지의 유닛 테스트 및 안티그레이션 테스트를 실행할 수 있다. 3. 패키징 : 빌드된 패키지를 ROS2 패키지 포맷으로 패키징할 수 있다. 4. 설치 : 빌드된 패키지를..
-
Robot
ROS2 공부 4일차 - python으로 ROS 사용하기
1. 기본 세팅 - 이번에는 Python을 통해 ROS2를 다루는 방법에 대해 정리해보고자 한다. - 우선 pip를 설치하자. - 파이썬 관련 설명은 생략하도록 하겠다. sudo apt install python3-pip pip3 install --upgrade pip # 최신버전 유지 pip3 install jupyter ipywidgets pyyaml bqplot - 모듈 설치가 끝났으면 재부팅해야 한다. 그리고 다음 명령을 통해 Jupyter notebook을 실행해 주자. jupyter notebook 2. Python으로 토픽 구독하기 2.1 jupyter로 토픽을 구독하기 위한 준비 - 불필요한 혼선을 막기 위해 이전에 켜둔 터미널을 모두 끈 상태에서 다시 실행한다. - 터미널을 분할하고 하나..
-
Robot
ROS2 공부 3일차 - ROS2 기본 명령 익히기
1. Turtlesim 설치와 실행 - ros galactic 버전을 설치할 때 desktop 버전을 선택했다면 turtlesim도 같이 설치된다. 혹시 설치가 안되었다면 sudo apt install ros-galactic-turtlesim - 위 명령을 실행하면 된다. - ROS2에서는 실행 가능한 최소한의 단위를 노드(node)라고 한다. 그리고 다수의 노드와 여러 설정을 모아 둔 것을 패키지(package)라고 부른다. - ROS2에서 노드를 하나 실행하기 위한 명령어는 다음과 같다. ros2 run - 그래서 지금은 turtlesim이라는 패키지의 turtlesim_node라는 노드를 실행하고자 다음 명령어를 입력한다. ros2 run turtlesim turtlesim_node 2. 다시 강조..
-
Robot
ROS2 공부 1일차-terminator
본 게시글은 제가 공부했던 내용을 메모하는 느낌의 게시글이라 순서가 많이 뒤죽박죽입니다. 1. terminator - Ubuntu의 기본 터미널은 화면 분할이 안된다. - 새창으로 터미널을 실행하거나 탭으로 터미널을 실행할 수는 있다. - 하지만 ROS를 사용하다 보면 많은 터미널을 실행해야 할 때가 있다. - 터미널은 보통 terminator와 tilix, tmux를 많이 추천한다. 1. terminator 실행 ctrl + alt + T 누르면 바로 실행됨 2. 분할된 터미널에서 터미널 선택 alt+화살표 키 3. 선택한 터미널의 크기를 변경 ctrl + shift + 화살표 키 4. 분할된 터미널 닫기 exit 5. 각 터미널 멈추기 ctrl + c * ros잘 설치되었는지 확인해보기 다음의 3가지..
-
Robot
ROS2 공부 2일차-ROS2 설치
ROS2 설치하기 - 한줄 설치를 하는 것이 가장 편하기는 하지만, 로봇을 개발하다 보면 하드웨어의 지원, 클라이언트의 요구, 기획 단계에서 어쩔 수 없는 상황 등으로 로봇SW를 운용해야 하는 환경을 구축해야 하는데 많은 고민을 해야 할 때가 있다. - 이러한 상황속에서 제대로 대응하기 위해선 이러한 기초 세팅 역시 직접 하나하나 설치해보는 것이 가장 중요하다. - 이번 게시글에서는 Ubuntu 20.04에서 설치하는 ROS Galastic 버전의 설치를 진행하도록 하겠다. 3.1 ROS Galatic 버전 설치 페이지 찾기 - 구글에서 ros galatic install이라고 검색하면 바로 첫 화면에 공식 설치 안내 페이지가 나올 것이다. - 안내 페이지에는 크게 바이너리(binary) 설치와 소스 코..
-
실내 자율 주행 로봇
프로젝트 일지 5. IMU 센서
IMU - Mobile Robot의 위치 제어를 위해서 주로 IMU 센서를 많이 사용한다. - IMU(Inertial Measurement Unit)은 직역하면 '관성 측정 장치'이다. - 관성을 측정하여 최종적으로 구하고자 하는 값은 물체가 기울어진 각도를 정확하게 측정하는 것이다. - 또한 자이로스코프/가속도계/지자기센서로 구성된 센서를 뜻한다. - 종류에 따라 자이로스코프 가속도계만 있는 6축 센서, 자이로스코프와 가속도계, 지자기센서까지 포함한 9축 센서도 있다. 1) 가속도 센서 - 물체에 작용하는 가속력과 진동력, 충격력 등 동적 힘이 발생했을 때, 움직임의 변화에 따른 가속도의 변화(단위: $m/s^2$)를 순간적으로 감지해 낸다. - 센서에서 얻어지는 출력값인 가속도를 적분하여 물체의 진행..
-
실내 자율 주행 로봇
프로젝트 일지 4. 모터 드라이버 선정
모터 드라이버 선정 1. 방향 제어 - DC 모터는 통상 선이 2개가 있다. - +에서 -로 전류가 흐르느냐 or -에서 +로 전류가 흐르느냐에 따라 모터의 회전 방향이 바뀐다. - DC 모터의 전류를 바꿔 줄 수 있는 회로가 다음 그림에 나오는 회로이다. - H자 모양으로 생겨 H-bridge 회로라고 부른다. 2. 속도 제어 - 모터의 속도는 DC 전압을 제어하면 속도를 바꿀 수 있다. - 전압이 커지면 속도가 증가하고, 전압이 낮아지면 속도가 감소한다. - 하지만 DC 전압을 손쉽게 제어하기 힘들기 때문 PWM(Pulse Width Modulation)제어를 사용하여 모터의 속도를 제어한다. (PWM 제어의 적용예로 모터의 속도제어와 LED의 밝기 제어 등이 있다.) - PWM 제어는 위 그림과 같..
-
실내 자율 주행 로봇
프로젝트 일지 3. 모터 구매
모터 구매 완료 요구 토크를 구하는 방법을 드디어 chatGPT의 도움을 통해 알게 되었다. 계산은 적기 너무 귀찮으니 나중에 업데이트 하겠습니다... 아무튼 여유잡아서 30Ncm 정도의 토크가 필요하다고 한다. 그래서 나는 신용 모터에서 https://sym.or.kr/product/detail.html?product_no=1196&cate_no=365 (GGM) K35 12W Ø35 DC12V-24V 엔코더부착 유성기어드 DC모터K35-KD3657-E씨리즈 본 결제 창은 결제완료 후 자동으로 닫히며,결제 진행 중에 본 결제 창을 닫으시면 주문이 되지 않으니 결제 완료 될 때 까지 닫지 마시기 바랍니다. sym.or.kr 이 제품을 구매했으며 1:27 기어비의 기어박스를 부착할 경우 최대 정격 부하시 ..