rosserial_arduino 中文教程4: 在rosserial登录

在rosserial登录

rosserial_arduino 中文教程 专栏
原文:http://wiki.ros.org/rosserial_arduino/Tutorials/Logging

**描述:**本教程一步一步地展示如何使用rosserial的日志记录。

**教程级别:**初学者

**下一个教程:**使用时间和TF

登录中

与任何ROS节点一样,您可以适当详细地记录消息。rosserial将字符串转发到标准ROS网络,并输出到rosout及其日志文件。

如果你在设备连接到ROS之前就记录信息,那些记录的信息将丢失。

请注意,对于低内存系统,这种日志记录非常昂贵。在发送之前,需要将字符串存储在内存中。要获得更多的内存节省日志记录,请尝试使用自定义消息类型来发送信息。然后,您可以使用rostopic echo观察程序的状态。

守则

#include <ros.h>
ros::NodeHandle nh;

void setup()
{
  nh.initNode();
}

void loop()
{
  //wait until you are actually connected
  while (!nh.connected())
  {
    nh.spinOnce();
  }
 
  //Now you can send all of the statements you want
  //to be logged at the appropriate verbosity level
  nh.logdebug("Debug Statement");
  nh.loginfo("Program info");
  nh.logwarn("Warnings.");
  nh.logerror("Errors..");
  nh.logfatal("Fatalities!");
  delay(5000);
}

上传代码

要将代码上载到Arduino,请使用Arduino IDE中的上载功能。这与上传其他草图没有区别。

运行代码

现在,在新的终端窗口中启动roscore:

roscore

接下来,运行rosserial客户机应用程序,将Arduino消息转发给ROS的其余部分。确保使用正确的串行端口:

rosrun rosserial_python serial_node.py /dev/ttyUSB0

您应该能够在用于运行串行节点的同一终端中看到所有日志消息。

进一步阅读

有关发布者和订阅者的更多信息,请参阅rosserial/Overview。
有关更复杂数据类型的信息,请参见限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值