2024/11 15

[ROS2] Tutorial Intermediate - Creating an action

Creating an actionTaskDefining an actionAction은 .action파일에서 정의된다.# Request---# Result---# Feedback action은 ---로 구분된 3가지 메세지 정의로 이루어져있다.request message는 새로운 목표를 시작할 때 server에게 client가 보내는 것이다.result message는 목표를 끝냈을 때, client에게 server가 보내는 것이다.feedback message는 주기적으로 client에게 server가 목표에 대한 정보를 update하는 것이다. 피보나치수열을 계산하는 'Fibonacci'라는 새로운 action을 정의해보자.action_tutorials_interfaces 패키지 안에 action 경로..

ROS2 2024.11.16

[ROS2] Tutorial Intermediate - Managing Dependencies with rosdep

Managing Dependencies with rosdepWhat is rosdep?rosdep은 패키지와 외부 라이브러리가 함께 작동되도록 dependency를 관리하는 유틸리티이다. 패키지를 build하거나 install하는 dependency를 구분하고 설치하기 위한 유틸리티이다.rosdep은 그 자체로 패키지를 관리하지 않는다. 특정 플랫폼을 설치하기 위한 적절한 패키지를 찾기 위해 자신이 가지고 있는 dependency를 사용하는 meta  패키지 관리인이다.실제 설치는 시스템 패키지 관리인(apt, dnf 등)을 사용한다.워크스페이스를 빌딩하기 전에 가장 많이 호출되며, 워크스페이스 안에 있는 패키지에 대한 dependency를 설치하는데 사용된다.하나 또는 여러개의 패키지가 있는 디렉토리에..

ROS2 2024.11.16

[ROS2] Tutorial Beginner : Client libraries - Using ros2doctor to identify issues

Using ros2doctor to identify issuesBackgroundros2 code를 작성했는데 구현되지 않는다면 ros2doctor tool을 이용하여 확인할 수 있다.ros2doctor는 platform, version, network, environment, running systems, warns(errors, reasons for issues) 등 모든 방면에서 확인 가능하다. Tasksros2doctor를 실행해보면 setup module을 확인 후 warnings, errors를 return 해준다.필자의 경우 튜토리얼 진행했던 폴더에서 실행했을 때 총 5가지를 체크하고 UserWarning이 출력되었다.ros2 doctor UserWarning은 큰 문제가 있는 것은 아니고 ..

ROS2 2024.11.08

[ROS2] Tutorial Beginner : Client libraries - Using parameter in a class(Python)

Using parameter in a class(Python)Backgroundlaunch file에 parameter를 추가해주곤 해야 하는데 해당 tutorial을 통해 어떻게 parameter를 생성하고 launchfile에 세팅하는지 알아보자. TasksCreate a package# ros2_ws/srcros2 pkg create --build-type ament_python --license Apache-2.0 python_parameters --dependencies rclpy--dependencies는 package.xml나 CMakeLists.txt에 dependency를 자동으로 추가해준다. package.xml에 description, maintainer, license에 대한 정보는..

ROS2 2024.11.08

[kurbernetes] ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/.local'Check the permissions.

학교에서 대학원생들에게 공용으로 사용할 수 있도록 GPU서버를 kubernetes이용해 제공해준다.이 때 내가 만든 image가 아닌 공식배포된 docker image를 이용하여 conatainer 내에 requirements.txt 를 설치하려고 하니 아래의 오류가 뜨면서 설치가 되지 않는다.아마 학교측에서 무분별한 설치를 방지하기 위해 제한을 걸어놓은 듯하다.(docker를 사용하기 전에는 설치가 잘 됐던 것 같은데 이부분은 의아하다.)ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/.local'Check the permissions. 따라서 contatiner 내에서 가상환경을 설정하여 거기서 작..

TIL 2024.11.01