분류 전체보기

    ROS 1 Noetic - ROS 명령어

    ROS 쉘 명령어 roscd ros + cd ROS 패키지 또는 스택의 디텍토리 변경 rospd ros + pushd ROS 디렉토리 인덱스에 디렉토리 추가 rosd ros + directory ROS 디렉토리 인덱스 확인 rosls ros + ls ROS 패키지의 파일 리스트 확인 rosed ros + ed ROS 패키지의 파일 편집 roscp ros + cp ROS 패키지의 파일 복사 ㅇ roscd [패키지 이름] ROS 실행 명령어 roscore ros + core Master 실행 rosrun ros + run 패키지의 노드 실행 roslaunch ros + launch 패키지의 노드를 복수개 실행 rosclean ros + clean ros 로그 파일을 체크하거나 삭제 ㅇ roscore ㅇ ro..

    ROS 1 Noetic - 기본 프로그래밍 Python 주요 문법

    공통 ㅇ 기본 설정 CMakeLists.txt에 파이썬 노드 설정 필요 없음 해당 파이썬 파일은 실행 권한을 줘야함 (chmod +x python_file.py) 해당 노드 실행 시 파이썬 파일이름으로 실행하면 됨 (rosrun package_name python_file.py) ㅇ 기본 형태 (rospy) #!/usr/bin/env python import rospy def node(): rospy.init_node('node_name') if __name__=='__main__': node() ㅇ rospy.init_node('my_node_name') / rospy.init_node('my_node_name', anonymous=True) rospy 노드 설정 및 초기화 'my_node_name':..

    ROS 1 Noetic - 패키지 생성 및 설정

    1. 패키지 생성 catkin_create_pkg [depend1] [depend2] [depend3] cd ~/catkin_ws/src catkin_create_pkg beginner_tutorials std_msgs rospy roscpp 2. 패키지 파일 설정 (package.xml 편집) ros_tutorials_topic 0.0.0 The ros_tutorials_topic package User User Apache License 2.0 http://wiki.ros.org/ros_tutorials_topic catkin roscpp rospy std_msgs message_generation roscpp rospy std_msgs message_runtime 3. 빌드 파일 설정 (CMakeL..

    ROS 1 Noetic - 설치 및 개발환경 구성 (Ubuntu)

    Noetic 설치 1. sources.list 추가 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 2. Key 설정 sudo apt install curl # if you haven't already installed curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - 3. Noetic 설치 ㅇ 패키지 내역 업데이트 sudo apt update ㅇ Noetic 설치 Desktop-Full 버전 설치 (권장) s..

    ROS - 로봇, 센서, 모터 패키지 (유튜브 ROS 강의 Chapter8. 로봇, 센서, 모터)

    로봇 패키지 https://robots.ros.org/ robots.ros.org An index of ROS Robots robots.ros.org 센서 패키지 http://wiki.ros.org/Sensors Sensors - ROS Wiki wiki.ros.org 1D Range Finders 저가의 로봇을 만들때 사용 할만한 적외선 방식의 직선 거리 센서 2D Range Finders 2차 평면상의 거리를 계측할 수 있는 센서로 주로 내비게이션에 많이 사용되는 센서 3D Sensors Intel 사의 RealSense, Microsoft 사의 Kinect, ASUS 사의 Xtion과 같은 3차원 거리 측정에 사용되는 센서 Audio/Speech Recognition 현재 음성인식 관련 부분은 매우..

    ROS - roslaunch (유튜브 ROS 강의 Chapter7. ROS 기본 프로그래밍)

    roslaunch rosrun: 하나의 노드를 실행하는 명령어 roslaunch: 하나 이상의 정해진 노드를 실행하는 명령어 노드를 실행할 때 패키지의 매개변수나 노드이름변경, 노드네임스페이스설정, ROS_ROOT 및 ROS_PACKAGE_PATH 설정, 환경 변수 변경 등의 옵션을 붙일 수 있음 ‘*.launch’라는 파일을 사용하여 실행 노드를 설정하는데 이는 XML 기반이며, 태그별 옵션을 제공함 실행 명령어: roslaunch [패키지명] [roslaunch파일] launch 파일 작성 (union.launch) $ roscd ros_tutorials_topic $ mkdir launch $ cd launch $ gedit union.launch : roslaunch로 실행할 노드를 기술 pkg ..

    ROS - 로봇 운영체제 ROS (유튜브 ROS 강의 Chapter2. 로봇 운영체제 ROS)

    ROS (Robot Operationg System) 정확히는 운영체제가 아니지만 로봇을 위한 운영체제 실질적으로 소프트웨어 프레임워크, 미들웨어임 오픈소스, 메타 운영체제 기반 노드간에 메시지 교환 방법으로 복잡합 프로그램을 잘게 나눠 공동 개발 가능 명령어 도구, 시각화 도구 Rviz, GUI 도구 모음 RQT, 3차원 시뮬레이터 Gazebo 지원 로보틱스에서 많이 사용되는 모델링, 센싱, 인식, 내비게이션, 매니퓰레이션 기능 지원 로보틱스 생태계(하드웨어 모듈 + 운영체제 + 앱[서비스] + 유저) 형성 가능 ROS의 진정한 목적 로보틱스 소프트웨어 개발을 전세계 레벨에서 공동 작업 가능하도록 생태계를 구축하는 것 메타 운영체제 (Meta-Operating System) 정확하게 정의된 용어가 아니..

    Vue.js - 쿠키 사용 (vue-cookies)

    쿠키(Cookie) 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일 즉, 브라우저에 저장되는 데이터를 말함 서버에 저장되는 데이터는 세션이라고 부름 Vue에서 쿠키 사용 vue-cookies 설치 (터미널 창에서 설치) npm install vue-cookies vue-cookies 임포트하기 import VueCookies from "vue-cookies" 글로벌 만료일 설정 VueCookies.config("7d"); // 만료 기간 입력 쿠키 생성 VueCookies.set("키", "값", "만료일[생략 가능]"); VueCookies.set("key", "v..

    JavaScript - Class 작업 (className, classList)

    className 해당 태그의 Class를 문자열로 작업하는 속성 let div_element = getElementById('div_id'); console.log(div_element.className); // 출력 값: class1 class2 // 클래스 전체 변경 div_element.className = "class_name_1"; console.log(div_element.className); // 출력 값: class_name_1 // 클래스 추가 div_element.className += " class_name_2"; console.log(div_element.className); // 출력 값: class_name_1 class_name_2 classList 해당 태그의 Class를 ..

    Vue.js - 컴포넌트 ↔ 컴포넌트 데이터 전송 (props, emit)

    props 상위 컴포넌트의 데이터를 하위 컴포넌트로 전달 emit 다른 컴포넌트에게 이벤트를 전달하기 위해 사용할 수 있다. (하위 컴포넌트 → 상위 컴포넌트 데이터 전달) Composition API: context.emit(event_name, data_value) Vue 2: this.$emit(event_name, data_value) 번외 props 값이 바뀌면 함수 실행 참고 링크 1: https://v3.ko.vuejs.org/guide/component-props.html Props | Vue.js Props 이 페이지는 여러분이 이미 컴포넌트 기초를 읽었다고 가정하고 쓴 내용입니다. 컴포넌트가 처음이라면 기초 문서를 먼저 읽으시기 바랍니다. Prop 타입 이제까지는 문자열 배열로 나열 된..