ROS仿真机器人实现Rviz轨迹显示

这篇具有很好参考价值的文章主要介绍了ROS仿真机器人实现Rviz轨迹显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实现效果
红色为行驶过的轨迹
ros显示轨迹,ROS编程,ROS探索,机器人,c++二、实现方法
1、导航包中创建.cpp文件,并将以下代码复制进去
ros显示轨迹,ROS编程,ROS探索,机器人,c++
2、CMakeLists当中添加可执行文件及链接库ros显示轨迹,ROS编程,ROS探索,机器人,c++3、启动导航的launch文件中添加启动该cpp文件
ros显示轨迹,ROS编程,ROS探索,机器人,c++

三、代码文章来源地址https://www.toymoban.com/news/detail-616175.html

#include <ros/ros.h>
#include <ros/console.h>
#include <nav_msgs/Path.h>
#include <nav_msgs/Odometry.h>
#include <std_msgs/String.h>
#include <geometry_msgs/Quaternion.h>
#include <geometry_msgs/PoseStamped.h>
#include <tf/transform_broadcaster.h>
#include <tf/tf.h>
nav_msgs::Path  path;
ros::Publisher  path_pub;
 
void odomCallback(const nav_msgs::Odometry::ConstPtr& odom)
{
    geometry_msgs::PoseStamped this_pose_stamped;
    this_pose_stamped.pose.position.x = odom -> pose.pose.position.x;
    this_pose_stamped.pose.position.y = odom -> pose.pose.position.y;
    this_pose_stamped.pose.position.z = odom -> pose.pose.position.z;
 
    this_pose_stamped.pose.orientation = odom -> pose.pose.orientation;
 
    this_pose_stamped.header.stamp = ros::Time::now();
    this_pose_stamped.header.frame_id = "map";
 
    path.poses.push_back(this_pose_stamped);
 
    path.header.stamp = ros::Time::now();
    path.header.frame_id = "map";
    path_pub.publish(path);
    printf("path_pub:");
    printf("odom %.3lf %.3lf %.3lf\n", odom->pose.pose.position.x, odom->pose.pose.position.y, odom->pose.pose.position.z);
}
 
int main (int argc, char **argv)
{
    ros::init (argc, argv, "showpath_odom");
    ros::NodeHandle ph;
 
    path_pub = ph.advertise<nav_msgs::Path>("trajectory_odom", 10, true);
    ros::Subscriber odomSub = ph.subscribe<nav_msgs::Odometry>("/odom", 10, odomCallback);  //订阅里程计话题信息
    
    ros::Rate loop_rate(50);
    while(ros::ok())
    {
        ros::spinOnce();
        loop_rate.sleep();
    }
    return 0;
}

到了这里,关于ROS仿真机器人实现Rviz轨迹显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用ROS做机器人手眼标定和Qt+rviz+图片话题显示的UI设计

            博主是在上一篇博文的基础上作的研究和总结,希望这篇文章可以对诸君有用,同时博主也对鱼香ROS、小鱼大佬、以及其他相关创作者的支持表示由衷的感谢,本文章内容也将继续公开且代码开源。         文章将讲述usb_cam(usb相机内参标定)、handeye-calib(手眼标

    2024年02月21日
    浏览(47)
  • xacro机器人模型文件转urdf文件怎么编写launch文件启动gazebo仿真和在rviz2内显示模型

    urdf文件很直白,每个零件的/link  /joint都要编写一遍,每个零件数据都要自己算出来结果,很麻烦,但是用起来很简单。xacro写的模型文件可以把好多常量提前定义出来,不同大小的机器人只要只要改一下常量,机器人模型就可以重新生成,代码可以复用,编写起来简单多了

    2024年02月12日
    浏览(39)
  • Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现

    操作系统为ubuntu18.04 安装ROS Melodic Turtlebot2,很多大佬分享了详细的安装过程,在这里就不多赘述,安装遇到问题多百度,大部分都是可以解决的。 前期学习了赵虚左老师的ROS入门课程,结合Turtlebot2资料这里方便大家打开,放的创客制造的文档,也推荐大家去看官方文档 首先

    2023年04月25日
    浏览(69)
  • 【ROS2机器人入门到实战】RVIZ2可视化移动机器人模型

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 大家好,我是小鱼,上一节讲完joint和link,我们来把我们上面定义

    2024年02月03日
    浏览(43)
  • 【ROS2机器人入门到实战】通过JointStates控制RVIZ2关节

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 我是小鱼,本节我们来看看如何手动的发送 joint_states 来控制机器人

    2024年02月02日
    浏览(62)
  • 【ROS】—— 机器人导航(仿真)—导航实现(十八)[重要][重要][重要]

    📢本系列将依托赵虚左老师的ROS课程,写下自己的一些心得与笔记。 📢课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 📢讲义链接:http://www.autolabor.com.cn/book/ROSTutorials/index.html 📢 文章可能存在疏漏的地方,恳请大家指出。 安装相应功能包: 安装 gmapping 包(用于构建地图): sudo a

    2024年02月01日
    浏览(45)
  • kuka示教器嵌套UR界面操作ros中rviz的UR机器人

    本例展示了用QT增加一个网页视图,背景是kuka示教器界面,中间增加UR的VNC网页界面显示。本人博客中一起有写过ros2运行UR的操作。         ros2 UR10仿真包运行_基于ros的ur仿真-CSDN博客       效果如下:     背景的增加,参考这篇文件。  qt for python创建UI界面-CSDN博客   主要

    2024年02月21日
    浏览(49)
  • rviz上不显示机器人模型(模型只有白色)

    文档中的是base_footprint,需要根据自己所设的坐标系更改,我的改为base_link 如何查看自己设的坐标系: 这些parent父坐标系就是 同时打开rviz后需要更改成base_link

    2024年04月17日
    浏览(31)
  • Matlab机器人的仿真(八):绘制机器人运动轨迹(复现)

    跑一得出运动轨迹的动图结果: 跑二得出的绘出6个关节的角度,角速度,角加速度的信息图: 跑三得出的结果:末端点轨迹(x-y-z视图)

    2024年02月11日
    浏览(49)
  • ROS2机器人任务级导航仿真系统设计与实现(预告)

    前一篇: ​​​​​ROS2工业机械臂抓取仿真系统设计与实现(预告) ROS2机器人任务级导航仿真系统设计与实现 一、背景与意义 随着机器人技术的不断发展和智能化需求的提高,机器人在各个领域中的应用越来越广泛。其中,机器人导航系统是实现机器人自主移动、完成各

    2024年01月24日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包