这次换一下口味,用python试试
换口味了,就换个窝啦。
重新来个package
来到 catkin_ws/src 新建一个 learning_service文件夹
回到 catkin_ws catkin_create_pkg learning_service roscpp rospy std_msgs geometry_msgs turtlesim
有了空package了,继承传统美德,在 catkin_ws/src/learning_service 里创建scripts。用来装python文件
创建Python文件了,turtle_spawn.py
#!/usr/bin/env python
import sys
import rospy
from turtlesim.srv import Spawn
def turtle_spawn():
rospy.init_node('turtle_spawn')
rospy.wait_for_service('/spawn')
try:
add_turtle = rospy.ServiceProxy('/spawn',Spawn)
reponse = add_turtle(2.0, 2.0, 0.0, "turtle2")
return reponse.name
except rospy.SericeException, e:
print "Service call failed : %s" %e
if __name__ == '__main__':
print "Spwan turtle successfule [name:%s]" %(turtle_spawn())
本以为Python会自动到不用配置CMakelists,,,是我想太多。你总这样说。
catkin_install_python(PROGRAMS scripts/turtle_spawn.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
准备好了
到catkin_ws那层,
catkin_make
roscore
rosrun turtlesim turtlesim_node
rosrun learning_service turtle_spawn.py
看看是不是有两个龟