rosserial_arduino这个包,包括了可以在arduino上产生时间戳的一个库,这个时间和运行roscore实例的PC或者是平板上的时间是同步的。下面使用一个例子来演示一下如何访问时间,并且发布一个TF变换。打开一个终端,运行arduino IDE:
选择File->Examples->ros_lib->TimeTF,打开的代码如下所示:
arduino
选择File->Examples->ros_lib->TimeTF,打开的代码如下所示:
/*
* rosserial Time and TF * Publishes a transform at current time
*/
#include <ros.h>
#include <ros/time.h>
#include <tf/transform_broadcaster.h>
ros::NodeHandle nh;
geometry_msgs::TransformStamped t;
tf::TransformBroadcaster broadcaster;
char base_link[] = "/base_link";
char odom[] = "/odom";
void setup()
{
nh.initNode();
broadcaster.init(nh);
}
void loop()
{
t.header.frame_id = odom;
t.child_frame_id = base_link;
t.transform.translation.x = 1.0;
t.transform.rotation.x = 0.0;
t.transform.rotation.y =