有时为了验证程序可以运行,需要给程序输入一个里程计信息;有时为了在实车实验前验证程序,需要修改不同的里程计数据(可以在下面代码中增加一个odom_tmp的数组,或者用循环来使odom_tmp值变化),下面这个c++代码可以实现这个功能:

pub_odom.cpp

#include "ros/ros.h"
#include "std_msgs/String.h"
#include <geometry_msgs/PoseWithCovarianceStamped.h>
#include <iostream>
#include <geometry_msgs/PoseStamped.h>
#include "nav_msgs/OccupancyGrid.h"
#include "nav_msgs/Odometry.h"
#include <tf/transform_datatypes.h>
#include <tf/transform_broadcaster.h>
#include <Eigen/Dense>ros::Publisher  pubCarpositiopn;void odom_pub(){nav_msgs::Odometry odom_tmp;odom_tmp.header.frame_id = "/camera_init";odom_tmp.child_frame_id ="/aft_mapped";odom_tmp.header.stamp = ros::Time::now();  //参数可以改动odom_tmp.pose.pose.position.x=-0.1;odom_tmp.pose.pose.position.y=9;odom_tmp.pose.pose.position.z=0;// odom_tmp.pose.pose.orientation.x=0;// odom_tmp.pose.pose.orientation.y=0;// odom_tmp.pose.pose.orientation.z=0;// odom_tmp.pose.pose.orientation.w=1;// 绕z轴旋转90°//参数可以改动odom_tmp.pose.pose.orientation.x=0.707;odom_tmp.pose.pose.orientation.y=0;odom_tmp.pose.pose.orientation.z=0;odom_tmp.pose.pose.orientation.w=0.707;pubCarpositiopn.publish(odom_tmp);
}int main(int argc, char **argv)
{ros::init(argc, argv, "pub_odom");ros::NodeHandle nh;pubCarpositiopn = nh.advertise<nav_msgs::Odometry>("/aft_mapped_to_init", 1);//显示车辆/雷达在地图中的位置ros::Rate rate_10hz(10);  while(ros::ok()){odom_pub();rate_10hz.sleep();}return 0;
}

rviz效果:

ros(25):发布一个静态的里程计odom信息相关推荐

  1. 【cartographer_ros】四: 发布和订阅里程计odom信息

    上一节介绍了激光雷达Scan传感数据的订阅和发布. 本节会介绍里程计Odom数据的发布和订阅.里程计在cartographer中主要用于前端位置预估和后端优化. 官方文档: http://wiki.r ...

  2. 【cartographer without ros】四、里程计odom数据转换

    上一节介绍了cartographer中的TimedPointCloudData数据相关转换. 本节将介绍里程计Odom数据转换为cartographer中的OdometryData数据.还有carto ...

  3. 发布里程计传感器信息

    一.ROS使用tf来决定机器人的位置和静态地图中的传感器数据,但是tf中没有机 器人的速度信息,所以导航功能包要求机器人 能够通过里程计信息源发布包含速度信息的里程计nav_msgs/Odometry ...

  4. 在ROS平台使用扩展卡尔曼融合里程计与IMU传感器

    里程计的问题 里程计在转弯的时候, 能容易发生飘移现象,而且精度也不高, 容易产生累积误差 因此, 笔者想到了能不能通过imu来提高机器人的定位效果, 本文采用扩展卡尔曼滤波, ros上的功能包为ro ...

  5. 再发布一个windows live writer 插件 图标信息框 wlw plugin icon info frame

    原地址: http://www.zu14.cn/2008/12/14/wlw_plugin_icontip/ 自上次发布 windows live writer 插件 coolemotion 之后,已 ...

  6. 基于ROS与C++,只利用IMU实现里程计和计步器,精确计算行走距离

    老规矩,开门见山,先说说本篇文章实现了什么: 1.只使用IMU模块,实现了对于人行走距离的检测(精度在0.5m左右) 2.只使用IMU模块,通过峰值检测\机器学习两个方法,实现了一个精确的计步器 背景 ...

  7. ROS里程计的学习(odometry) (三)

    机器人差分运动模型如上图: 假设我们知道左右轮的速度,则线速度为V=(Vl+Vr)/2     角速度为W=(Vr-Vl)/l     圆弧运动半径为r=V/W 公式①:机器人前进速度等于两轮速度之和 ...

  8. 视觉和Lidar里程计SOTA方法一览!(Camera/激光雷达/多模态)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[SLAM]技术交流群 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD ...

  9. 里程计运动模型及标定

    文章目录 1 里程计运动模型 1.1 两轮差分底盘的运动模型 1.2 三轮全向底盘的运动学模型 1.3 航迹推算(Dead Reckoning) 2 里程计标定 2.1 线性最小二乘的基本原理 2.2 ...

最新文章

  1. 2022-2028年全球与中国人字拖市场研究及前瞻分析报告
  2. 苹果放大招?「廉价版」5G iPhone 将揭晓,M2芯片来袭?
  3. python如何输入和输出_输入和输出
  4. [Leedcode][JAVA][第542题][01矩阵][BFS]
  5. 计算机检索技术与技巧的检索式为,第四章计算机检索技术和数据库检索方式.ppt...
  6. java 进制转换算法_算法笔记_033:十六进制转八进制(Java)
  7. _declspec(naked) 使用
  8. 好莱坞标志将以NFT形式进行慈善拍卖
  9. python之Excel操作
  10. tomcat7 java_java开发环境配置(windows下JDK7+tomcat7)
  11. MacBook进阶技巧,如何在触控栏添加一键截屏?
  12. php ddos 防御,PHP DDos的几个防御方法详解
  13. 基于3DGIS+BIM的房屋出售管理系统
  14. Python使用打码平台进行识别验证码
  15. vim 配置(ma6174 + YCM)
  16. .Net Core MVC使用EF
  17. 辰智:2018中国餐饮大数据白皮书
  18. 这 5 款软件,让你的电脑变得更高效!
  19. 智慧医院3D导航导诊系统-基础功能详解
  20. 【javaweb简单教程】1.搭建Web环境、初识JSP

热门文章

  1. 微信小程序中的typeof cb == “function” cb(that.globalData.userInfo)
  2. rime|小狼毫 显示元素信息效果
  3. 【运筹优化】SMO蜘蛛猴优化算法求解无约束多元函数最值(Java代码实现)
  4. 美通社持续加强亚太地区新闻发布网络
  5. ffmpeg硬编解码 Inter QSV
  6. HSIC一种基于USB的高速芯片通讯协议
  7. 【分布式系统】CAP定理是什么?
  8. Eclipse如何下载安装汉化版
  9. 百度云身份证识别以及获取身份证信息
  10. FRED在杂散光分析中的应用