Задание
- Написать программу, передающую черепашке команду на движение по заданной траектории. Файл с кодом необходимо назвать lab1.cpp и расположить в папке src/
Краткое пояснение к заданию
У объекта класса NodeHandle
ros::NodeHandle <node_handle_name>;
есть метод, реализующий механизм отправки сообщений в топик с именем <topic_name>.
Это делается при помощи команды
ros::Publisher <publisher_name> = <node_handle_name>.advertise<msg_type>("<topic_name>",<size>);
где <topic_name> это имя топика, через который будут общаться publisher и subscriber; а <size> - размер буфера сообщений (а треугольные скобочки после advertize - это конкретизация шаблонной функции).
В данном случае имя топика можно получить, узнав, на какой топик подписан turtlesim_node. Тип сообщения можно узнать, выведя информацию о топике. Команды для этого:
rosnode list rosnode info <node_name> rostopic info <topic_name>
Информацию о том, из каких полей состоит сообщение можно узнать командой
rosmsg show <msg_type>
В тексте программы необходимо создать объект класса <msg_type> и наполнить его содержимым. Информативными являются поля msg.linear.x и msg.angular.z. Остальные поля сообщения не учитываются при обработке.
После того, как сообщение сформировано, его можно отправить в топик командой
<publisher_name>.publish (msg)