ROS+mbed 发布tf里程信息

Posted Montauk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS+mbed 发布tf里程信息相关的知识,希望对你有一定的参考价值。

#include "mbed.h"
#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";

int main() {
    nh.initNode();
    broadcaster.init(nh);


    while (1) {
        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 = 0.0;
        t.transform.rotation.z = 0.0;
        t.transform.rotation.w = 1.0;
        t.header.stamp = nh.now();
        broadcaster.sendTransform(t);
        nh.spinOnce();
        wait_ms(100);
    }
}

 

用rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 运行ROS端节点

查看tf:

 rosrun tf tf_echo odom base_link

 

以上是关于ROS+mbed 发布tf里程信息的主要内容,如果未能解决你的问题,请参考以下文章

ROS之STM32来啦

ROS+mbed 订阅者

ROS mbed-os mbed-cli 本地编译

ROS + STM32 + mbed

markdown ros_mbed

ROS机器人底盘(23)-IMU和里程计融合与单独编码器里程计的对比测试