给我一个简单的ros示例
时间: 2023-02-28 14:52:15 浏览: 218
ROS by example
5星 · 资源好评率100%
当然,以下是一个简单的ROS示例,该示例展示了如何在ROS系统中创建一个节点,发布一个话题并订阅该话题:
1. 创建一个ROS工作空间:
```
$ mkdir -p ~/ros_ws/src
$ cd ~/ros_ws/src
$ catkin_init_workspace
$ cd ..
$ catkin_make
```
2. 创建一个包:
```
$ cd ~/ros_ws/src
$ catkin_create_pkg simple_example std_msgs rospy
$ cd simple_example
```
3. 创建一个发布话题的节点:
```python
#!/usr/bin/env python
import rospy
from std_msgs.msg import String
def talker():
pub = rospy.Publisher('chatter', String, queue_size=10)
rospy.init_node('talker', anonymous=True)
rate = rospy.Rate(10) # 10hz
while not rospy.is_shutdown():
hello_str = "hello world %s" % rospy.get_time()
rospy.loginfo(hello_str)
pub.publish(hello_str)
rate.sleep()
if __name__ == '__main__':
try:
talker()
except rospy.ROSInterruptException:
pass
```
4. 创建一个订阅话题的节点:
```python
#!/usr/bin/env python
import rospy
from std_msgs.msg import String
def callback(data):
rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data)
def listener():
rospy.init_node('listener', anonymous=True)
rospy.Subscriber("chatter", String, callback)
rospy.spin()
if __name__ == '__main__':
listener()
```
5. 编译并运行:
```
$ cd ~/ros_ws
$ source devel/setup.bash
$ roscore
# 在另一个终端中运行talker节点
$ rosrun simple_example talker.py
# 在另一个终端中运行listener节点
$ rosrun simple_example listener.py
```
您可以在listener
阅读全文