День 55. Actions на Cpp: клиент, feedback, отмена. И проблема.
Сегодня добил клиентскую Action-ноду на Cpp. Расширил функционал: обработка всех исходов - ACCEPTED/REJECTED/ABORTED. Настроил Feedback, чтобы клиент получал промежуточный статус по ходу выполнения. И главное - настроил отмену задачи (а также заодно настроил MultiThreadedExecutor и Reentrant группу коллбэков).
Но ближе к концу дня случилось неприятное.
Я снова почувствовал себя обезьянкой, которая просто печатает с листа. Логика отмены цели (cancelling the goal) содержит столько ссылок, указателей и внутренних вызовов класса, что к концу я честно запутался. Не в синтаксисе - в том, почему каждая строчка стоит именно там и именно в таком порядке. Знакомое чувство, когда проходил Cpp поверхностно.
Но я не отчаиваюсь.
План на завтра:
Заглянуть в курс по Cpp - обновить память по указателям, ссылкам и владению.
Доделать goal policies для Cpp ноды, но уже осознанно.
И во всеоружии приступить к промежуточному проекту курса по ROS 2.
Обезьянка - это не приговор, это сигнал, что пора вернуться к фундаменту. Ровно то, о чём я писал в начале блога: дни закладки фундамента так же важны, как дни громких побед.
Итог: Actions на Cpp почти закрыты. Отмена - пока со скрипом, но я знаю, куда копать.
#ROS2 #robotics #C++ #executors #UnitreeG1 #careerchange
Просмотры: 19