한이음/GPS 좌표 트래킹을 통한 자율주행 로봇 14

UBUNTU VS Code, Terminator 설치방법

VS Code $ sudo apt update $ sudo apt install software-properties-common apt-transport-https wget $ wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" $ sudo apt update $ sudo apt install code Terminmator $ sudo apt-get install terminator $ vi ~/.config/terminator/c..

GPS-Waypoint example package 시도(미완성본)

GPS좌표를 노트북에서 찍어 순서를 정해주면, 그 좌표대로 로봇이 동작하며, 장애물을 회피하며 주행하는 것이 목표다. 대부분의 경우 robot_localization packae, move_base package를 이용하며 해당 package의 경우에서도 사용하고 있다. 이 package의 경우 joystick을 이용하여 로봇을 움직여 좌표를 수집한 뒤 로봇을 동작시키는 package로 보이나, 이를 미리 mapviz 상에서 마우스로 좌표를 설정한 뒤 로봇이 이를 따라 동작하도록 해보겠다. 이번 글에서는 해당 package를 작동 시키는 것을 목적으로 한다. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic 단계 1. gps-wayp..

ROS 삭제

ROS를 이용하면서 cmake error 또는 여러 이유들로 인해 ROS를 재설치 해야하는 경우가 생긴다. 이 경우 삭제를 진행해야 하기 때문에 그 방법을 알아보자. 사용버전. 노트북 ˙ samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic 단계 1. 삭제 2. 삭제 확인 1. 삭제 명령어 자체는 간단하다. $ sudo apt-get purge ros-* #패키지와 설정파일 함께 삭제하는 경우 $ sudo apt-get remove ros-* #패키지만 삭제, 설정파일은 남겨두는 경우 2. 삭제 확인 아래 명령어를 입력했을 때 이라고 출력되면 삭제가 된 것이다. 만약 기존의 버전이 확인되면 재부팅 후 확인해 보면 삭제가 됨을 확인할 수 있다. $ rosver..

ROS OpenCR Motor 구동 / Encoder 값 받기

robot을 동작하기 위해서는 센서를 통해 입력받은 값을 모터로 넘겨줘야 하고, 이동 시에 모터의 encoder를 통해 값을 다시 전달해 주어 계산하면 보다 정확한 주행이 가능하다. rosserial을 통해 값을 넘겨주고, encoder 값을 ros로 넘겨줘 보자. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic ˙ OpenCR ˙ MB-3866E (motor) ˙ Tb67h420ftg (motor driver) 단계 1. rosserial을 통해 motor 구동 확인 2. Encoder 값 받기 3. rosserial을 통해 Encoder 값 받기 4. 코드 통합 1. rosserial을 통해 motor 구동 확인 teleop_t..

ROS 키 입력 받기 (teleop_twist) + 모터 구동

자율주행 로봇을 제작하는 것을 목표로 하지만, 제작 과정에서 실험을 위해 직접 조작이 필요한 경우가 있다. 그 때 사용하는 패키지를 다운받아 수정하여 사용해 보자. 사용버전. 노트북. 모터 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic ˙ IG-52GM+Encoder 04TYPE (24V) 단계 1. 패키지 다운 2. 패키지 실행 3. subscriber 파일 생성 및 코드 작성 4. package.xml 수정 5. 입력내용 확인 6. 패키지 publish 코드 수정 7. Subscriber 수정 8. 수정된 코드 동작 확인 9. OpenCR 이용해 모터 구동 1. 패키지 다운 먼저 catkin_ws/src 로 이동 한다. 이후 teleop_twi..

OpenCR 사용하기

여러 arduino의 경우도 사용이 간편하고, 범용성이 높지만 보다 좋은 성능을 위해 OpenCR을 사용한다. 이를 Arduino IDE를 통해 arduino와 같이 사용하는 방법을 알아본다. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic ˙ OpenCR 1.0 ˙ Arduino IDE 1.8.19 단계 1. 터미널 설정 2. arduino 설정 1. 터미널 설정 아래의 명령어를 차례로 입력해 준다. $ sudo usermod -a -G dialout $USER $ wget https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/99-opencr-cdc.rules $ sudo c..

IMU (Myahrs+) 사용하기

모터를 동작시키면 직선으로 주행을 하도록 명령을 내려도 실제로는 직선으로 주행하지 않을 수도 있다. 이를 IMU 센서를 이용해서 보정함으로서 정확한 주행을 할 수 있도록 한다. 그래서 IMU 센서를 이용하는 방법을 알아보겠다. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic ˙ Myahrs+ 단계 1. 패키지 확인 2. 설치 3. Rviz를 통해 확인 4. raw data 받기 1. 패키지 확인 아래의 주소로 이동하여 melodic-devel baranch를 선택해 준다. https://github.com/robotpilot/myahrs_driver GitHub - robotpilot/myahrs_driver: myahrs_driv..

ROS에서 Arduino로 값 전달 (ROS (PUB)-> Arduino (SUB))

ROS끼리의 Publish, Subscribe는 Custom message로도 쉽게 가능하지만, Arduino와의 통신은 Custom message를 사용할 경우 번거로운 점이 많다. 그래서 geometry_msgs/Twist message를 이용해 ROS에서 Adruino로 값을 전달해 보려고 한다. 코드 자체는 그대로 두고 message 파일만 변경해서 ROS - Arduino rosserial통신을 시도한다. 사용버전. 노트북. 아두이노. 모터 드라이버. 모터 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic ˙ Arduino Mega 2560 ˙ L298N ˙ RB35GM 21TYPE 1/100 DC 12V 단계 1. geometry_msgs/..

ROS package 생성

ROS에는 다양한 package들이 있지만, 원하는 기능을 구현하기 위해 직접 생성하여 사용하기도 한다. 모터 구동을 위한 시작으로 0-255까지의 값을 주고받는 패키지를 생성해 보자. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic 단계 1. 패키지 생성 2. package.xml 수정 3. message 파일 생성 4. publisher 파일 생성 및 코드 작성 5. subscriber 파일 생성 및 코드 작성 6. CMakeLists.txt 파일 수정 7. 실행 1. 패키지 생성 생성하려는 package는 topic message를 이용하여 publish, subscribe 하는 package이다. package는 catkin..

Chrome 다운

Ubuntu를 사용하면서 FireFox를 통해 웹 검색을 할 수 있지만 익숙하지 않고 여러모로 불편하여 Chrome을 사용하려 한다. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS 단계 1. 크롬 다운 2. 크롬 설치 아래의 명령어를 순서대로 입력하면 다운받기가 완료된다. $ wget http://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb $ sudo apt install ./google-chrome-stable_current_amd64.deb