본문 바로가기

Study_ROS/[ROBOTIS ROS Courses]

(7)
[ROBOTIS ROS Courses] Ch11. SLAM과 Navigation 1. 개념 설명 1.1 SLAM SLAM (Simultaneous Localization And Mapping) : 동시적 위치 추정 및 지도 작성 Robot이 미지의 임의 공간을 이동하며 주변을 감지하며 현재 위치를 추정하는 동시에 지도를 작성하는 방법 위치 추정에 사용되는 sensor로는 Encoder, IMU가 있다 위치 추정은 sensor 관측 정보가 불확실하다는 점과 실제 환경에서 동작하기 위해서는 실시간성을 확보해야 한다는 점 등의 문제점이 존재한다 이러한 오차를 개선하기 위해 Kalman Filter, Particle Filter등을 사용할 수 있다 1.2 Navigation Navigation : 주어진 환경에서 Robot이 현재 위치로부터 지정한 목적지까지 이동하는 것 Robot에 이를 ..
[ROBOTIS ROS Courses] Ch8. 로봇, 센서, 모터 ~ Ch10. 모바일 로봇 Ch8. 로봇, 센서, 모터 Robot은 크게 Hardware / Software로 분류되며, ROS는 이중 응용 software의 범주에 포함된다 지원 범위에 따라 로봇 패키지, 센서 패키지로 구분된다 1) 로봇 패키지 (http://robots.ros.org/ 에서 확인 가능) https://robots.ros.org/ robots.ros.org An index of ROS Robots robots.ros.org 2) 센서 패키지 (wiki.rog.org의 'Sensors'에서 확인 가능) http://wiki.ros.org/Sensors Sensors - ROS Wiki wiki.ros.org 1D Range Finders : 저가의 로봇을 만들 때 사용하는 적외선 방식의 직선거리 센서 (한 점의 ..
[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이 통신..