欢迎登陆lol赛事竞猜app下载网!
lol赛事竞猜app下载-首页!

《ROS入门》第10讲:(服务数据的界说与使用编程实现)

本文摘要:如何自界说服务数据界说srv文件;界说srv文件的花样://包罗请求(request)和响应( reply) 两部门请求数据类型(request)--- 响应数据类型(respond)实现功效:自界说一个服务数据,编写两个法式(一个服务端,一个客户端),客户端请求数据,服务端举行相应的响应。

lol赛事竞猜app首页

如何自界说服务数据界说srv文件;界说srv文件的花样://包罗请求(request)和响应( reply) 两部门请求数据类型(request)--- 响应数据类型(respond)实现功效:自界说一个服务数据,编写两个法式(一个服务端,一个客户端),客户端请求数据,服务端举行相应的响应。编程思路:第一步,自界说服务数据,即界说一个srv(Person.srv)文件(在learning_service/srv目录下)备注:建立srv: mkdir srvPerson.srv详细内容如下:string nameuint8 ageuint8 genderuint8 male=1uint8 female=2---result备注:建立功效包doubixiaohanhan:<build_depend>message_generation</build_depend><exec_depend>message_runtime</exec_depend>第二步,在package.xml中添加功效包的依赖(在doubixiaohanhan/package.xml里) find_package( …… message_generation) add_service_files(FILES Person.srv)generate_messages(DEPENDENCIES std_msgs)catkin_package(…… message_runtime)第三步,在CMakeLists.txt添加编译选项1,第四步,编译生成语言相关文件第五步,编写服务端测试法式(在doubixiaohanhan/src目录下)#include<ros/ros.h>#include"doubixiaohanhan/Person.h"bool personCallback(doubixiaohanhan::Person::Request &requ,doubixiaohanhan::Person::Response &resp){ROS_INFO("name:%s age:%d gender:%d",requ.name.c_str(),requ.age,requ.gender);resp.result = "ok";return true;}int main(int argc,char **argv){ros::init(argc,argv,"person_server");ros::NodeHandle n;ros::ServiceServer person_service = n.advertiseService("/doubi",personCallback);ROS_INFO("Ready to display the person information");ros::spin();return 0;}第六步,编写客户端测试法式(在doubixiaohanhan/src目录下)#include<ros/ros.h>#include"doubixiaohanhan/Person.h"int main(int argc ,char **argv){ros::init(argc,argv,"person_client");ros::NodeHandle node;ros::service::waitForService("doubi");ros::ServiceClient person_client = node.serviceClient<doubixiaohanhan::Person>("/doubi");doubixiaohanhan::Person srv;srv.request.name = "doubixiaohanhan";srv.request.age = 18;srv.request.gender = doubixiaohanhan::Person::Request::male;ROS_INFO("Call service to show person[name:%s, age:%d,gender:%d]",srv.request.name.c_str(),srv.request.age,srv.request.gender);person_client.call(srv);ROS_INFO("Show person result:%s",srv.response.result.c_str());return 0;}第七步,添加对上述两个法式的编译依赖add_executable(person_server src/service1.cpp)target_link_libraries(person_server ${catkin_LIBRARIES})add_dependencies(person_server ${PROJECT_NAME}_gencpp)add_executable(person_client src/client1.cpp)target_link_libraries(person_client ${catkin_LIBRARIES})add_dependencies(person_client ${PROJECT_NAME}_gencpp)第八步,编译上述写好的服务端和客户端的法式1,cd ~/catkin_ws 2, catkin_make3,source devel/setup.bash第九步,测试1, roscore2, rosrun doubixiaohanhan person_server3, rosrun doubixiaohanhan person_client增补:c_str()函数返回一个指向正规C字符串的指针常量。


本文关键词:《,ROS入门,》,第,讲,服务,数据,的,界说,与,lol赛事竞猜app下载

本文来源:lol赛事竞猜app下载-www.yantahotelxian.com

餐饮项目推荐

苍井寿司加盟
苍井寿司加盟
投资额:3万
热度:
我要加盟
新麻蒲烤肉加盟
新麻蒲烤肉加盟
投资额:1-3万
热度:
我要加盟
酸小七酸菜鱼加盟
酸小七酸菜鱼加盟
投资额:1-3万
热度:
我要加盟
鲁二哥卤肉饭加盟
鲁二哥卤肉饭加盟
投资额:1-3万
热度:
我要加盟
优粮生活快餐加盟
优粮生活快餐加盟
投资额:10-20万
热度:
我要加盟
明星开店排行榜
  • 1小趣茶茶饮加盟200
    小趣茶茶饮加盟
    投资额:2-5万
    热度:
    查看详情>>
  • 2顶膳牛排加盟195
    顶膳牛排加盟
    投资额:1-3万
    热度:
    查看详情>>
  • 30夏7度奶茶店加盟194
    0夏7度奶茶店加盟
    投资额:3万
    热度:
    查看详情>>
  • 4乐速速奶茶加盟192
    乐速速奶茶加盟
    投资额:1-2万
    热度:
    查看详情>>
  • 5中卫披萨加盟192
    中卫披萨加盟
    投资额:1-3万
    热度:
    查看详情>>
  • 6小蛮螺网红螺蛳粉加盟192
    小蛮螺网红螺蛳粉加盟
    投资额:1-2万
    热度:
    查看详情>>
  • 7夏日沫沫茶加盟185
    夏日沫沫茶加盟
    投资额:1-2万
    热度:
    查看详情>>
    • 加盟指南
    • 经营技巧
    • 餐饮营销
    首页 |公司简介|法律声明|正在咨询|公司动态|联系我们