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

电子商务网站建设课设网站模板拉新推广渠道

电子商务网站建设课设网站模板,拉新推广渠道,wordpress.exe,有哪些好的网站建设ros2可以和lidar、imu、相机、超声波雷达和小车控制等硬件相互通讯。通讯的过程中是按照一定的消息格式来通讯的,但是数据处理的时候则是直接对消息中的数据进行处理,因此消息和数据之间是需要进行转换的。那么怎么转换呢? 一.ros2和PointCl…

ros2可以和lidar、imu、相机、超声波雷达和小车控制等硬件相互通讯。通讯的过程中是按照一定的消息格式来通讯的,但是数据处理的时候则是直接对消息中的数据进行处理,因此消息和数据之间是需要进行转换的。那么怎么转换呢?

一.ros2和PointCloud2之间的转换

   假设所要包含的头文件和数据是:

#include <pcl_conversions/pcl_conversions.h>
#include <pcl/PCLPointCloud2.h>
#include <sensor_msgs/PointCloud2.h>
#include <pcl/conversions.h>
#include <pcl/point_types.h>
#include <pcl/point_cloud.h>pcl::PointCloud<>  pcl_pc;
pcl::Pointcloud2 pcl_pc2;
sensor_msgs::PointCloud2  ros_pc;
sensor_msgs::PointCloud2  ros_pc2;

    1、pcl::Pointcloud2 和  sensor_msgs::PointCloud2 之间的转换   

          1)把pcl::Pointcloud2 转换成 pointClouds_msg

                第一种方法:pcl::toRosMsg(pcl_pc2, ros_pc2); 

                第二种方法:pcl::fromPcl(pcl_pc2, ros_pc2); 

          2)把 pointClouds_msg转换成  pcl::Pointcloud2

               第一种方法:pcl::fromRosMsg( ros_pc2, pcl_pc2)

               第二种方法:pcl::toPcl( ros_pc2,pcl_pc2); 

    2. pcl::Pointcloud2 和 pcl::Pointcloud之间的转换

         1)把pcl::Pointcloud2转换成 pcl::Pointcloud

                pcl::fromPclPointCloud2(pcl_pc2,pcl_pc);

               

          2)把pcl::Pointcloud转换成 pcl::Pointcloud2

              pcl::toPclPointCloud2(pcl_pc,pcl_pc2);

               convertPointCloudToPointCloud2(pcl_pc,pcl_pc2);

    3.sensor_msg::pointcloud2 和sensor_msg::pointcloud之间的转换

          1)把sensor_msg::pointcloud2转换成 sensor_msg::pointcloud

                convertPointCloud2ToPointCloud( ros_pc2, ros_pc);

           2)把sensor_msg::pointcloud转换成 sensor_msg::pointcloud2

                convertPointCloud2ToPointCloud( ros_pc, ros_pc2);

    4.为了数据转换更加高效,可以使用move

            pcl_conversions::moveFromPCL(pcl_pc2, ros_pc2);

   点云、消息之间相互转换,参考的博客是 ROS与PCL环境中进行四种不同点云数据类型转换_pcl::torosmsg-CSDN博客

二、 ros2和图像之间的转换

         简单的转换关系就是 opencv cv::Mat  <-----------CvBridge-----------> Ros image message

