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

如何自己制作免费网站网站建设与管理用什么软件有哪些内容

如何自己制作免费网站,网站建设与管理用什么软件有哪些内容,diy图片制作,下载免费ppt模板目录 0 专栏介绍1 服务通信模型2 服务模型实现(C)3 服务模型实现(Python)4 自定义服务5 话题、服务通信的异同 0 专栏介绍 本专栏旨在通过对ROS2的系统学习#xff0c;掌握ROS2底层基本分布式原理#xff0c;并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。… 目录 0 专栏介绍1 服务通信模型2 服务模型实现(C)3 服务模型实现(Python)4 自定义服务5 话题、服务通信的异同 0 专栏介绍 本专栏旨在通过对ROS2的系统学习掌握ROS2底层基本分布式原理并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。 详情《ROS2从入门到精通》 1 服务通信模型 服务是 ROS 图中节点之间的另一种通信方法。服务基于服务器-客户端模型不同于话题的发布者-订阅者模型。话题允许节点订阅数据流并获取持续更新而服务只在客户端特别调用时才提供数据。二者更详细的对比请参考第5节 2 服务模型实现(C) 实验目标客户端提交请求给turtlesim功能包的/spawn服务在界面上生成新的乌龟。 服务器 本实验中无需编程,为turtlesim::Spawn定义的/spwan服务 客户端 void OnResultCallBack(rclcpp::Clientturtlesim::srv::Spawn::SharedFuture result) {auto response result.get();RCLCPP_INFO(rclcpp::get_logger(rclcpp), Request service successfully! [turtle id: %s], response-name.c_str()); }void request() {auto spawn std::make_sharedturtlesim::srv::Spawn::Request(); spawn-name winter_turtle;spawn-x 1.0;spawn-y 1.0;spawn-theta 1.57;while (!client_-wait_for_service(std::chrono::seconds(1))) { if (!rclcpp::ok()) {RCLCPP_ERROR(rclcpp::get_logger(rclcpp), Interrupted while waiting for the service. Exiting.);return;}RCLCPP_INFO(rclcpp::get_logger(rclcpp), service not available, waiting again...);}auto result client_-async_send_request(spawn, std::bind(ClientNode::OnResultCallBack, this, std::placeholders::_1)); }服务通信的效果如下所示 3 服务模型实现(Python) 实验目标客户端提交请求给turtlesim功能包的/spawn服务在界面上生成新的乌龟。 服务器 本实验中无需编程,为turtlesim::Spawn定义的/spwan服务 客户端 class ClientNode(Node):def __init__(self, name):super().__init__(name)self.client self.create_client(Spawn, /spawn) while not self.client.wait_for_service(timeout_sec1.0):self.get_logger().info(service not available, waiting again...) self.request Spawn.Request()def sendRequest(self):self.request.name winter_turtleself.request.x 1.0self.request.y 1.0self.request.theta 1.57self.future self.client.call_async(self.request)服务通信的效果如下所示 4 自定义服务 自定义服务的通用流程如下 功能包下新建srv文件夹在其中添加自定义服务xxx.srv,注意请求和响应数据结构使用---分割功能包package.xml中添加编译依赖与执行依赖buildtool_dependrosidl_default_generators/buildtool_depend exec_dependrosidl_default_runtime/exec_depend member_of_grouprosidl_interface_packages/member_of_group功能包CMakeLists.txt中添加编译消息相关依赖find_package(rosidl_default_generators REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME}xxx.srvDEPENDENCIES xxx_srvs )ament_export_dependencies(rosidl_default_runtime)编译自定义消息在install/pkg_name/include中生成由xxx.srv编译的C可识别的xxx.hpp头文件引入xxx.hpp即可调用自定义服务 下面给出一个实例 添加如下自定义服务实现一个加法服务并按上面步骤配置依赖 # client int32 a int32 b --- # server int32 sum定义一个服务器、一个客户端限于篇幅只贴出部分代码完整代码见文末。 服务器class ServerNode : public rclcpp::Node {public:ServerNode() : Node(lab_srv_server_own) {server_ create_serviceown_srv_lab::srv::Add(/add_service,std::bind(ServerNode::OnAddSrvCallBack, this, std::placeholders::_1, std::placeholders::_2)); }private:rclcpp::Serviceown_srv_lab::srv::Add::SharedPtr server_;void OnAddSrvCallBack(const std::shared_ptrown_srv_lab::srv::Add::Request request, std::shared_ptrown_srv_lab::srv::Add::Response response) {response-sum request-a request-b;RCLCPP_INFO(rclcpp::get_logger(rclcpp), Incoming request\na: %d b: %d, request-a, request-b);RCLCPP_INFO(rclcpp::get_logger(rclcpp), sending back response: [%d], response-sum);} };客户端ClientNode() : Node(lab_srv_client_own) {client_ create_clientown_srv_lab::srv::Add(/add_service); }void request(int a, int b) {auto add_srv std::make_sharedown_srv_lab::srv::Add::Request();add_srv-a a; add_srv-b b;while (!client_-wait_for_service(std::chrono::seconds(1))) { if (!rclcpp::ok()) {RCLCPP_ERROR(rclcpp::get_logger(rclcpp), Interrupted while waiting for the service. Exiting.);return;}RCLCPP_INFO(rclcpp::get_logger(rclcpp), service not available, waiting again...);}auto result client_-async_send_request(add_srv, std::bind(ClientNode::OnResultCallBack, this, std::placeholders::_1)); }服务通信效果如下所示 5 话题、服务通信的异同 对比话题服务通信模式发布-订阅请求-响应同步性异步同步缓冲区有无实时性弱强节点关系多对多一对多(1个server对应一个服务)通信格式.msg.srv使用场景连续高频的数据传输例如激光雷达、里程计传输数据偶尔调用的功能例如图像识别 完整代码通过下方博主名片联系获取 更多精彩专栏 《ROS从入门到精通》《Pytorch深度学习实战》《机器学习强基计划》《运动规划实战精讲》… 源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系
http://www.zqtcl.cn/news/198331/

