0. 준비

  가. ubuntu 18.04

  나. ros melodic

 

1. roslaunch 실행시 알 수없는 경고 현상

  가. roslaunch 실행시에 아래와 같은 경고가 나타남

    /opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py:470: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  if resource_name in files:

  나. 어떠한 파일에서 경고가 나오는지는 확인할 수 없었음

  다. $HOME/.ros/log/lastest의 로그에서 상세한 로그가 있는지 확인하려 했으나 확인할 수 없었음

  라. 아래와 같은 방식으로 경고가 없어지는지 하나씩 확인함

    1) launch 파일에서 다양한 노드를 실행하고 있었으므로 노드를 하나씩만 실행하여 어떠한 노드가 실행할 때 에러가 발생하는 지 확인, 특정한 노드를 실행할 때 경고가 나타나는 것을 확인함

    2) 경고가 발생한 패키지의 소스코드를 삭제하고 main에 printf하나만 입력하였으나 그래도 경고발생

    3) 해당 패키지의 src에 시험용 소스코드를 여러개 포함하고 있었으므로 이를 이상하다고 여겨, 시험용 디렉토리를 삭제해봄, 경고가 나타나지 않음

 

2. 경고현상 파악 및 해결

  가. src에 시험용 소스코드를 포함한 디렉토리를 삭제함으로 경고현상이 해결됨

  나. 시험용 소스코드가 2개의 디렉토리에 있었는데, 1개의 디렉토리를 삭제하면 경고가 없어졌고, 다른 1개의 디렉토리를 삭제하면 경고가 없어지지 않았음.

  다. 2개의 디렉토리가 가진 다른 점을 확인하였음

  라. 실행권한이 다른 것이 있는 파일 및 한글파일명의 존재유무임

  마. 실행권한은 상관없었음

  바. 한글파일명으로 인한 경고임

    1) 경고에도 unicode가 포함된 것으로 보아 한글 파일명을 영어로 변경

  사. 실행시 이상없음

 

3. ros에서 실행파일과 상관없이 src에 한글파일명이 있는 파일이 존재할 경우 경고가 나타남

1. Jetson developer kit

  가. 상업적으로 사용할 수 있느냐, 비상업적으로 사용해도 되냐의 여부를 가리지 않음

    1) 개발보드는 비생산을 위한 제품(필드에서 사용을 목적으로 하지 않았음)으로 개발되었기때문에, 시험용도나 제품개발 전 용도로 사용할 것을 얘기함

    2) 개발보드는 1인에게 시험 또는 제품개발 전 용도로 라이센스가 부여됨, 다른 이에게 전달할 경우 라이센스가 해제됨

  나. 젯슨 개발보드의 경우 고장이 났을 경우, 상업적으로 사용했으면 nvidia가 젯슨 개발보드의 보증을 제한한다는 의미

    1) 젯슨 개발보드가 고장났을 경우 수리를 해주지 않는다는 것

    2) 개발보드가 고장났을 경우, 상업적으로 사용하는 회사가 개발보드의 수리를 의뢰하지 않고, 다시 재구매해서 상업적으로 사용하면 됨

    3) 결론 : 상업적으로 사용해도 무관하며, 고장났을 경우 회사가 직접 다시 사서 교체하면 됨

 

2. Jetson module

  가. 프로세싱을 위한 모듈로 구성된 모듈임, 상업적 용도로 제작되어 있음

  나. 대신에 캐리어보드는 직접 자작 또는 구매해서 사용해야함

 

3. 기타

  가. Jetson module에는 산업용과 아닌 것이 있는데 산업용은 수명이 10년 아닌 것은 5년으로 보증

 

4. 비교

Operating Lifetime None specified 5 or 10 year operating life in a production environment
Warranty 1 year warranty for development use only 3 year warranty(Unless otherwise specified)
Availability No guarantee of availability.
Order quantities may be limited.
No notice before EOL.
Available for at least 5 years (up to 10).
Built to forecast.
Last Time Buy notice before EOL.
BOM Several components may be non-production quality. Components may change without notification. Production rated components. Any changes are notified via PCN following JEDEC JESD-046 standard.
Validation Basic functional validation in a constrained environment. Full functionality and reliability validation across environmental specification. Tests are listed in datasheet.

0. 준비사항

  가. Ubuntu 18.04

  나. 원문참고

    https://answers.ros.org/question/56264/is-there-a-way-to-adjust-the-build-order-of-a-package-in-catkin-pcl/

 

1. 에러사항

  가. catkin build를 할 경우 패키지 의존성으로 인해 에러가 발생함

  나. 단순 패키지 의존성 에러라면 CMakeLists.txt의 find_package에 필요한 패키지 추가

 

2. 해결

  가. 패키지 빌드시 의존성 패키지가 빌드가 되어 있지 않아서 에러가 발생한 경우라면

  나. package.xml에 <build_depend>의존성패키지</build_depend>를 하면

    의존성 패키지가 빌드된 뒤에 해당 패키지가 빌드됨

