Создание Издателя
Рассмотрим пример программы Издателя, который публикует из Arduino в топик chatter
текстовое сообщение "hello world!"
#include <ros.h>
#include <std_msgs/String.h>
class NewHardware : public ArduinoHardware
{
public:
NewHardware():ArduinoHardware(&Serial1, 115200){};
};
ros::NodeHandle_<NewHardware> nh;
std_msgs::String str_msg;
ros::Publisher chatter("chatter", &str_msg);
char hello[13] = "hello world!";
void setup()
{
nh.initNode();
nh.advertise(chatter);
}
void loop()
{
str_msg.data = hello;
chatter.publish( &str_msg );
nh.spinOnce();
delay(1000);
}
Один из важных частей в примере, это блок в котором мы настраиваем библиотеку для работы через порт Serial1
и устанавливаем скорость работы 115200
. Если указать неправильный порт или скорость, подключения не будет.
class NewHardware : public ArduinoHardware
{
public:
NewHardware():ArduinoHardware(&Serial1, 115200){};
};
ros::NodeHandle_<NewHardware> nh;
Загрузим скетч на платуArduino
.
После загрузки, зайдем на Raspberry и посмотрим, появился ли созданный топик:
rostopic list
Также мы можем вывести в терминал сообщение из топика:
rostopic echo /chatter
Last updated
Was this helpful?