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

上海seo顾问推推蛙柳州网站seo

上海seo顾问推推蛙,柳州网站seo,湖北高端网站建设,下列关于网站开发中在做ldiar slam的时候&#xff0c;最常用的当属topic&#xff0c;偶尔也会用一下service&#xff0c;action则很少使用。现在一块来看一下topic的使用。一、topic的使用topic的消息订阅和发布#include<ros/ros.h> #include<rosbag/bag.h> #include<rosbag/view.…

在做ldiar slam的时候,最常用的当属topic,偶尔也会用一下service,action则很少使用。现在一块来看一下topic的使用。

一、topic的使用

topic的消息订阅和发布

#include<ros/ros.h>
#include<rosbag/bag.h>
#include<rosbag/view.h>
#include<std_msgs/String.h>
#include<pcl/point_types.h>
#include<pcl/point_cloud.h>
#include<pcl/conversions.h>
#include<pcl_conversions/pcl_conversions.h>
#include<opencv2/opencv.hpp>#include<image_transport/image_transport.h>
#include<cv_bridge/cv_bridge.h>
#include<sensor_msgs/PointCloud2.h>
#include<sensor_msgs/Imu.h>
#include<nav_msgs/Odometry.h>
#include<sensor_msgs/LaserScan.h>
#include<sensor_msgs/Range.h>
#include<turtlesim/Spawn.h>
#include<std_srvs/Trigger.h>class DataProcess
{public:DataProcess(){}public:void processPointCloud2(const sensor_msgs::PointCloud2::ConstPtr& pc){}void imuCallback(const sensor_msgs::Imu::ConstPtr& imuMsg){std::cout<< imuMsg->linear_acceleration.x<< "   "<<  imuMsg->linear_acceleration.y<< "   "<<  imuMsg->linear_acceleration.z<< " \n";}pcl::PointCloud<pcl::PointXYZI> pointxyz;pointxyz.width = 100;pointxyz.height = 1;pointxyz.resize(pointxyz.height * pointxyz.width);srand(time(nullptr));for(int i = 0;i < 100; i ++){pointxyz.points[i].x = (rand()% 1000) / 10.0;pointxyz.points[i].y = (rand()% 1000) / 10.0;pointxyz.points[i].z = (rand()% 1000) / 10.0;}//-------------------------------------------点云的生成和转化----------------------------顺利完成---------------------// 这个函数在pcl_conversion./pcl_conversion.h文件中sensor_msgs::PointCloud2 pointCloudMsg;pointCloudMsg.header.stamp = ros::Time().now();pointCloudMsg.header.frame_id = "/camera_init";pcl::toROSMsg(pointxyz,pointCloudMsg);pcl::PointCloud<pcl::PointXYZI> pointxyzi2;pcl::fromROSMsg(pointCloudMsg, pointxyzi2);for( int i = 0; i < pointxyzi2.points.size();i ++ ){std::cout<< pointxyzi2.points[i].x<<"   "<< pointxyzi2.points[i].y<<"   "<< pointxyzi2.points[i].z<<"\n";}pcl::PointCloud<pcl::PointXYZI> point3;pcl::moveFromROSMsg(pointCloudMsg,point3);for( int i = 0; i < point3.points.size();i ++ ){std::cout<< point3.points[i].x<<"   "<< point3.points[i].y<<"   "<< point3.points[i].z<<"****\n";}}

二、service的使用

以spawn为例子,学习service的使用。这个例子比较简洁,这样很容易学会。

1)客户端

#include<ros/ros.h>
#include<turtlesim/spawn.h>int main(int argc, char** argv)
{turtlesim::Spawn  spawn;spawn.request.x = 0.0;spawn.request.y = 1.0;spawn.request.theta = 1.0;spawn.request.name = "turtle2";ros::service::waitForService("/showspawn");ros::ServiceClient client = nh_.serviceClient<turtlesim::Spawn>("/showspawn");client.call(spawn);
}

2)服务端

#include<ros/ros.h>
#include<turtlesim/Spawn.h>bool srvCallback1(turtlesim::Spawn::Request &req, turtlesim::Spawn::Response& respond){respond.name = req.name;std::cout<<  respond.name <<std::endl;return true;}
int main(int argc, char** argv)
{ros::init(argc, argv, "rosbaglearn1");ros::NodeHandle nh_;ros::ServiceServer srv = nh_.advertiseService("/showspawn",  srvCallback1 );ros::spin();return 0;
}

http://www.dtcms.com/wzjs/541498.html

相关文章:

  • net后缀的可以做网站吗wordpress nginx
  • 返利网站开发文档网页设计实训报告页面布局结构
  • 咸宁网站建设多少钱合肥工业设计公司
  • .net 购物网站开发源代码胶州建设局网站
  • 珠海网站建设维护做调查问卷换赏金的网站
  • 网站开发项目源码免费下载建设银行官方网站下载
  • 如何快速进行网站开发中山外贸网站开发
  • 栖霞建设采购网站广州网站优化运营
  • 左侧 导航 网站重庆白云seo整站优化
  • 网站做引流seo关键词挖掘
  • 在什么网站做兼职翻译天津和平做网站多少钱
  • 免费文档模板网站网站建设需要多少天时间
  • 东莞网站排名推广网上订货发货网站建设
  • 做网站地图的步骤joomla 企业网站模板
  • 佛山专业做网站公司哪家好登陆网站怎么做
  • 个人作品网站策划书wordpress如何接入visa支付宝
  • 全球最火的十大游戏成都建站seo
  • 曲沃网站开发网络公司网站设计多少钱
  • 湖北省建设部网站公告网页案例
  • 共青城网站建设公司介绍自己做衣服的网站
  • 网站推广的途径和方法域名空间网站
  • 汽车建设网站开发流程南京网站建设 雷仁
  • 网站建设与管理需要什么软件有哪些网站建设规划书的空间
  • 做招标应该关注什么网站注册公司的流程及资料
  • 建站源码程序柯桥建设集团网站
  • 用discuz做行业网站wordpress 活动模板
  • 国外做自动化网站自己做企业网站好做吗
  • 建筑网站视频大全wordpress最炫主题
  • 集团门户网站建设企业跨境电商开店
  • 室内设计网站大全免费WordPress富媒体说说