0. 준비사항

  가. Ubuntu 18.04

  나. ROS Melodic

 

1. $ rosrun actionlib axclient.py {action_message_name}

  가. ex) $ rosrun action axclient.py /test_action

  나. 토픽 메시지처럼 액션 메시지명의 범위를 정해줘야함

    1) /, ~ 등등

0. 준비사항

  가. Ubuntu 18.04 LTS 및 ROS melodic 사용

 

1. 에러사항

  가. ROS에서 사용자 커스텀 메시지를 생성하였을 경우 빌드 에러가 발생

  나. 몇 번 계속 하다 보면 생성되기도 함

 

2. 해결

  가. CMakeLists.txt를 수정

    1) add_dependencies(__노드파일명__ ${PROJECT_NAME}_generate_messages_cpp)

      가) __노드파일명__ : add_executable에서 사용하는 노드명을 입력

      나) ${PROJECT_NAME} : 그대로 입력

 

3. 이슈사항(일부 해결)

  가. CMakeLists.txt를 수정했는데도 빌드 에러가 생성

    1) 본인의 경우 add_library를 활성화했었음

    2) 본인의 경우 add_library를 사용하지 않아도 되었으므로, 비활성화해서 해결

0. 준비

  가. 새로운 컴퓨터를 Ubuntu 18.04 LTS 및 ROS melodic로 셋업한 사항

    1) 기본만 셋업한 상황, 외부 라이브러리 설치하지 않음

  나. catkin_make 사용하지 않고 catkin build를 사용함

    1) $ sudo apt install python-catkin-tools

 

1. 컴파일

  가. 다른 컴퓨터에서 소스를 가져옴

    1) 나의 경우 기존 컴퓨터에서 사용하던 소스를 가져옴

  나. 새로운 컴퓨터에 소스 복사

    1) $ catkin build

 

2. 에러 케이스 및 해결

  가. CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "serial" with any
  of the following names:
    serialConfig.cmake
    serial-config.cmak

    1) 에러 : 시리얼 장치(COM포트)를 사용하는 패키지에서 발생한 에러

    2) 해결 : $ sudo apt install ros-melodic-serial

  나. CMake Error at /usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:649 (message):
  None of the required 'libusb' found
Call Stack (most recent call first):
  CMakeLists.txt:5 (pkg_search_module)

    1) 에러 : libusb 라이브러리 없음

    2) 해결 : $ sudo apt install libusb-dev

  다. Errors     << mt4n:make /home/kajuha/catkin_ws/logs/mt4n/build.make.000.log
/home/kajuha/catkin_ws/src/mt4n/src/mt4n.cpp:16:10: fatal error: modbus.h: No such file or directory
 #include <modbus.h>

    1) 에러 : modbus 라이브러리 없음

    2) 해결 : $ sudo apt install libmodbus-dev

  라. Errors     << spacenav_node:make /home/kajuha/catkin_ws/logs/spacenav_node/build.make.000.log
/home/kajuha/catkin_ws/src/joystick_drivers/spacenav_node/src/spacenav_node.cpp:40:10: fatal error: spnav.h: No such file or directory
 #include "spnav.h"

    1) 에러 : libspnav 라이브러리(Client library for connecting to 3Dconnexion's 3D input devices) 없음

    2) 해결 : $ sudo apt install libspnav-dev

  마. Errors     << wiimote:make /home/kajuha/catkin_ws/logs/wiimote/build.make.000.log
In file included from /home/kajuha/catkin_ws/src/joystick_drivers/wiimote/src/wiimote_controller.cpp:45:0:
/home/kajuha/catkin_ws/src/joystick_drivers/wiimote/include/wiimote/wiimote_controller.h:49:10: fatal error: bluetooth/bluetooth.h: No such file or directory
 #include <bluetooth/bluetooth.h>

    1) 에러 : 블루투스 라이브러리 없음

    2) 해결 : $ sudo apt install libbluetooth-dev

  바. Errors     << wiimote:make /home/kajuha/catkin_ws/logs/wiimote/build.make.000.log
In file included from /home/kajuha/catkin_ws/src/joystick_drivers/wiimote/src/wiimote_controller.cpp:45:0:
/home/kajuha/catkin_ws/src/joystick_drivers/wiimote/include/wiimote/wiimote_controller.h:52:10: fatal error: cwiid.h: No such file or directory
 #include <cwiid.h>

    1) 에러 : libcwiid 라이브러리 없음

    2) 해결 : $ sudo apt install libcwiid-dev

  사. Errors     << hector_geotiff:cmake /home/kajuha/catkin_ws/logs/hector_geotiff/build.cmake.000.log
qmake: could not find a Qt installation of ''
CMake Error at /usr/share/cmake-3.10/Modules/FindQt4.cmake:1320 (message):
  Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x

    1) 에러 : Qt 라이브러리 없음

    2) 해결 : $ sudo apt install libqt4-dev

+ Recent posts