相关文章:

  • 网站建设 思维导图免费flash网站源码
  • 提供零基础网站建设教学公司wordpress悬浮下拉
  • 做网站代码难么南京市建设监理协会网站
  • 网站维护 静态页面正规企业展厅设计公司
  • 网站分享图片怎么做东莞网站优化关键词费用
  • 做摄影网站的目的域名注册和网站设计服务
  • 手表网站设计免费常州百度推广优化
  • 网站开发找聚脑网视频直播源码
  • 提供免费服务器的网站南沙电子商务网站建设
  • 厦门网站建设开发公司企业网站设计源代码
  • 微网站服务器酒店手机网站首页设计
  • 网站交互做的比较好的怎样营销网站建设
  • 电子商务网站设计代码凡科做的网站能被收录吗
  • 设计网站教程自动点击器永久免费版
  • 深圳 网站建设设计如何用公众号做网站
  • 免费微信网站制作北风淘淘网站开发
  • 建筑模型设计网站建设网站设计 分辨率
  • 网站规划包括哪些内容西部建设网站
  • 网站html静态化网站整体色彩的建设
  • 长春比较有名的做网站建设宁波网站建设联系电话查询
  • 建网站中企动力推荐网络营销外包总代理
  • 网站怎么续费网站内链检测
  • 织梦网站地图样式中国品牌网站
  • 上海金山区建设局网站临淄信息港发布信息
  • 保定外贸网站建设学生网站建设首页
  • 商城网站备案要求wordpress插件 手机版
  • 北京市网站备案查询石家庄建设信息网必须交费吗
  • 北京优化网站方法四川省建设局网站
  • 怎么做网站能快速赚钱重庆快速建站
  • 河南专业网站建设公司首选培训心得简短200字