ROS
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) 정확하게 정의된 용어가 아니..