美文网首页
01-ROS入门-11 订阅发布自定义消息--数组

01-ROS入门-11 订阅发布自定义消息--数组

作者: joey_zhou | 来源:发表于2016-06-08 16:31 被阅读1691次

    1. 建立自定义消息

    vim ~/ws/src/package/msg/mymsg.msg

    int64[] mymsg
    

    2. 配置CMake文件

    vim ~/ws/src/package/CMakeLists

    find_package(catkin REQUIRED COMPONENTS  roscpp  rospy  std_msgs message_generation)
    generate_messages(  DEPENDENCIES  std_msgs)
    add_message_files(  FILES  mymsg.msg)
    

    3. 编写程序

    vim ~/ws/src/package/src/talker.py

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import rospy
    from exam0301.msg import num
    
    rospy.init_node('talker',anonymous=1)
    pub=rospy.Publisher('chatter',num,queue_size=10)
    while not rospy.is_shutdown():
        rospy.loginfo('i am sending message')
        rate=rospy.Rate(1)
        dd=[1,2,4,5,6,8]
        pub.publish(dd)
        rate.sleep()
    

    vim ~/ws/src/package/src/listener.py

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import rospy
    from exam0301.msg import num
    
    def callback(data):
        print(data.num)
        print'i recieve:',(data.num)[1::2]
    
    if __name__=='__main__':
        rospy.init_node('listener',anonymous=0)
        rospy.Subscriber('chatter',num,callback)
        rospy.spin()
    

    4. 编译运行

    chmod +x ~/ws/src/package/src/talker.py
    chmod +x ~/ws/src/package/src/listener.py
    cd ~/wa/src/package/ | catkin_make

    注:更改了msg或srv类型之后一定要cmake,否则会失效。
    rosrun ~~~~~~~~

    相关文章

      网友评论

          本文标题:01-ROS入门-11 订阅发布自定义消息--数组

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