vscode開發ROS(13)-python實現話題通信(msg)


寫在最前面

1, ros也是可以使用python進行編程的, 而且相比c++來說, ros更加簡單.

使用python創建第一個ROS程序

1, 在ros_test目錄下, 新建一個scripts文件夾.
在這裏插入圖片描述
2, 修改CMakeLists.txt文件, 在find_package中添加rospy

find_package(catkin REQUIRED COMPONENTS
  roscpp
  ... #其他的包
  rospy
  )

3, 在vscode的終端中執行catkin_make.
4, 在scripts文件夾中, 新建pyTalker.py文件.
5, 粘貼以下代碼

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import rospy #導入rospy客戶端
from std_msgs.msg import String #導入std_msg/string這個數據類型
 
def talker():
    pub = rospy.Publisher('chatter', String, queue_size=10) #話題的名稱chatter
    rospy.init_node('talker', anonymous=True) #初始化節點,節點的名稱爲talker,名字要唯一
    rate = rospy.Rate(10) # 10hz,創建rate對象,與sleep()函數結合使用,控制話題消息發佈的頻率
    while not rospy.is_shutdown():
        msg = "hello world "
        rospy.loginfo(msg)#函數在屏幕輸出信息,這個信息存儲在hello_str當中
        pub.publish(msg)
        rate.sleep()#用於控制發佈的頻率
 
if __name__ == '__main__':
    try:
        talker()
    except rospy.ROSInterruptException:
        pass

6, 具體介紹請看註釋, 這個比較簡單.
7, 使用vscode的終端中cd命令,定位到pyTalker.py文件

cd src/ros_test/scripts/

8, 執行指令, 這一步是爲了讓pyTalker.py文件具有可執行權限, 不可缺少

chmod 0777 pyTalker.py

運行talker和listener

1, 使用快捷鍵Ctrl + Shift + T 彈出系統終端,輸入roscore,啓用整個ROS總節點。
2, 使用快捷鍵Ctrl + Shift + T 彈出系統終端,輸入rosrun ros_test pyTalker.py,啓用talker節點。
3, 使用快捷鍵Ctrl + Shift + T 彈出系統終端,輸入rosrun ros_test listener,啓用listener節點, 此處的listener節點爲c++節點。參照vscode開發ROS(3)-創建第一個ROS項目.
在這裏插入圖片描述

後記

更多機器人, ROS相關,公-衆-號搜索 ”機器人小站"。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章