ROS学习(一)工作空间,功能包,节点

本文主要介绍建立一个功能包,一个publisher结点,实现话题的发布。

一工作空间

       1创建所需的文件夹

          mkdir ros

          cd ros

          mkdir src

        2工作空间的初始化

          cd src

          catkin_init_workspace

        3编译工作空间

           cd ..(在ros文件夹下)

           catkin_make   

          

二功能包and结点

        1 创建功能包

           在src文件夹下catkin_create_pkg print_pkg roscpp rospy std_msgs //功能包名加依赖包

        2创建结点

          在print_pkg 下的src文件夹下创建 print_node.cpp结点

        3配置CMakeLists.txt文件(功能包下的)

add_executable(print_node src/print_node.cpp)
target_link_libraries(print_node
   ${catkin_LIBRARIES})

         4将此功能包添加到环境变量中去(理解可能不对)

          gedit ~/.bashrc

          在末尾加入source /home/zp/ros/devel/setup.bash(此为工作空间ros/devel/setup.bash路径),可以用pwd查看

三 话题发布者

#include <ros/ros.h>
#include <std_msgs/String.h>
int main(int argc, char  *argv[])
{
    ros::init(argc,argv,"print_node");//节点初始化
    ros::NodeHandle nh; //创建一个句柄
    ros::Publisher  pub= nh.advertise<std_msgs::String>("love",10);  //创建一个话题发布者,love为话题名,10为缓冲区大小
    printf("hello world\n");
    ros::Rate loop_rate(10);  //10hz 变量
    while(ros::ok)
    {   
             std_msgs::String msg; //定义string  消息msg
             msg.data="i once loved sx"; //消息内容
             pub.publish(msg);       //发布消息
             loop_rate.sleep(); //10hz频率发布
    }
    return 0;
}

四 运行

        1编译工作空间 在ros下 catkin_make

        2启动ros roscore

        3新建一个终端 运行节点

                rosrun print_pkg print_node

  

       

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值