오픈소스가 많이 배포되어 있다.
하드웨어 모듈 + 운영체제 + 앱(서비스) + 유저 = 대중화 시킬수 있는 ecosystem
옛날에는 한 회사에서 모든 생태계의 요소들을 만들었지만, 요즘은 생태계 속 보이지 않는 분업을 하고 있다.
(하드웨어: 삼성전자 운영체제: 구글 or 애플 앱: IT 및 스타트업 기업들)
그렇다면, 로봇 분야는 어떨까. 아직 부족... 다 하려고 한다.
로봇 운영체제
→ open source 기반의 ROS, 마치 Android 운영체제의 느낌 - 느슨한 결합
→ 처음부터 틀을 만드는데 힘을 쓰지말고, 통일성과 호환성을 제공하는 ROS 툴을 이용하자.
→ 모듈형 하드웨어 플랫폼 확산 / 소프트웨어 인력들이 로보틱스 분야로 진입 / 유저에게 제공할 서비스에 집중
ubuntu 18.04를 사용하고 있으므로, ROS melodic을 설치해야 한다.
아래의 공식 wiki를 참고하는 것이 제일 정확하다.
http://wiki.ros.org/Installation/Ubuntu
source.list 를 setup 후 key setup
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt install curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
apt update 후 ros-melodic 설치 (full ver.)
sudo apt update sudo apt install ros-melodic-desktop-full
먼저 setup.sh를 source 하고, 작업폴더 및 그안에 src 폴더를 만들어서 workspace를 초기화해줌.
(이걸 안하면 패키지 이름도 안뜬다... 개헤맸다 ㅠ)
$ source /opt/ros/melodic/setup.sh $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ catkin_init_workspace
catkin_pkg PYTHONPATH 오류는 해당 디렉터리에 PYTHONPATH를 직접 추가해줌으로써 해결
https://stackoverflow.com/questions/43024337/why-this-error-when-i-try-to-create-workspaces-in-ros
~/catkin_ws$ export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
enum34 오류는 pip install python3-pip를 통해 해결 (python3가 설치되지 않아서 그랬음)
~/$ pip install python3-pip pip uninstall -y enum34
이후 setup.bash를 폴더 안의 devel에 있는 걸로 설정하고,
catkin_create_pkg 패키지_이름을 하게되면 ROS package가 생성됨
$ source devel/setup.bash $ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
마지막으로 catkin workspace에 패키지를 빌드하면...
$ cd ~/catkin_ws $ catkin_make
task를 수행하기 위한 single executable file 단위
다른 node와 topic을 주고받으면서 소통 가능
node사이에 소통하기 위해 사용됨
1개의 publisher, N개의 topic & subscribe
topic에 publish되는 메시지를 뜻함
