1. def myhook():
  2. print "shutdown time!"
  3. rospy.on_shutdown(myhook)


  1. rospy.signal_shutdown(reason)
  • 初始化节点关闭
  • reason 为关闭理由,字符串内容。

例子:

  1. #!/usr/bin/env python
  2. import rospy
  3. import math
  4. import sys
  5. from tf import transformations
  6. from geometry_msgs.msg import PoseWithCovarianceStamped
  7. class PoseSetter(rospy.SubscribeListener):
  8. def __init__(self, pose):
  9. self.pose = pose
  10. def peer_subscribe(self, topic_name, topic_publish, peer_publish):
  11. p = PoseWithCovarianceStamped()
  12. print("hh")
  13. p.header.frame_id = "map"
  14. p.pose.pose.position.x = self.pose[]
  15. p.pose.pose.position.y = self.pose[]
  16. (p.pose.pose.orientation.x,
  17. p.pose.pose.orientation.y,
  18. p.pose.pose.orientation.z,
  19. p.pose.pose.orientation.w) = transformations.quaternion_from_euler(, , self.pose[])
  20. p.pose.covariance[*+] = 0.5 * 0.5
  21. p.pose.covariance[*+] = 0.5 * 0.5
  22. p.pose.covariance[*+] = math.pi/12.0 * math.pi/12.0
  23. peer_publish(p)
  24. print("ll")
  25. rospy.signal_shutdown("closed!")
  26.  
  27. x=True
  28. print("dd")
  29. pose = [-9.983256,-2.641909,-1.201580]#x,y,a
  30. rospy.init_node('pose_setter', anonymous=True)
  31. if(x):
  32. print("tt")
  33. pub=rospy.Publisher("initialpose", PoseWithCovarianceStamped,PoseSetter(pose),queue_size=)
  34. x=False
  35. else:
  36. print("x=False")
  37. print("ff")
  38. rospy.spin()
  39. print("pp")

python ros 关闭节点的更多相关文章

  1. python ros 创建节点订阅robot_pose

    建立文件夹hello_rospy,再在该目录下建立子目录src,cd到该src目录,运行如下命令创建工作包 catkin_create_pkg beginner_tutorials std_msgs ...

  2. 理解ROS的节点(NODE)

    经过前面的学习,我们已经知道了如何构建一个ROS的包,这篇博客将介绍ROS中的节点的概念. 在继续之前,请按ctrl+alt+t打开一个终端,在里面输入: sudo apt-get install r ...

  3. ROS 进阶学习笔记(13) - Combine Subscriber and Publisher in Python, ROS

    Combine Subscriber and Publisher in Python, ROS This article will describe an example of Combining S ...

  4. [Flex] 组件Tree系列 —— 打开和关闭节点

    mxm: <?xml version="1.0" encoding="utf-8"?> <!--功能描述:打开和关闭节点--> < ...

  5. ROS向节点传递参数

    ROS的节点有很多中调用方式,包括rosrun,launch,直接运行等,向节点内传递参数的方式也有很多. 1. rosrun + 参数服务器传递 ros::init(argc, argv, &quo ...

  6. Python - 记录我开始学习Python的时间节点

    记录我开始学习Python的时间节点 2019-09-22 从明天开始我要开始学习Python了,坚持学习.坚持写博客,慢慢积累. 结合实例项目,最好能把目前在做的项目用Python实现. 加油!

  7. (六)ROS话题---节点之间通信的方式

    1. 理解 ROS 话题: (Ctrl+Alt+T 打开一个新终端) 运行下面的命令: $ roscore (Ctrl+Alt+T 打开一个新终端) $ rosrun turtlesim turtle ...

  8. python ros topic demo

    发布者: #!/usr/bin/env python #coding=utf- import rospy from std_msgs.msg import String def talker():   ...

  9. python ros 订阅imu数据,实时显示欧拉角

    #!/usr/bin/env python # -*- coding: utf- -*- import rospy import math from sensor_msgs.msg import Im ...

随机推荐

  1. Build-in Function:abs(),all(),any(),assii(),bin(),issubclass(),bytearray(),isinstance()

    print('abs():输出绝对值,是absolute的缩写--------------') print(abs(-1)) print('all()与any()------------------- ...

  2. [LeetCode] 496. Next Greater Element I_Easy tag: Stack

    You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of n ...

  3. [LeetCode] 122. Best Time to Buy and Sell Stock II_Easy tag: Dynamic Programming

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  4. selenium webdriver处理浏览器Cookie

    有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的.WebDriver 提供了操作Cookie 的相关方法可以读取.添加和删除cook ...

  5. 017-linux正则表达式

    一.单字符表示:1.特定字符:某个具体的字符. '1' 'a' '\.'2.范围内单个字符:单个字符[] [0-9] [259] [a-z] [abc] [A-Z] [ABC] [a-zA-Z] [, ...

  6. 009-hostname与/etc/hosts区别

  7. C++ 简明教程

    C++是一种系统编程语言.用它的发明者, Bjarne Stroustrup的话来说,C++的设计目标是: 成为“更好的C语言” 支持数据的抽象与封装 支持面向对象编程 支持泛型编程 C++提供了对硬 ...

  8. linux常用命令:diff 命令

    diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...

  9. Linux基础命令---more

    more 将内容较长的文本文件内容分屏显示,支持定位关键字.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法         ...

  10. Linux基础命令---sort

    sort 以行为单位,对文本文件进行排,并输出排序结果.默认情况下,以每一行为一个单位,从首字符开始按照ASCII码向后逐个比较. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS ...