• ros msg array


    #include <stdio.h>
    #include <stdlib.h>
    
    #include "ros/ros.h"
    
    #include "std_msgs/MultiArrayLayout.h"
    #include "std_msgs/MultiArrayDimension.h"
    
    #include "std_msgs/Int32MultiArray.h"
    
    int main(int argc, char **argv)
    {
        
    
    	ros::init(argc, argv, "arrayPublisher");
    
    	ros::NodeHandle n;
    
    	ros::Publisher pub = n.advertise<std_msgs::Int32MultiArray>("array", 100);
    
    	while (ros::ok())
    	{
    		std_msgs::Int32MultiArray array;
    		//Clear array
    		array.data.clear();
    		//for loop, pushing data in the size of the array
    		for (int i = 0; i < 90; i++)
    		{
    			//assign array a random number between 0 and 255.
    			array.data.push_back(rand() % 255);
    		}
    		//Publish array
    		pub.publish(array);
    		//Let the world know
    		ROS_INFO("I published something!");
    		//Do this.
    		ros::spinOnce();
    		//Added a delay so not to spam
    		sleep(2);
    	}
    
    }


    #include <stdio.h>
    #include <stdlib.h>
    #include <vector>
    #include <iostream>
    
    #include "ros/ros.h"
    
    #include "std_msgs/MultiArrayLayout.h"
    #include "std_msgs/MultiArrayDimension.h"
    #include "std_msgs/Int32MultiArray.h"
    
    int Arr[90];
    void arrayCallback(const std_msgs::Int32MultiArray::ConstPtr& array);
    
    int main(int argc, char **argv)
    {
    
    	ros::init(argc, argv, "arraySubscriber");
    
    	ros::NodeHandle n;	
    
    	ros::Subscriber sub3 = n.subscribe("array", 100, arrayCallback);
    
    	ros::spinOnce();
    
    	for(j = 1; j < 90; j++)
    	{
    		printf("%d, ", Arr[j]);
    	}
    
    	printf("
    ");
    	return 0;
    }
    
    void arrayCallback(const std_msgs::Int32MultiArray::ConstPtr& array)
    {
    
    	int i = 0;
    	// print all the remaining numbers
    	for(std::vector<int>::const_iterator it = array->data.begin(); it != array->data.end(); ++it)
    	{
    		Arr[i] = *it;
    		i++;
    	}
    
    	return;
    }
  • 相关阅读:
    规范的html页面
    什么是MVC (模型 视图 控制器)?
    MVC概念
    MVC实用集锦(1)
    三层架构与MVC的区别
    spring-data-jpa的简单介绍
    Spring和SpringMVC的区别
    Spring常用注解汇总
    jmeter---CSV文件设置操作
    Linux----软件包管理
  • 原文地址:https://www.cnblogs.com/hong2016/p/7550258.html
Copyright © 2020-2023  润新知