geometry_msgs的ros message 类型赋值
test_custom_particles.cpp
//
// Created by gary on 2019/8/27.
// #include <ros/ros.h>
#include <std_msgs/String.h>
#include <geometry_msgs/PoseArray.h>
#include <geometry_msgs/Pose.h>
#include "amcl/amcl_particles.h"
#include <stdlib.h> ros::NodeHandle *nh = ;
ros::ServiceClient test_custom_particles_;
int main(int argc, char** argv)
{
ros::init(argc, argv, "test_custom_particles");
ros::NodeHandle nh_("~");
nh = &nh_;
while(!ros::service::waitForService("/amcl/set_particles", ros::Duration(3.0)))
{
ROS_ERROR("The service of /amcl/set_particles is not available.");
}
test_custom_particles_ = nh->serviceClient<amcl::amcl_particles>("/amcl/set_particles", true);
if(!test_custom_particles_)
{
ROS_ERROR("Could not initialize goal_reached_client service from %s",test_custom_particles_.getService().c_str());
//抛出错误,以及其他处理机制
return ;
}
ROS_INFO("");
amcl::amcl_particles test_custorm_particle_srv;
test_custorm_particle_srv.request.pose_array_msg.header.stamp = ros::Time::now();//-1意思为告诉用户到达零点失败
//test_custorm_particle_srv.request.pose_array_msg.poses = (geometry_msgs::Pose *)malloc(sizeof(geometry_msgs::Pose) * 1000);
geometry_msgs::Pose le;
for(int i = ; i < ; i++)
{
le.position.x = ;
le.position.y = ;
le.position.z = ;
le.orientation.x = ;
le.orientation.y = ;
le.orientation.z = ;
le.orientation.w = ;
test_custorm_particle_srv.request.pose_array_msg.poses.push_back(le) ; }
ROS_INFO("");
if(test_custom_particles_.call(test_custorm_particle_srv))
{
if(test_custorm_particle_srv.response.success)
{
ROS_INFO("success.");
}
else
{
ROS_ERROR("failture.");
}
}
ros::spin();
return ;
}
amcl_particles.srv
geometry_msgs/PoseArray pose_array_msg
---
bool success
geometry_msgs的ros message 类型赋值的更多相关文章
- Swift语言—常量、变量、类型赋值
常量:常量在作用域内不能被赋值且不会发生改变,只读不写,每个常量都必须有唯一的名字和内存空间:关键字:let 变量:变量在作用区域内可以它的值可以被改变,可读可写可覆盖,每个常量都必须有唯一的名字 ...
- wcf 数值类型赋值不能的问题解决
客户端给对象int类型赋值,服务端收到值为0 网上给出的方案 1.数值型字段+isrequired属性.能解决问题,但没有说明原因.数值型默认不赋值,不科学. 2.emitdefaultvalue.没 ...
- 关于Mapreduce Text类型赋值的错误
Mapreduce中Text类型数据被无缘无故替换? 今天偶然看到一个mapreduce demo,直接上手操作 统计两个文件中 最大值 文件中数据格式为 名字 数值 输出为 名字(最大值所对应的 ...
- float,short类型赋值运算问题
float f = 3.4; 有错吗? 有错,因为浮点类型默认是double类型,double类型赋值给float类型是大类型赋值给小类型需要进行强转,可在3.4前加(float)进行强转,或者在声明 ...
- 关于C#编程中引用与值类型赋值的一些容易犯错的地方
值类型与引用类型的区别在于:值类型在赋值的时候是拷贝值,引用类型在赋值的时候的拷贝引用.记住这一个原则,我们再来分析一些具体情况: PointStruct pt1 = ,); PointStruct ...
- C# 使用指针将不同值类型赋值到字节数组中
C#指针操作字节数组 Demo(以添加short类型的值为例): //bytes:目标字节数组; offset:目标在字节数组的位置; value:添加的类型值public static unsafe ...
- ROS 自定义消息类型方法
流程 1.在package中新建文件夹名为msg 2.在msg文件夹中创建消息(此处以my_msg.msg)为例,注意的是要以msg为后缀名 内容举例如下: int32 data1 float64 d ...
- Sql狗血的Bit类型赋值与取值
Bit 数据类型在 SQL Server 数据库中以存储 1.0 进行存储. 往数据库中添加,修改 bit 类型的字段时,只能用 0 或者 1. 关于修改 Bit 类型的字段 1.若使用 SQL 语句 ...
- 用JQUERY为INPUT的TXT类型赋值及取值操作
注意和纯JS操作的区别,一个是对象,一个是字串,如下说明: 在Jquery中,用$("#id")来获得页面的input元素,其相当于document.getElementById( ...
随机推荐
- Oracle 11g 详细安装步骤
一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下地址: http://www.ora ...
- [POJ1772] Substract
问题描述 We are given a sequence of N positive integers a = [a1, a2, ..., aN] on which we can perform co ...
- hdu 6205: card card card【输入挂】
题目链接 感谢 http://blog.csdn.net/txgang/article/details/77568491 以下供参考 getchar读入法 2683MS FastIO法 MX=1e2 ...
- TreeView拖动并存入数据库(可判断拖动)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 2019 年百度之星—初赛一 B题 Game
题目链接 题意:最开始可以选择任意位置,在一个坐标轴上,依次走到一个区间里面,可以选择走一步两步,求最小步数. 思路:贪心,刚开始合并区间,确定初始位置以及方向.往右走肯定到左端点,往左走先到右端点, ...
- [CSP-S模拟测试]:数论(数学)
题目传送门(内部题11) 输入格式 第一行,三个整数$T,K,M$,分别代表数据组数.良好标准和整数范围.接下来$T$行,每行一个整数$n_i$,代表一个询问. 输出格式 输出$T$行,在第$i$行对 ...
- C++ 拷贝构造函数与赋值函数的区别(很严谨和全面)
这里我们用类String 来介绍这两个函数: 拷贝构造函数是一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用.当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式 ...
- 修改mac下homebrew的源 加快下载速度
把源改为清华的镜像 # HOMEBREW_BOTTLE_DOMAIN就是目标源 修改这个路径就可以里 echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirro ...
- NOIP2011 洛谷P1315 观光公交
题目传送门 先解释一下数组的意义: d[i]表示公交车从第i个点到第i+1个点需要的时间 pas结构体中:t表示这个乘客到公交站牌的时间,u表示起点,v表示终点 wait[i]表示公交车在第i个站点等 ...
- javascript-object对象属性操作之Object.defineProperty
一.基本用法简介 声明一个简单的对象,如下 var obj = { name: 'ldld' } 我们可以用Object.defineProperty来声明这个对象 var obj = {} Obje ...