|
@@ -54,7 +54,7 @@ public:
|
|
// 构造函数,有一个参数为节点名称
|
|
// 构造函数,有一个参数为节点名称
|
|
TopicPublisher01(std::string name) : Node(name)
|
|
TopicPublisher01(std::string name) : Node(name)
|
|
{
|
|
{
|
|
- RCLCPP_INFO(this->get_logger(), "大家好,我是%s.", name.c_str());
|
|
|
|
|
|
+ RCLCPP_INFO(this->get_logger(), "%s节点已经启动.", name.c_str());
|
|
}
|
|
}
|
|
|
|
|
|
private:
|
|
private:
|
|
@@ -64,7 +64,7 @@ private:
|
|
int main(int argc, char **argv)
|
|
int main(int argc, char **argv)
|
|
{
|
|
{
|
|
rclcpp::init(argc, argv);
|
|
rclcpp::init(argc, argv);
|
|
- /*产生一个的节点*/
|
|
|
|
|
|
+ /*创建对应节点的共享指针对象*/
|
|
auto node = std::make_shared<TopicPublisher01>("topic_publisher_01");
|
|
auto node = std::make_shared<TopicPublisher01>("topic_publisher_01");
|
|
/* 运行节点,并检测退出信号*/
|
|
/* 运行节点,并检测退出信号*/
|
|
rclcpp::spin(node);
|
|
rclcpp::spin(node);
|
|
@@ -161,7 +161,7 @@ class TopicPublisher01 : public rclcpp::Node
|
|
|
|
|
|
- 消息接口上面我们已经导入了,是`std_msgs/msg/string.h`。
|
|
- 消息接口上面我们已经导入了,是`std_msgs/msg/string.h`。
|
|
- 话题名称(topic_name),我们就用`control_command`。
|
|
- 话题名称(topic_name),我们就用`control_command`。
|
|
-- Qos,Qos支持直接指定一个数字,这个数字对应的是`KeepLast`队列长度。一般设置成10,即如果一次性有100条消息,默认保留最新的10个(90-100)其余的都扔掉。
|
|
|
|
|
|
+- Qos,Qos支持直接指定一个数字,这个数字对应的是`KeepLast`队列长度。一般设置成10,即如果一次性有100条消息,默认保留最新的10个,其余的都扔掉。
|
|
|
|
|
|
接着我们可以编写发布者的代码了。
|
|
接着我们可以编写发布者的代码了。
|
|
|
|
|
|
@@ -290,7 +290,7 @@ ros2 run example_topic_rclcpp topic_publisher_01
|
|
# 查看列表
|
|
# 查看列表
|
|
ros2 topic list
|
|
ros2 topic list
|
|
# 输出内容
|
|
# 输出内容
|
|
-ros2
|
|
|
|
|
|
+ros2 topic echo /command
|
|
```
|
|
```
|
|
|
|
|
|

|
|

|
|
@@ -327,7 +327,7 @@ private:
|
|
int main(int argc, char **argv)
|
|
int main(int argc, char **argv)
|
|
{
|
|
{
|
|
rclcpp::init(argc, argv);
|
|
rclcpp::init(argc, argv);
|
|
- /*产生一个的节点*/
|
|
|
|
|
|
+ /*创建对应节点的共享指针对象*/
|
|
auto node = std::make_shared<TopicSubscribe01>("topic_subscribe_01");
|
|
auto node = std::make_shared<TopicSubscribe01>("topic_subscribe_01");
|
|
/* 运行节点,并检测退出信号*/
|
|
/* 运行节点,并检测退出信号*/
|
|
rclcpp::spin(node);
|
|
rclcpp::spin(node);
|
|
@@ -395,7 +395,7 @@ private:
|
|
speed = 0.2f;
|
|
speed = 0.2f;
|
|
}
|
|
}
|
|
RCLCPP_INFO(this->get_logger(), "收到[%s]指令,发送速度 %f", msg->data.c_str(),speed);
|
|
RCLCPP_INFO(this->get_logger(), "收到[%s]指令,发送速度 %f", msg->data.c_str(),speed);
|
|
- };
|
|
|
|
|
|
+ }
|
|
};
|
|
};
|
|
```
|
|
```
|
|
|
|
|