로그 수신 및 오버레이 표시
rcl_interfaces::msg::Log
를 받고 표시하는 플러그인을 만듭니다.실행 예
ROS1 버전
이 코드를 rviz2 용으로 다시 작성하십시오.
ROS 강좌 118 overlay로 표시 rviz display plugind 만들기
ROS1의 주요 변경 사항
log_display.hpp
함수 추가
virtual void onInitialize();
virtual void reset();
주제 수신 RosTopicDisplay
class LogDisplay : public rviz_common::RosTopicDisplay<rcl_interfaces::msg::Log>
{
private:
// 以下は使用しない
// ros::NodeHandle nh_;
// ros::Subscriber log_sub_;
};
log_display.cpp
다음 파일을 읽는 것을 잊지 마십시오.
Dashing 환경(아마 Eloquent에서도)에서는 이 파일이 include 디렉토리에 존재하지 않고 include 할 수 없기 때문에
Github에서 가져 오거나 로컬 환경에있는 render_system.hpp
를 /opt/ros/[distribution]/include/rviz_rendering
아래에 배치하십시오.
#include <rviz_rendering/render_system.hpp> // 重要
void LogDisplay::onInitialize()
{
rviz_rendering::RenderSystem::get()->prepareOverlays(scene_manager_); // 重要
RTDClass::onInitialize();
}
void LogDisplay::reset()
{
RTDClass::reset();
}
prepareOverlays()
에 대한 호출을 추가하고 있습니다. 이것이 없으면 rviz에서 그리기 처리가 실행되지 않으므로 아무 것도 표시되지 않습니다.
Reference
이 문제에 관하여(로그 수신 및 오버레이 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Kotakku/items/fe483e2238285c6266b0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 코드를 rviz2 용으로 다시 작성하십시오.
ROS 강좌 118 overlay로 표시 rviz display plugind 만들기
ROS1의 주요 변경 사항
log_display.hpp
함수 추가
virtual void onInitialize();
virtual void reset();
주제 수신 RosTopicDisplay
class LogDisplay : public rviz_common::RosTopicDisplay<rcl_interfaces::msg::Log>
{
private:
// 以下は使用しない
// ros::NodeHandle nh_;
// ros::Subscriber log_sub_;
};
log_display.cpp
다음 파일을 읽는 것을 잊지 마십시오.
Dashing 환경(아마 Eloquent에서도)에서는 이 파일이 include 디렉토리에 존재하지 않고 include 할 수 없기 때문에
Github에서 가져 오거나 로컬 환경에있는 render_system.hpp
를 /opt/ros/[distribution]/include/rviz_rendering
아래에 배치하십시오.
#include <rviz_rendering/render_system.hpp> // 重要
void LogDisplay::onInitialize()
{
rviz_rendering::RenderSystem::get()->prepareOverlays(scene_manager_); // 重要
RTDClass::onInitialize();
}
void LogDisplay::reset()
{
RTDClass::reset();
}
prepareOverlays()
에 대한 호출을 추가하고 있습니다. 이것이 없으면 rviz에서 그리기 처리가 실행되지 않으므로 아무 것도 표시되지 않습니다.
Reference
이 문제에 관하여(로그 수신 및 오버레이 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Kotakku/items/fe483e2238285c6266b0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
virtual void onInitialize();
virtual void reset();
class LogDisplay : public rviz_common::RosTopicDisplay<rcl_interfaces::msg::Log>
{
private:
// 以下は使用しない
// ros::NodeHandle nh_;
// ros::Subscriber log_sub_;
};
#include <rviz_rendering/render_system.hpp> // 重要
void LogDisplay::onInitialize()
{
rviz_rendering::RenderSystem::get()->prepareOverlays(scene_manager_); // 重要
RTDClass::onInitialize();
}
void LogDisplay::reset()
{
RTDClass::reset();
}
Reference
이 문제에 관하여(로그 수신 및 오버레이 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Kotakku/items/fe483e2238285c6266b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)