Rviz设置延迟显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rviz设置延迟显示相关的知识,希望对你有一定的参考价值。

参考技术A 第一个测试检查角速度是否合理 ,第二个测试检查线速度是否合理。
1 设置.bashrc配置文件的IP出错。
2 主从机没有同步时间,需要使用ntpdate进行同步。
3 命令运行错误,重新输入运行。
4 重启rviz。
先运行命令:export LIBGL_ALWAYS_SOFTWARE=1。
然后再运行命令rosrun rviz rviz。
逐一排查。

ROS学习之rviz在rviz中显示图片

思路: 
(1)使用opencv读取本地图像 
(2)调用cv_bridge::CvImage().toImageMsg()将本地图像发送给rviz显示

 

1.使用opencv读取本地图像并发布图像消息
(1)利用catkin新建一个工程叫rosopencv,并进行初始化

 

mkdir -p rosopencv/src
cd rosopencv/src
catkin_create_pkg rosopencv sensor_msgs cv_bridge roscpp std_msgs image_transport
cd ..
catkin_make
source ./devel/setup.bash


(2)编辑主函数代码

在rosopencv包文件夹src目录下创建rosopencv.cpp

主函数rosopencv.cpp内容如下

 

    #include <ros/ros.h>
    #include <image_transport/image_transport.h>
    #include <opencv2/highgui/highgui.hpp>
    #include <cv_bridge/cv_bridge.h>
     
    #include <stdio.h>
     
    int main(int argc, char** argv)
    {
      ros::init(argc, argv, "image_publisher");
      ros::NodeHandle nh;
      image_transport::ImageTransport it(nh);
      image_transport::Publisher pub = it.advertise("camera/image", 1);
     
      cv::Mat image = cv::imread("~/rosopencv/test.jpg", CV_LOAD_IMAGE_COLOR);
      if(image.empty()){
       printf("open error\\n");
       }
      sensor_msgs::ImagePtr msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", image).toImageMsg();
     
      ros::Rate loop_rate(5);
      while (nh.ok()) {
        pub.publish(msg);
        ros::spinOnce();
        loop_rate.sleep();
      }
    }

 



(3)编辑CmakeLists.txt 

cmake_minimum_required(VERSION 3.0.2)
project(rosopencv)

find_package(catkin REQUIRED COMPONENTS
  cv_bridge
  image_transport
  roscpp
  sensor_msgs
  std_msgs
)

catkin_package(
  INCLUDE_DIRS include
#  LIBRARIES rosopencv
  CATKIN_DEPENDS cv_bridge image_transport roscpp sensor_msgs std_msgs
#  DEPENDS system_lib
)


include_directories(
  include
  ${catkin_INCLUDE_DIRS}
)

add_executable(${PROJECT_NAME}_node src/rosopencv.cpp)


target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES} )

 


2编译和运行


编译

  1. cd ~/rosopencv
  2. catkin_make



打开一个终端运行 roscore

 

另外一个终端工作空间运行

 source devel/setup.bash 

rosrun rosopencv rosopencv_node 

 

3.在rviz 中显示

rviz


左边点击add 
选中image 
在image的topic选项中选 
/camera/image

即可显示图片

 

以上是关于Rviz设置延迟显示的主要内容,如果未能解决你的问题,请参考以下文章

Linux虚拟机远程使用rviz的方法

ROS学习--RViz使用的要点

ROS学习之rviz在rviz中显示图片

一起学习Rviz——显示简单立体模型

rosrun rviz rviz 详解

加快Windows10菜单延迟显示效果设置教程