#include <ros/ros.h>
#include <sensor_msgs/Image.h>
#include <cv_bridge/cv_bridge.h>
#include <opencv2/opencv.hpp>class ImageProcessor
{
public:ImageProcessor(){// 初始化订阅者和发布者image_sub = nh.subscribe("/camera/image_raw", 1, &ImageProcessor::imageCallback, this);image_pub = nh.advertise<sensor_msgs::Image>("/camera/image_processed", 1);}void imageCallback(const sensor_msgs::ImageConstPtr& msg){try{// 将ROS图像消息转换为OpenCV格式cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::BGR8);// 进行灰度转换cv::Mat gray_image;cv::cvtColor(cv_ptr->image, gray_image, cv::COLOR_BGR2GRAY);// 将灰度图转换回ROS图像消息cv_bridge::CvImage out_msg;out_msg.header = msg->header;out_msg.encoding = sensor_msgs::image_encodings::MONO8;out_msg.image = gray_image;// 发布处理后的图像image_pub.publish(out_msg.toImageMsg());}catch (cv_bridge::Exception& e){ROS_ERROR("cv_bridge exception: %s", e.what());return;}}private:ros::NodeHandle nh;ros::Subscriber image_sub;ros::Publisher image_pub;
};int main(int argc, char** argv)
{ros::init(argc, argv, "image_processor");ImageProcessor ip;ros::spin();return 0;
}

       可以看出,

1)将ros2图像转成opencv图像

      cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(msg,sensor_msgs::image_encodings::BGR8);
            // 进行灰度转换
            cv::Mat gray_image;
            cv::cvtColor(cv_ptr->image, gray_image, cv::COLOR_BGR2GRAY);

2)将opencv图像转成ros2图像的方法

           // 将灰度图转换回ROS图像消息
            cv_bridge::CvImage out_msg;
            out_msg.header = msg->header;
            out_msg.encoding = sensor_msgs::image_encodings::MONO8;
            out_msg.image = gray_image;
            
            // 发布处理后的图像
            image_pub.publish(out_msg.toImageMsg());

参考的博客是:深入解析Ubuntu 20.04中ROS与OpenCV的图像格式及其相互转换_cv::mat image 转换为ros msg-CSDN博客

三、ros2和arduino通讯

这个还没搞明白,后续还需要更新博客。看这篇博客的代码,竟然是ros2消息发布也烧录到了arduino板子上,,那么消息是通过串口发布的吗?

ROS2与Arduino发布订阅_micro-xrce-dds 最小内存-CSDN博客

【如何将Arduino与机器人操作系统(ROS)一起使用】_arduino ros-CSDN博客

四、ros2和 imu之间

imu刚买过来,还没有具体研究,等跑通了再来更新。

五、ros2和串口之间的

ROS机器人制作(三)—— ROS上位机与stm32进行串口通信_ros与stm32通信-CSDN博客

六、ros2与pixhawk数据通讯

这个标题也先列在这里,后续逐步补充

http://www.hkea.cn/news/174062/

相关文章:

  • 哈 做网站网店代运营收费
  • 制作网页的三大技术是什么郑州seo顾问
  • 网站建设报价流程行业网站网址
  • 提供邯郸做wap网站网页推广方案
  • 网站从域名广告营销公司
  • 网站链接的常见形式免费广告网
  • 微信微网站开发教程百度大数据平台
  • 网站服务设计引流推广是什么意思
  • 学校网站建设管理办法本周新闻热点事件
  • 网站移动版怎么做网站创建公司
  • wordpress 微商城模板下载地址苏州seo推广
  • 珠海网站哪家好百度com百度一下你
  • wordpress wp.net网络优化工程师是做什么的
  • 刷会员网站怎么做外贸如何推广
  • 专做女装的网站网站备案是什么意思
  • 没有网站可以做seo排名吗小学生简短小新闻摘抄
  • 做程序网站需要什么代码宁波seo搜索排名优化
  • 网站建设开发语言新冠病毒最新消息
  • 怎么做1688网站网页制作工具有哪些
  • 一个网站的主题和设计风格最好用的免费建站平台
  • 网站开发主页手机优化游戏性能的软件
  • 怎么做属于自己的域名网站网络策划方案
  • destoon做的网站百度商务合作联系
  • 金山区网站制作网络营销策划书1500字
  • 厦门网站建设制作工具熊猫关键词挖掘工具
  • 徐州网站建设 网站推广百度首页快速排名系统
  • 在线转格式网站怎么做拼多多seo 优化软件
  • 成都理工疫情最新消息贵港seo
  • 网站如何防止攻击怎么自己做一个小程序
  • 企业网站建设英文百度收录