美文网首页开始的地方
二 发布cmd_vel话题的节点编写

二 发布cmd_vel话题的节点编写

作者: graybook | 来源:发表于2017-11-12 15:52 被阅读0次

1  编写

先建立一个catkin空间

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws

catkin_make

为发布节点单独建立一个包

cd ~/catkin_ws/src

catkin_create_pkg publisher geometry_msgs std_msgs roscpp rospy

在包的src/文件夹下面编写一个publisher.cpp文件,用来向cmd_vel发布话题

#include "ros/ros.h"

#include "std_msgs/String.h"

#include "geometry_msgs/Twist.h"

int main(int argc, char **argv)

     ros::init(argc, argv, "publisher");

     ros::NodeHandle n; 

    ros::Publisher pub = n.advertise("/cmd_vel", 1000);

    ros::Rate loop_rate(10);

    geometry_msgs::Twist msg;

    while (ros::ok())

    {

        msg.linear.x = 0.5;

        msg.linear.y = 0;

        msg.linear.z = 0;

        msg.angular.x = 0;

        msg.angular.y = 0;

        msg.angular.z = 0.5;

        pub.publish(msg);

        ros::spinOnce();

        loop_rate.sleep();

    }

    return 0;

}

修改~/catkin_ws/src/publisher/CMakeList文件

在末尾添加两句

add_executable(publisher src/publisher.cpp)

target_link_libraries(publisher ${catkin_LIBRARIES})

要指定必须构建的可执行目标,我们必须使用add_executable()

其中 publisher为将要构建的可执行文件  后面的路径为存放用于构建可执行文件的代码文件

使用target_link_libraries()函数来指定可执行目标链接的库。

2 编译

完成以上之后 回到工作空间

cd ~/catkin_ws

catkin_make

3 执行

新终端 roscore

新终端如下

source ~/catkin_ws/devel/setup.bash

rosrun  publisher(包名) publisher(生成的可执行文件名)

4 代码

pan.baidu.com/s/1qXIZMlm

相关文章

  • 二 发布cmd_vel话题的节点编写

    1 编写 先建立一个catkin空间 mkdir -p ~/catkin_ws/srccd ~/catkin_ws...

  • ROS通信(海龟模拟器)

    1. 发布海龟速度指令,让海龟圆周运动 创建一个Publisher,发布名为turtle1/cmd_vel的top...

  • ROS 基础学习笔记3——话题/消息/服务/参数

    使用以下命令开启两个节点 话题/Topic ros的topic用于在不同节点之间传输数据,一个话题可以有发布者和订...

  • 一 gazebo环境搭建&使用husky小车

    1 husky小车 该小车订阅了cmd_vel话题 因此可以直接在另一个终端直接用命令: rostopic pub...

  • 面试算法逻辑题

    1、编写程序,编写节点类且有name属性 ,实例化6个节点,A节点和B、C、D有关联,B和E、F有关联,那么编写程...

  • 话题发布~

    每周话题发布: (一)主题词:车票,礼物 关于离别,归家,经历…… 关于偶遇,约定,惊喜…… 可以是故...

  • 【Leetcode】237—Delete Node in a L

    一、题目描述 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。示例: 二...

  • 编写发布博客

    【详细】 →→→ →→→【Hexo搭建独立博客全纪录】(三)使用Hexo搭建博客 1.新建文章 hexo会帮我们在...

  • python-024-镜像二叉树

    给定一颗二叉树,编写算法将其镜像。 例如昨天的二叉树: 镜像后: 每个节点都是交换左右节点,可以用递归,对每一个节...

  • vue的vnode初涉

    使用vue对象的.$createElement方法,编写虚拟节点;

网友评论

    本文标题:二 发布cmd_vel话题的节点编写

    本文链接:https://www.haomeiwen.com/subject/rnznmxtx.html