当前位置: 首页 > news >正文

西宁网站建设天锐科技上海模板网站建设

西宁网站建设天锐科技,上海模板网站建设,网站建设 官网,wordpress主机xamppROS2 入门应用 请求和应答#xff08;C#xff09;1. 创建功能包2. 创建源文件2.1. 服务端2.2. 客户端3. 添加依赖关系4. 添加编译信息4.1. 添加搜索库4.2. 增加可执行文件4.3. 增加可执行文件位置5. 编译和运行1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了… ROS2 入门应用 请求和应答C1. 创建功能包2. 创建源文件2.1. 服务端2.2. 客户端3. 添加依赖关系4. 添加编译信息4.1. 添加搜索库4.2. 增加可执行文件4.3. 增加可执行文件位置5. 编译和运行1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了ros2_ws工作空间 在《ROS2 入门应用 元功能包C》中已创建和加载了my_package功能包 那么就创建一个独立的cpp_srvcli功能包来做服务的请求和应答的功能 cd ~/ros2_ws/src ros2 pkg create --build-type ament_cmake cpp_srvcli --dependencies rclcpp example_interfaces--dependencies可选参数将会自动在package.xml和CMakeLists.txt中添加必要的依赖行 依赖example_interfaces包将会使用到example_interfaces的srv文件两位整数求和服务 int64 a int64 b --- int64 sum2. 创建源文件 进入cpp_srvcli功能包的src文件夹 cd ~/ros2_ws/src/cpp_srvcli/src2.1. 服务端 新建add_two_ints_server.cpp服务端源文件 nano add_two_ints_server.cpp复制以下内容到文件中 #include rclcpp/rclcpp.hpp #include example_interfaces/srv/add_two_ints.hpp#include memory/* 求和函数 */ void add(const std::shared_ptrexample_interfaces::srv::AddTwoInts::Request request,std::shared_ptrexample_interfaces::srv::AddTwoInts::Response response) {/* 从请求中添加两个整数并将总和提供给响应 */response-sum request-a request-b;/* 使用日志通知控制台其服务状态 */RCLCPP_INFO(rclcpp::get_logger(rclcpp), Incoming request\na: %ld b: %ld, request-a, request-b);RCLCPP_INFO(rclcpp::get_logger(rclcpp), sending back response: [%ld], (long int)response-sum); }int main(int argc, char **argv) {/* 初始化ROS2 */rclcpp::init(argc, argv);/* 定义服务端节点add_two_ints_server */std::shared_ptrrclcpp::Node node rclcpp::Node::make_shared(add_two_ints_server);/* 创建服务名为add_two_ints服务函数为add的service服务端 */rclcpp::Serviceexample_interfaces::srv::AddTwoInts::SharedPtr service node-create_serviceexample_interfaces::srv::AddTwoInts(add_two_ints, add);/* 通知准备就绪 */RCLCPP_INFO(rclcpp::get_logger(rclcpp), Ready to add two ints.);/* 运行节点 */rclcpp::spin(node);/* 退出ROS2 */rclcpp::shutdown(); }2.2. 客户端 新建add_two_ints_client.cpp客户端源文件 nano add_two_ints_client.cpp复制以下内容到文件中 #include rclcpp/rclcpp.hpp #include example_interfaces/srv/add_two_ints.hpp#include chrono #include cstdlib #include memory/* 方便表示时间 */ using namespace std::chrono_literals;int main(int argc, char **argv) {/* 初始化ROS2 */rclcpp::init(argc, argv);/* 校验 */if (argc ! 3) {RCLCPP_INFO(rclcpp::get_logger(rclcpp), usage: add_two_ints_client X Y);return 1;}/* 定义客户端节点add_two_ints_client */std::shared_ptrrclcpp::Node node rclcpp::Node::make_shared(add_two_ints_client);/* 创建服务名为add_two_ints的client客户端 */rclcpp::Clientexample_interfaces::srv::AddTwoInts::SharedPtr client node-create_clientexample_interfaces::srv::AddTwoInts(add_two_ints);/* 创建请求request */auto request std::make_sharedexample_interfaces::srv::AddTwoInts::Request();request-a atoll(argv[1]);request-b atoll(argv[2]);/* 搜索服务节点间隔1s */while (!client-wait_for_service(1s)) {if (!rclcpp::ok()) {RCLCPP_ERROR(rclcpp::get_logger(rclcpp), Interrupted while waiting for the service. Exiting.);return 0;}/* 如果找不到将会继续等待 */RCLCPP_INFO(rclcpp::get_logger(rclcpp), service not available, waiting again...);}/* 获得应答并显示其状态 */auto result client-async_send_request(request);// Wait for the result.if (rclcpp::spin_until_future_complete(node, result) rclcpp::FutureReturnCode::SUCCESS){RCLCPP_INFO(rclcpp::get_logger(rclcpp), Sum: %ld, result.get()-sum);} else {RCLCPP_ERROR(rclcpp::get_logger(rclcpp), Failed to call service add_two_ints);}/* 退出ROS2 */rclcpp::shutdown();return 0; }3. 添加依赖关系 创建功能包时已通过--dependencies可选参数自动在package.xml中添加必要的依赖行 dependrclcpp/depend dependexample_interfaces/depend4. 添加编译信息 在CMakeLists.txt编译文件中 4.1. 添加搜索库 创建功能包时已通过--dependencies可选参数自动在CMakeLists.txt中添加必要的搜索库依赖行 find_package(rclcpp REQUIRED) find_package(example_interfaces REQUIRED)4.2. 增加可执行文件 然后再增加可执行文件 src/add_two_ints_server.cpp命名为server可执行文件 src/add_two_ints_client.cpp命名为client可执行文件 并添加目标依赖关系 add_executable(server src/add_two_ints_server.cpp) ament_target_dependencies(server rclcpp example_interfaces)add_executable(client src/add_two_ints_client.cpp) ament_target_dependencies(client rclcpp example_interfaces)4.3. 增加可执行文件位置 最后增加可执行文件位置这样ROS2就可以找到现在的可执行文件 install(TARGETSserverclientDESTINATION lib/${PROJECT_NAME})5. 编译和运行 进入工作空间根目录 cd ~/ros2_ws在编译之前检查缺失的依赖项可跳过 rosdep install -i --from-path src --rosdistro humble -y编译 colcon build --packages-select cpp_srvcli打开一个新终端运行服务端节点 ros2 run cpp_srvcli server# [INFO] [rclcpp]: Ready to add two ints.打开一个新终端运行客户端节点 ros2 run cpp_srvcli client 1 2# [INFO] [rclcpp]: Sum: 3谢谢
文章转载自:
http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn
http://www.morning.yhgbd.cn.gov.cn.yhgbd.cn
http://www.morning.czcbl.cn.gov.cn.czcbl.cn
http://www.morning.rzcmn.cn.gov.cn.rzcmn.cn
http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn
http://www.morning.frfnb.cn.gov.cn.frfnb.cn
http://www.morning.plchy.cn.gov.cn.plchy.cn
http://www.morning.bgnkl.cn.gov.cn.bgnkl.cn
http://www.morning.xwlmg.cn.gov.cn.xwlmg.cn
http://www.morning.lkwyr.cn.gov.cn.lkwyr.cn
http://www.morning.knlgk.cn.gov.cn.knlgk.cn
http://www.morning.qmpbs.cn.gov.cn.qmpbs.cn
http://www.morning.rrxmm.cn.gov.cn.rrxmm.cn
http://www.morning.qctsd.cn.gov.cn.qctsd.cn
http://www.morning.hxsdh.cn.gov.cn.hxsdh.cn
http://www.morning.jjwt.cn.gov.cn.jjwt.cn
http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn
http://www.morning.hwcln.cn.gov.cn.hwcln.cn
http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn
http://www.morning.qzpw.cn.gov.cn.qzpw.cn
http://www.morning.yrhsg.cn.gov.cn.yrhsg.cn
http://www.morning.fnhxp.cn.gov.cn.fnhxp.cn
http://www.morning.txmlg.cn.gov.cn.txmlg.cn
http://www.morning.qznkn.cn.gov.cn.qznkn.cn
http://www.morning.snmth.cn.gov.cn.snmth.cn
http://www.morning.mdgb.cn.gov.cn.mdgb.cn
http://www.morning.drzkk.cn.gov.cn.drzkk.cn
http://www.morning.dzfwb.cn.gov.cn.dzfwb.cn
http://www.morning.gwqq.cn.gov.cn.gwqq.cn
http://www.morning.xlbtz.cn.gov.cn.xlbtz.cn
http://www.morning.tkkjl.cn.gov.cn.tkkjl.cn
http://www.morning.qzzmc.cn.gov.cn.qzzmc.cn
http://www.morning.itvsee.com.gov.cn.itvsee.com
http://www.morning.qrpx.cn.gov.cn.qrpx.cn
http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn
http://www.morning.zxfr.cn.gov.cn.zxfr.cn
http://www.morning.nsppc.cn.gov.cn.nsppc.cn
http://www.morning.mstrb.cn.gov.cn.mstrb.cn
http://www.morning.bpwz.cn.gov.cn.bpwz.cn
http://www.morning.wqpr.cn.gov.cn.wqpr.cn
http://www.morning.qqnp.cn.gov.cn.qqnp.cn
http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn
http://www.morning.wgxtz.cn.gov.cn.wgxtz.cn
http://www.morning.nyplp.cn.gov.cn.nyplp.cn
http://www.morning.wrlqr.cn.gov.cn.wrlqr.cn
http://www.morning.znsyn.cn.gov.cn.znsyn.cn
http://www.morning.gynkr.cn.gov.cn.gynkr.cn
http://www.morning.tfei69.cn.gov.cn.tfei69.cn
http://www.morning.bntgy.cn.gov.cn.bntgy.cn
http://www.morning.dfwkn.cn.gov.cn.dfwkn.cn
http://www.morning.rzrbw.cn.gov.cn.rzrbw.cn
http://www.morning.lsnnq.cn.gov.cn.lsnnq.cn
http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn
http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn
http://www.morning.gwdnl.cn.gov.cn.gwdnl.cn
http://www.morning.tmtrl.cn.gov.cn.tmtrl.cn
http://www.morning.mspkz.cn.gov.cn.mspkz.cn
http://www.morning.ltqzq.cn.gov.cn.ltqzq.cn
http://www.morning.cwznh.cn.gov.cn.cwznh.cn
http://www.morning.pmdnx.cn.gov.cn.pmdnx.cn
http://www.morning.lbbyx.cn.gov.cn.lbbyx.cn
http://www.morning.mhnd.cn.gov.cn.mhnd.cn
http://www.morning.jrkzk.cn.gov.cn.jrkzk.cn
http://www.morning.fmjzl.cn.gov.cn.fmjzl.cn
http://www.morning.ymwnc.cn.gov.cn.ymwnc.cn
http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn
http://www.morning.kbqbx.cn.gov.cn.kbqbx.cn
http://www.morning.xmhpq.cn.gov.cn.xmhpq.cn
http://www.morning.rtryr.cn.gov.cn.rtryr.cn
http://www.morning.bxbkq.cn.gov.cn.bxbkq.cn
http://www.morning.rhmt.cn.gov.cn.rhmt.cn
http://www.morning.tgczj.cn.gov.cn.tgczj.cn
http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn
http://www.morning.mtbth.cn.gov.cn.mtbth.cn
http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn
http://www.morning.bqrd.cn.gov.cn.bqrd.cn
http://www.morning.xfxnq.cn.gov.cn.xfxnq.cn
http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn
http://www.morning.trrpb.cn.gov.cn.trrpb.cn
http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn
http://www.tj-hxxt.cn/news/235862.html

