본문으로 건너뛰기

TAG

#ros2_control

이 태그가 붙은 기사를 모았습니다. 태그는 AI 분류 단계에서 자동으로 붙고, 검수를 통과한 항목만 노출됩니다.

4건
Digital Buggu / Pexels
ROS Discourse

ros2_control의 문자열 커맨드·상태 인터페이스 지원 논의

ros2_control 커뮤니티에서 문자열(string) 타입의 커맨드·상태 인터페이스를 프레임워크 차원에서 지원해야 한다는 의견이 GitHub 이슈로 제기되었다. 펌웨어 버전, 체크섬, 배터리 시리얼 번호 같은 문자열 데이터를 하드웨어 장치에서 읽어야 하는 실제 사례가 이미 존재한다. 기존 `control_msgs/msgs/GenericHardwareStatus`가 일부 경우를 처리할 수 있으나, 문자열을 기존 메시지 형식에 매핑해야 하는 상황은 충분히 다루지 못한다는 것이 제기자의 주장이다. 포맷된 문자열로 하드웨어에 커맨드를 전송해야 했던 사례도 보고되었다. 실시간(real-time) 제약이 걸림돌이 될 수 있지만, 동일한 데이터 경로를 활용하는 것이 구조적으로 일관성이 있다는 논거가 제시된다.

큐레이터현재 GitHub 이슈 단계의 의견 수렴이므로 API 변경이나 채택 여부는 확정되지 않았으며, 실시간 루프 내 동적 메모리 할당 문제 등 구현 난이도에 대한 논의가 뒤따를 것으로 보인다.

cottonbro studio / Pexels
ROS Discourse

ros2_control 브레이킹 체인지: 지원 중단된 Handle/export API 제거

ros2_control 6.12.0이 Jazzy 버전부터 지원 중단(deprecated) 예정이었던 Handle 및 export 관련 API를 실제로 제거했다. 이 변경은 Lyrical과 Rolling 배포판에 이미 반영됐으며, 다음 패키지 동기화 시점에 사용자에게 전달된다. hardware_interface 또는 controller_interface에서 지원 중단 경고가 발생하는 패키지는 동기화 이후 빌드에 실패할 가능성이 높다. Jazzy와 Kilted 배포판은 영향을 받지 않으며, 해당 버전에서는 하위 호환성을 위해 기존 API가 유지된다. 제거되는 주요 항목은 원시 포인터(raw pointer) 방식의 StateInterface/CommandInterface 생성자와 레거시 export_state_interfaces()/export_command_interfaces() 함수다.

큐레이터Rolling 또는 Lyrical 기반 하드웨어 컴포넌트·컨트롤러 패키지를 관리하는 개발자는 다음 동기화 전에 마이그레이션 노트(PR ros2_control#3610)를 확인해야 빌드 실패를 예방할 수 있다.

Markus Spiske / Pexels
ROS Discourse

RoboStacker: 로봇을 설명하면 ROS 2 스택과 빌드 작업공간을 자동 생성하는 도구

RoboStacker는 ROS 2 기반 로봇의 소프트웨어 스택을 자동으로 구성해 주는 무료 웹 도구다. 사용자가 로봇의 베이스, 센서, 컴퓨터, 동작 목적을 입력하면 필요한 ROS 2 패키지 목록과 구동 순서, URDF/xacro 모델, ros2_control·확장 칼만 필터(EKF)·Nav2 설정 파일, 런치 파일이 포함된 작업공간을 내려받을 수 있다. 창고 로봇, 야외 로버(스키드스티어·애커만), 드론(PX4/ArduPilot 동반 컴퓨터), 로봇 팔(베타)을 지원하며 ROS 2 Humble·Jazzy 배포판에 대응한다. 생성된 설정은 코드 변경 시마다 자동 빌드·테스트되고, 바퀴형 로봇은 시뮬레이션 환경에서 Nav2를 통해 주행 검증이 수행된다. 계정 없이 무료로 이용할 수 있으며 현재 커뮤니티 피드백을 수집 중이다.

큐레이터제작자가 ROS Discourse에 직접 올린 피드백 요청 게시물로, 독립적인 빌드 성공률이나 비교 데이터는 포함되어 있지 않아 실제 사용 경험은 직접 확인이 필요하다.

hitesh choudhary / Pexels
ROS Discourse

[GSoC 2026] ros2_control을 위한 Physical AI 추론 및 궤적 업스케일링

ACT·확산 정책(diffusion policy)·시각-언어-행동 모델(VLA) 등 학습 기반 조작 정책은 20~50 Hz로 관절 목표값을 출력하고 50~500 ms마다 재계획하지만, 하드웨어 제어 사이클은 500 Hz~2 kHz의 명령을 필요로 한다. 희소 경유점을 그대로 전달하면 새 경유점마다 속도 불연속과 가속도 급등이 발생한다. 이 GSoC 2026 프로젝트는 ros2_controllers 내에서 이 간격을 세 단계로 해소하는 구현을 제출했다. 궤적 교체 블렌딩 개선을 통해 기존 JTC(Joint Trajectory Controller)가 새 궤적 수신 시 이전 궤적을 즉시 폐기하던 방식을 변경, 두 궤적을 수신 시점에 접합(prefix·bridge·suffix)하는 방식으로 대체했다. 전체 구현은 7자유도 AgileX Nero 로봇에서 하드웨어 실증으로 검증됐다.

큐레이터검증이 7자유도 AgileX Nero 단일 플랫폼에서만 이뤄졌으므로, 다른 자유도 구성이나 하드웨어에서의 블렌딩 안정성은 별도 확인이 필요하다; GSoC 제출물인 만큼 ros2_controllers 메인라인 병합 여부는 이후 리뷰 과정에 달려 있다.