ROS 2 43

[ROS2] ollama서버 띄우기

1. ollama/ollama 이미지로 컨터이너를 새로 만들고, 바로 실행하는 명령어이는 cpu only모드이다.-d 옵션은 detached mode를 의미. 이는 터미널을 점유하지 않고, 백그라운드로 실행한다는 것.-v ollama:/root/.ollama는 도커의 named volumes ollama를 컨테이너 내부인 /root/.ollama에 연결.-p는 포트 옵션 -name ollama는 컨테이너 이름을 ollama로 고정 docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 2.실행문은 ollama컨테이너로 진입해서, 그 안에서 ollama run qwen3명령을 실행하는것docker exec 실행중인 ..

ROS 2 12:33:23

rplidar a3m1 연결

1. 우선 lidar 하드웨어를 연결한다.ls /dev/ttyUSB* 2. 포트 권한 설정sudo chmod 666 /dev/ttyUSB0# 또는 dialout 그룹 추가 (로그아웃/로그인 필요)sudo usermod -aG dialout $USER 3. 패키지 클론 및 빌드mkdir rplidarcd rplidarmkdir srccd srcgit clone -b ros2 https://github.com/Slamtec/rplidar_ros.gitcd ~/rplidarcolcon buildsource install/setup.bash 4. 실행ros2 launch rplidar_ros rplidar_a3_launch.py serial_port:=/dev/ttyUSB0 serial_baudrate:=..

ROS 2 2025.07.02

[ROS2_Humble][pkg] depthimage_to_laserscan

이는 ros에서 RGB-D 카메라를 일반적인 2D LaserScan형식으로 바꾸어주는 depthimage_to_laserscan패키지에 대한 내용이다. https://wiki.ros.org/depthimage_to_laserscan depthimage_to_laserscan - ROS Wikimelodic noetic Show EOL distros: EOL distros: fuerte groovy hydro indigo jade kinetic fuerte: Documentation generated on January 07, 2014 at 11:09 AMgroovy: Documentation generated on October 05, 2014 at 11:25 PMhydro: Documen..

ROS 2 2025.06.02

BT Navigator , Planner Server , Controller Server

전체적인 흐름1. BT Navigator가 목적지로 이동하라고 명령을 받으면,2. Planner Server가 전역 경로를 생성하고,3. Controller Server가 해당되는 경로를 따라가도록 실제 속도 명령( cmd_vel )을 만든다.  BT Navigator로봇의 행동 흐름을 제어하는 Behavior Tree 엔진이다.주어진 목표 위치를 기반으로 '경로 계획 -> 추종 -> 목표 도달 확인' 과정을 트리 방식으로 제어한다.로봇이 장애물을 만나면 피하고, 목표에 도달하면 멈추는 등의 논리를 트리 구조로 수행한다.입력목표 위치 ( geometry_msgs/PoseStamped )사용자 명령 ( service or action )출력목표 도달 성공 or 실패중간 상태 피드백 ( 경로 생성됨 , 이동..

ROS 2 2025.03.24

ros2 lifecycle이란?

ros2 lifecycleros2에서 노드의 state(상태)를 명시적으로 관리할 수 있게 도와주는 기능.즉, lifecycle은 '노드의 상태(state) 전환과 관리'를 가능하게 해주는 기능 노드가 단순히 '켜져 있는지'뿐만 아니라, 준비중인지 or 활성화인지 or 종료중인지 등을 알수 있다.또한 상태에 따라서 정확히 언제 어떠한 동작을 해야하는지 제어하는 것이 가능하다.lifecycle node의 주요 특징1. 노드가 시작되면, 'unconfigured'상태에 있다.이때는 ROS 네트워크 설정이나 파라미터 로딩이 이루어지지 않음.노드는 단순히 생성자( constructor )만 실행됨.2. 'inactive' 상태로 전환되면서 on_configure()이 실행된다.이 과정에서 파라미터 설정과 네트워..

ROS 2 2025.03.24

/odom , TF tree

/odom로봇이 현재 어디에 있으며, 어떻게 움직이는지를 나타낸다.즉, 로봇의 상대적인 위치를 제공다시 말하면, 로봇이 초기 위치로부터 상대적으로 얼마나 이동했는지를 나타냄.이는 로봇의 wheel encoder나 IMU sensor 데이터를 가지고 이동을 추정함. ( 시간이 지남에 따라 누적 오차 발생 할 수 있음. )TF 프레임 구조에서 /odom 프레임의 역할보통 /odom은 다른 좌표 프레임과 연결된 경우가 많다..일반적으로 map->odom이라면, global position과 local position을 연결한것. ( slam 같은 것을 사용하면, odom을 지속적으로 보정 가능 )다른 경우는 odom->base_link이다. ( 현재 로봇의 위치를 기준으로 본체( base_link )가 어떻게..

ROS 2/turtlebot4 2025.03.17

ROS2에서 TF란?

1. TF란?transform은 로봇의 여러 좌표계( frames )사이의 위치( position )와 자세( orientation )를 관리하는 시스템이다.로봇들의 부붐,센서,바퀴,환경 지도 등은 각각의 고유한 좌표계( frame )을 가지며, ROS 2의 TF는 이러한 프레임들을 연결해서, 로봇의 동작을 쉽게 계산하게 해준다.TF는 tree구조를 기반으로 동작하며, 각각의 Frame들은 부모-자식 관계를 가진다.TF Tree : 모든 프레임과 그 관계를 트리 형태로 구성한 것Frame : 특정 객체의 좌표계Transform : 두 frame 사이의 위치 및 자세 관계 ( translation + rotation )   2. Frame과 Transform의 개념TF에서 가장 중요한 요소는 프레임과 변환..

ROS 2 2025.03.14

oakd_rgb_camera_optical_frame에러. ( queue is full )

에러 내용[INFO] [1741842334.362150391] [rviz]: Message Filter dropping message: frame 'oakd_rgb_camera_optical_frame' at time 1741842328.424 for reason 'discarding message because the queue is full'  예상되는 원인rviz가 이미지 데이터를 처리하는 속도가 이미지가 들어오는 속도를 못따라감.네트워크가 느려서?    1. 우선 rviz에서 저기 depth가 queue사이즈이다. 이를 50으로 늘려본다...하지만 해결 안됨  2. 토픽이 발행되는지 확인해보자아주 잘되네 ( average rate가 30fps로 송출하고 있음을 확인 )ros2 topic hz /o..

ROS 2/turtlebot4 2025.03.13

ROS2 turtlebot4을 gazebo sim에 띄워보기

apt search ros-jazzy-turtlebot4환경 : ubuntu noble + jazzy + gazebo harmonic 1. 설치sudo apt install ros-jazzy-turtlebot4-simulator# 키보드 이동을 위해서 이것도 미리 설치sudo apt install ros-jazzy-turtlebot4-bringupsudp apt install ros-jazzy-turtlebot4-viz   2.실행ros2 launch turtlebot4_gz_bringup sim.launch.pyros2 launch turtlebot4_gz_bringup turtlebot4_gz.launch.py    3. 한번 토픽들을 봐보자.ros2 topic list  센서 및 상태 관련/batt..

ROS 2 2025.02.23