写在最前面
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) #话题的名称chatterrospy.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项目.