본문 바로가기

전체 글

(45)
[Ubuntu] PXE + UEFI autoinstall 설정 DHCP Server 구성 isc-dhcp-server 설치 sudo apt install isc-dhcp-server -y dhcp config setting /etc/dhcp/dhcpd.conf 다음과 같이 수정 option domain-name-servers 8.8.8.8,8.8.4.4; default-lease-time 7200; max-lease-time 14400; /run/kernel-meta-package # The live-server ISO does not contain some of the required packages, # such as ubuntu-desktop or the hwe kernel (or most of their depdendencies). # The system b..
[ROS2] Realsense SDK + ROS humble Package 설치 (Ubuntu 22.04) Realsense SDK설치 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE sudo add-apt-repository "deb focal main" -u echo "deb impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list sudo apt-get update sudo apt-get i..
[Spring] Spring Security login (jwt) JWT token이란? 간단히 말해서 암호화된 token이다. 좋은 점은 token에 issue time, expire time등을 설정 할 수 있다는 것이다. https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io Spring Security spring Security의 인증 방식은 다음과 같다. Dependency 추가 build.gradle에 다음과 같이 추가한다. import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { val kot..
[ROS2] Navigation2 분석(4) - Custom Controller Custom Controller 앞의 포스팅에서 말했듯이 nav2에서는 controller가 plugin으로 작동하고 있어서 interface만 맞춰서 plugin을 만들면 나만의 Controller를 적용 할 수 있다. 참고 https://navigation.ros.org/plugin_tutorials/docs/writing_new_nav2controller_plugin.html Writing a New Controller Plugin — Navigation 2 1.0.0 documentation 2- Exporting the controller plugin Now that we have created our custom controller, we need to export our controller ..
[ROS2] Navigation2 분석(3) - DWB Controller DWB Controller ros1에서 dwa controller가 좀 더 발전한 형태이며, path를 선정할때 cost를 주는 critic을 plugin으로 변경하여 좀다 다양한 const factor를 만들 수 있다. 참고 page https://github.com/ros-planning/navigation2/tree/foxy-devel/nav2_dwb_controller GitHub - ros-planning/navigation2: ROS2 Navigation Framework and System ROS2 Navigation Framework and System. Contribute to ros-planning/navigation2 development by creating an account on..
[ROS2] Navigation2 분석(2) - Controller Server Controller Sever controller plugin, goal checker plugin과 progress checker를 load한다. 요청에 따라 그에 맞는 controller와 goal checker를 호출하는 역할을 담당한다. progress checker로 현재 로봇이 잘 control 되고 있는지 확인해 준다. Controller Server의 대략적인 흐름도 parameter controller_frequency controller가 robot을 control하게 될 주기이기다. 일반적으로 20 ~ 30hz를 사용한다. progress_checker_plugin parameter를 적는 형식은 다음과 같다. progress_checker_plugin: {PROGRESS_CHECKE..
[ROS2] Navigation2 분석(1) - 소개 Navigation2 / Nav2 기존 ROS1에서 Move base라 불리던 package가 ROS2로 넘어 오면서 Nav2라는 이름으로 변경 되었다. 참고 링크 https://navigation.ros.org/ Nav2 — Navigation 2 1.0.0 documentation Overview The Nav2 project is the spiritual successor of the ROS Navigation Stack. This project seeks to find a safe way to have a mobile robot move from point A to point B. It can also be applied in other applications that involve robot n..
[ROS2] Lifecycle Node(nav2_util/LifecycleNode) Lifecycle Node ROS2에는 rclcpp_lifecycle::LifecycleNode에 기본적으로 lifecycle을 관리할 수 있게 해 놓았다. 하지만 관리해주는 코드를 직접 작성해야 하는 수고가 추가 적으로 있어서 ROS2의 Navigation package인 nav2에 만들어져 있는 nav2_util::LifecycleNode를 소개한다. Lifecycle Node의 기능 Lifecycle은 node의 상태를 관리할 수 있게 해준다. Lifecycle이 관리하는 node의 상태는 다음과 같다. configure : 노드를 생성할 때 필요한 상태 activate: 노드가 실행될 때 필요한 상태 deactivate: 노드가 중지 될 때 필요한 상태 cleanup: 노드를 처음 생성할 당시로 ..