본문 바로가기

ROS

(16)
[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..
[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: 노드를 처음 생성할 당시로 ..
[ROS2] Install (Ubuntu 20.04, foxy) 환경 Ubuntu 20.04 ros2 foxy 공식 홈페이지 https://docs.ros.org/en/foxy/Installation.html Installation — ROS 2 Documentation: Foxy documentation You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Galactic. Installation Options for installing ROS 2 Foxy Fitzroy: Which install should you choose? Installing docs...
[ROS] Move Base (6) Local Planner 개념 다음 사이트를 참고해서 포스팅 하였다. http://wiki.ros.org/base_local_planner base_local_planner - ROS Wiki kinetic melodic noetic Show EOL distros: EOL distros: electric fuerte groovy hydro indigo jade lunar diamondback: Only showing information from the released package extracted on Unknown. No API documentation available. Please see this page for in wiki.ros.org Local Planner 책임 global path와 local cost map을 확..