相关文章:

  • 网站建设 自学企业网站实施方案
  • 网站建设费算广告费吗橫山区建设局网站
  • 网站建设 技术 哪些手机网站带后台源代码
  • 青岛知名网站建设公司排名怎么创作一个软件
  • 做网站的公司创业诸城网站建设多少钱
  • 一站式做网站技术看片代码 python
  • 网站 水印网站制作公司价格
  • 微建站程序有哪些怎么建手机网站
  • 医疗网站备案要怎么做 需要准备什么材料关于网站维护的书籍
  • 网站建设公司怎么盈利wordpress域名转移
  • iis7搭建asp网站网络seo啥意思
  • 南充网站建设设计略奥网络营销存在的问题及解决对策
  • 厦门有没网站建设的公司网络舆情监测服务
  • 幸运星哪家制作公司大连谷歌seo
  • 网站首页轮播图片素材如何建造网站
  • 怎样查看网站建设时间便民信息免费发布平台
  • 外管局网站先支后收怎么做报告楼盘设计师工资一般多少
  • 免费建设网站和域名什么做直播网站
  • 手机网站营销方法软文推广的好处
  • ps做网站的效果图连锁餐饮网站建设
  • 苏州建网站制作费用多少钱盐城网站建设设计
  • opencms做网站 谁成都价格网站建设服务公司
  • 沈阳网站建站公司电子商务网站建设的范围是什么意思
  • wordpress站群 会员百度查重
  • php网站开发概念和简介网站app建设方案
  • 写作网站官方哪些网站是做采购的
  • 网站竞价 英文深圳 做网站 车公庙
  • 企业网站后台管理系统模板下载网站维护 设计
  • 网站如何做cdn怎么制作软件app流程
  • 做外贸采购都是用什么网站广西旅游网站建设