본문 바로가기

Study_ROS

(15)
Tutorial of ROS - Goal : Learn how to create and execute publisher and subscriber nodes using C++ and Python A node in ROS is just a program (e.g. typically a piece of source code made in C++ or Python) that does some computation. ROS nodes reside inside ROS packages. ROS packages reside inside the src folder of your catkin workspace (i.e. catkin_ws). 1) How to Create ROS Workspace We need to create a workspace..
Ubuntu 20.04에서 IDE(Visual Studio Code, Qtcreator)를 통한 ROS 개발환경 구축 IDE(Integrated Development Tool)란? : 프로그래밍시 필요한 각종 기능들을 하나의 프로그램 안에서 처리하는 환경을 제공하는 Software - ROS에서 사용 가능한 IDE : https://wiki.ros.org/IDEs 각종 IDE 환경 설정법 Qtcreator + Qt Creator Plugin for ROS : 가장 추천하는 IDE. ROS에서는 많은 프로그램들을 qt 기반으로 짜 놓음(GUI toolbox인 rqt가 qt base로 짜여진 프로그램). 큰 프로젝트에서 보통 사용 Qt : GUI Program 개발에 자주 쓰이는 cross platform framework Visual Studio Code + ROS Extension : 위에 비해 가볍고 빠름. 사용시 큰..
[ROBOTIS ROS Courses] Ch7. ROS 기본 프로그래밍 Ch7. ROS 기본 프로그래밍 - ROS Programming 전 알아둬야 할 사항 표준 단위 : 주고 받는 Message들의 단위 통일 (SI Unit 사용) 좌표 표현 방식 : 정회전은 반시계 방향 (오른손 법칙). https://www.ros.org/reps/rep-0103.html#coordinate-frame-conventions 에서 각 version에 맞는 rep 찾아서 규칙 찾아보기 Rep (ROS Enhancement Proposal) : ROS community를 위한 design 문서 정보를 제공하거나 ROS의 새로운 feature, process, environment를 설명 프로그래밍 규칙 : wiki.org에 명시되어 있음 (http://wiki.ros.org/CppStyleG..
[ROBOTIS ROS Courses] Ch6. ROS 도구(RViz, rqt, Gazebo) Ch6 ROS 도구 - 도구 : Rviz(시각화 툴), Rpt(GUI 박스), Gazebo(3D Simulator) 1) Rviz(ROS Visualization Tool) 다양한 sensor의 값들을 시각화 해주는 ROS의 3D 시각화 툴 URDF(Unified Robot Description Format) : Robot Model에 대한 정보들을 기술하는 통일된 format. 로봇 외형의 표시와 계획된 동작을 표현 Rviz는 Navigation, Manipulation, Remote Control에도 사용 - 사용 예시 Kinect (RGB-D Sensor, 3D Depth Camera) : 거리값을 point cloud data로 표현 Ridar : Razor based Distance Sensor..
[ROBOTIS ROS Courses] Ch5. ROS 명령어 + 용어 정리 Ch5 ROS 명령어 roscd에서 cd는 원래 Linux에서 사용하는 명령어 roscore는 위 3가지 기능을 다 수행함 roscore는 한번 사용 후 끄지 않는 한 계속 사용. Master는 하나임 roslaunch는 rosrun과 달리 복수의 node들을 한번에 실행시킬 수 있음 catkin은 ROS 코드를 빌드하고 구성할 때 사용하는 build system으로써, catkin 명령어를 통해 build를 하거나 의존성 관계 확인 catkin workspace는 기본적으로 ~/catkin_ws 경로에 구축됨 workspace란 원하는 작업 수행을 위한 코드를 작성하는 directory로써, 한번에 하나의 workspace에서만 작업할 수 있다 http://wiki.ros.org/Tools#Comman..
[ROBOTIS ROS Courses] Ch3. ROS 개발환경 구축 ~ Ch4. ROS의 중요 컨셉 Ch3 ROS 개발환경 구축 1-1) ROS 한줄 설치 $ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic.sh ROS 한줄 설치 방법 wget(Web Get)은 web상의 단일 file을 download받아 현재 folder에 저장할 때 사용 http://wiki.ros.org/noetic/Installation http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment 1-2) ROS 수동 설치 $ sudo apt install chrony $ sudo ntpdate ntp.ubuntu.com NTP(Network ..
[ROBOTIS ROS Courses] Ch1. 로봇 소프트웨어 플렛폼 ~ Ch2. 로봇 운영체제 ROS * 본 강의는 2018년 강의 Ch1. 로봇 소프트웨어 플렛폼 Hardware Module + OS + App(Service) + User : Echo System의 4대 요소 위의 내용들이 로봇 분야에도 그대로 적용됨 2018년 기준으로 40여개의 로봇 OS 존재. 그중 ROS를 가장 많이 사용 Ch2. 로봇 운영체제 ROS - ROS란? ROS(Robot Operating System)는 로봇용 Open Source Meta-Operating System으로써 Open Source 기반의 Robot Programming에 필요한 여러 기능, 도구들과 library들의 모음이다 이름과는 달리 OS가 아니라 Library나 Framework 혹은 Middleware(서로 다른 Application이 통신..