Python中的ROS 发行人的模板

我不喜欢记住定义,方法,过程等,但是我想找到解决方法来帮助我实现最终目标。

在ROS中,几乎每次都重复一个简单节点的结构。为了尽可能轻松地编写Publisher节点,我’已经制作了一个模板,您可以根据需要进行修改。

下面的模板代表用Python编写的ROS 发行人节点。您要做的就是将模板复制到‘. py ’文件中,删除多余的文本并用大写字母替换该文本。

Python中的ROS 发行人的模板

Python中的ROS 发行人模板(图片来源)



我使用上面的模板制作了一个ROS节点,该节点生成一个介于0和5000之间的随机数。

要运行上述节点,请导航到.py文件并使其可执行。该命令是:

该文件可执行后,您可以运行该节点。

Step 1:打开一个新的终端并运行命令:

Step 2:打开一个新的终端并使用以下命令运行节点:

5条评论 » Write a comment

  1. 嗨,来自加拿大,谢谢您的指导!

    关于您的示例Python脚本来生成随机数,
    如果我打开一个新终端并使用Python运行它,则效果很好:
    “gary @ gary-VirtualBox:〜$ py thon-for-ros-publisher-example01.py
    [INFO] [1517249692.759530]:生成的数字低于2500:599
    [INFO] [1517249692.761242]:生成的数字低于2500:1966
    [INFO] [1517249692.761691]:生成的数字高于2500:3456”

    但是在使其可执行后:chmod u + x template-for-ros-publisher-example01.py
    我打开一个新终端并使用rosrun,但收到以下错误:
    “gary @ gary-VirtualBox:〜$ 罗斯伦 template-for-a-ros-publisher-example01.py
    用法:rosrun [–prefix cmd] [–调试]可打包执行[商品]
    罗斯伦将找到“包装”并尝试查找
    PACKAGE树中名为EXECUTABLE的可执行文件。
    如果找到它,它将与ARGS一起运行。”

    我究竟做错了什么?我的新ROS环境可以使用turtlesim正常工作:
    例:
    “gary @ gary-VirtualBox:〜$ 罗斯伦 turtlesim turtle_teleop_key
    从键盘读取
    —————————
    使用箭头键移动乌龟。”

    非常感谢Gary

  2. 嘿,非常感谢本教程

    我的问题是如何使用模板将ROS节点(从cmd_vel中)的值导出到Arduino?
    我知道如何在Arduino上编写订阅内容,但不确定发布者。

    再次感谢

  3. 您好,您能帮我吗,我有六个节点,第一个节点应该向其他节点发布几个随机图,然后其他节点提取一些信息并相互发送此信息。当第一个节点仅发布一个图形时,一切都很好,但是当它发布多个图形时,就会发生问题。某个节点没有机会接收从第一个节点发布的所有图形?我尝试了rospy.sleep(15),但问题没有解决

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *