rviz_visual_tools package from rviz_visual_tools repo

rviz_visual_tools

Package Summary

Tags No category tags.
Version 4.1.4
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/rviz_visual_tools.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Utility functions for displaying and debugging data in Rviz via published markers

Additional Links

Maintainers

  • Mike Lautman

Authors

  • Mike Lautman

Rviz Visual Tools

C++ API wrapper for displaying shapes and meshes in Rviz via helper functions that publish markers. Useful for displaying and debugging data. For more advanced robot visualization features, see the moveit_visual_tools which builds on this class.

This package includes:

  • Rviz Panel GUI to step through your code for debugging and testing
  • Rviz-based keyboard control for stepping through application
  • Easy to use helper functions for visualizing in Rviz fast
  • Basic geometric markers for Rviz
  • More complex geometric shapes such as coordinate frames, framed boxes, planes, paths, graphs
  • Ability to quickly choose standard colors and sizes
  • Tools to ensure proper connection to Rviz before publishing visualizations
  • Shortcuts to convert between different types of points and poses - ROS msgs, Eigen, tf, etc
  • Batch publishing capabilities to reduce over throttling ROS messages
  • A tf publishing helper class
  • An interactive marker helper class

Developed by Dave Coleman at the Correll Robotics Lab, University of Colorado Boulder with help from Andy McEvoy and many others.

Buy Me a Coffee at ko-fi.com

  • Format
  • BuildAndTest
  • codecov
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Debian Build for Ubuntu 16.04
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Devel Build for Ubuntu 16.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Debian Build for Ubuntu 18.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Devel Build for Ubuntu 18.04

Install

Ubuntu Debian

sudo apt-get install ros-${ROS_DISTRO}-rviz-visual-tools

Build from Source

Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies. Depending on your current version of ROS, use:

rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

Quick Start Demo

To see random shapes generated in Rviz, first launch Rviz:

ros2 launch rviz_visual_tools demo_rviz.launch.py

Then start the RViz Visual Tools demo:

ros2 run rviz_visual_tools rviz_visual_tools_demo

Code API

See the Doxygen documentation

Usage

We'll assume you will be using these helper functions within a class. Almost all of the functions assume you are publishing transforms in the world frame (whatever you call that e.g. /odom).

Initialize

Add to your includes:

#include <rviz_visual_tools/rviz_visual_tools.hpp>

Add to your class's member variables:

// For visualizing things in rviz
rviz_visual_tools::RvizVisualToolsPtr visual_tools_;

In your class' constructor add:

visual_tools_.reset(new rviz_visual_tools::RvizVisualTools("base_frame","/rviz_visual_markers", node));

Change the first parameter to the name of your robot's base frame, and the second parameter to whatever name you'd like to use for the corresponding Rviz marker ROS topic.

Tools

Now in your code you can easily debug your code using visual markers in Rviz

Start rviz and create a new marker using the 'Add' button at the bottom right. Choose the marker topic to be the same as the topic you specified in the constructor.

Example Code

In the following snippet we create a pose at xyz (0.1, 0.1, 0.1) and rotate the pose down 45 degrees along the Y axis. Then we publish the pose as a arrow for visualziation in Rviz. Make sure your Rviz fixed frame is the same as the one chosen in the code.

// Create pose
Eigen::Isometry3d pose;
pose = Eigen::AngleAxisd(M_PI/4, Eigen::Vector3d::UnitY()); // rotate along X axis by 45 degrees
pose.translation() = Eigen::Vector3d( 0.1, 0.1, 0.1 ); // translate x,y,z

// Publish arrow vector of pose
ROS_INFO_STREAM_NAMED("test","Publishing Arrow");
visual_tools_->publishArrow(pose, rviz_visual_tools::RED, rviz_visual_tools::LARGE);

// Don't forget to trigger the publisher!
visual_tools_->trigger();

For more example code see rviz_visual_tools_demo.cpp

Rviz GUI Usage

NOT PORTED

Publishes on the topic of /rviz_visual_tools_gui

The buttons in the Joy message correspond to the following:

1 - Next
2 - Continue
3 - Break
4 - Stop

Note: only Next is fully implemented

Mouse-Based Control

NOT PORTED

Use the Rviz panel called "RvizVisualToolsGui" to step through your program.

Keyboard-Based Control

NOT PORTED

Switch to the "KeyTool" in the top of the Rviz window and use the following keyboard commands: - n: next - c or a: continue - b: break - s: stop

API

Basic Publishing Functions

See rviz_visual_tools.h for more details and documentation on the following functions:

  • publishSphere
  • publishSpheres
  • publishArrow/publishXArrow
  • publishYArrow
  • publishZArrow
  • publishCuboid
  • publishCone
  • publishXYPlane
  • publishXZPlane
  • publishYZPlane
  • publishLine
  • publishPath
  • publishPolygon
  • publishBlock
  • publishWireframeCuboid
  • publishWireframeRectangle
  • publishAxis
  • publishAxisLabeled
  • publishCylinder
  • publishMesh
  • publishText
  • publishTest

And more...

Helper Functions

Reset function

  • deleteMarker(std::string namespace, std::size_t id) - tells Rviz to clear a specific marker from being displayed.
  • deleteAllMarkers() - tells Rviz to clear out all current markers from being displayed.

All markers must be triggered after being published, by calling the trigger() function. This allows batch publishing to be achieved by only calling after several markers have been created, greatly increasing the speed of your application. You can even explicitly tell rviz_visual_tools how often to publish via the triggerEvery(NUM_MARKERS) command:

  • trigger()
  • triggerEvery(20)

Conversion functions

  • convertPose
  • convertPoint32ToPose
  • convertPoseToPoint
  • convertPoint
  • convertPoint32
  • convertFromXYZRPY
  • convertToXYZRPY

Convenience functions

  • generateRandomPose
  • generateEmptyPose
  • dRand
  • fRand
  • iRand
  • getCenterPoint
  • getVectorBetweenPoints

Frame locking

This allows the markers to be automatically updated as the base frame moves without having to republish. You can enable it via enableFrameLocking() (this is not enabled by default).

Available Colors

This package helps you quickly choose colors - feel free to send PRs with more colors as needed

BLACK,
BLUE,
BROWN,
CYAN,
DARK_GREY,
GREEN,
GREY,
LIME_GREEN,
MAGENTA,
ORANGE,
PINK,
PURPLE,
RED,
WHITE,
YELLOW,
TRANSLUCENT_LIGHT,
TRANSLUCENT,
TRANSLUCENT_DARK,
RAND,
CLEAR,
DEFAULT // i.e. 'do not change default color'

Available Marker Sizes

XXXXSMALL,
XXXSMALL,
XXSMALL,
XSMALL,
SMALL,
MEDIUM,
LARGE,
XLARGE,
XXLARGE,
XXXLARGE,
XXXXLARGE,

Interactive Marker Helper Class

This class quickly gives you basic 6dof pose interactive marker funcitonality. A demo is available:

ros2 launch rviz_visual_tools demo_rviz.launch.py
ros2 run rviz_visual_tools rviz_visual_tools_imarker_simple_demo

TF Visual Tools

This tool lets you easily debug Eigen transforms in Rviz. Demo use:

rviz_visual_tools::TFVisualTools tf_visualizer;
Eigen::Isometry3d world_to_shelf_transform = Eigen::Isometry3d::Identity(); // or whatever value
tf_visualizer.publishTransform(world_to_shelf_transform, "world", "shelf");

Note: this is a work in progress

Testing and Linting

ROSlint is now run as a ROS test which can be run with the the following commands from your workspace directory (eg: ./ws_ros2).

catkin build --packages-select rviz_visual_tools
catkin test --packages-select rviz_visual_tools

Run with clang-tidy:

run-clang-tidy-4.0.py -clang-tidy-binary=/usr/lib/llvm-4.0/bin/clang-tidy -fix -p=$COLCON_WS/build/rviz_visual_tools .

Docker Image

Dockerhub automatically creates a Docker for this repo. To run with GUI:

# This is not the safest way however, as you then compromise the access control to X server on your host
xhost +local:root # for the lazy and reckless
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" picknik/rviz_visual_tools:${ROS_DISTRO}
export containerId=$(docker ps -l -q)
# Close security hole:
xhost -local:root

(Optional) To build the docker image locally for this repo, run in base of package:

docker build -t picknik/rviz_visual_tools:${ROS_DISTRO} .

Contribute

Please send PRs for new helper functions, fixes, etc!

When a pull request is opened, a reviewer is randomly assigned from the reviewer list using the Auto Assign Github Bot

CHANGELOG

Changelog for package rviz_visual_tools

4.1.4 (2023-01-05)

  • Migrate to Ogre.h (#226)
  • Remove galactic jobs since they are deprecated (#232)
  • Add arbitrary color option to publishCuboid (#227)
  • Bump clang-format version to 14 (#228)
  • Contributors: Sebastian Castro, Stephanie Eng, Vatan Aksoy Tezer

4.1.3 (2022-07-18)

  • Humble CI and formatting updates (#220)
  • Minor typo fix (#222)
  • Add a method to publish a plane using the normal and distance (#221) Co-authored-by: AndyZe <andyz@utexas.edu>
  • Fix description of plane functions (#219)
  • Update black version (#218)
  • Add option to never wait for subscriber (#217)
  • Contributors: Marq Rasmussen, Stephanie Eng, Vatan Aksoy Tezer

4.1.2 (2021-12-13)

  • Fix faulty templated constructor (#211)
  • Make sure to add all dependencies to the package.xml (#209) Otherwise it will fail to build on the buildfarm.
  • Contributors: Chris Lalancette, Vatan Aksoy Tezer

4.1.1 (2021-10-07)

  • Re-enable RemoteControl functionality (#205)
    • use condition_variable to be more thread safe
    • Drop executor from constructor, deprecate old one
    • Fix RemoteControl usage in demo
    • Use SystemDefaultsQOS for RemoteControl subscriber
    • Add RvizVisualToolsGui dashboard to rviz config, correct view
  • Add pluginlib dependency. (#203)
  • Fix package dependencies and cmake export (#202)
  • Rename node_executable to executable (#200)
  • Contributors: Davide Faconti, Henning Kayser, Jafar Abdi, Steven! Ragnar

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged rviz_visual_tools at Robotics Stack Exchange

rviz_visual_tools package from rviz_visual_tools repo

rviz_visual_tools

Package Summary

Tags No category tags.
Version 4.1.4
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/rviz_visual_tools.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Utility functions for displaying and debugging data in Rviz via published markers

Additional Links

Maintainers

  • Mike Lautman

Authors

  • Mike Lautman

Rviz Visual Tools

C++ API wrapper for displaying shapes and meshes in Rviz via helper functions that publish markers. Useful for displaying and debugging data. For more advanced robot visualization features, see the moveit_visual_tools which builds on this class.

This package includes:

  • Rviz Panel GUI to step through your code for debugging and testing
  • Rviz-based keyboard control for stepping through application
  • Easy to use helper functions for visualizing in Rviz fast
  • Basic geometric markers for Rviz
  • More complex geometric shapes such as coordinate frames, framed boxes, planes, paths, graphs
  • Ability to quickly choose standard colors and sizes
  • Tools to ensure proper connection to Rviz before publishing visualizations
  • Shortcuts to convert between different types of points and poses - ROS msgs, Eigen, tf, etc
  • Batch publishing capabilities to reduce over throttling ROS messages
  • A tf publishing helper class
  • An interactive marker helper class

Developed by Dave Coleman at the Correll Robotics Lab, University of Colorado Boulder with help from Andy McEvoy and many others.

Buy Me a Coffee at ko-fi.com

  • Format
  • BuildAndTest
  • codecov
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Debian Build for Ubuntu 16.04
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Devel Build for Ubuntu 16.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Debian Build for Ubuntu 18.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Devel Build for Ubuntu 18.04

Install

Ubuntu Debian

sudo apt-get install ros-${ROS_DISTRO}-rviz-visual-tools

Build from Source

Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies. Depending on your current version of ROS, use:

rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

Quick Start Demo

To see random shapes generated in Rviz, first launch Rviz:

ros2 launch rviz_visual_tools demo_rviz.launch.py

Then start the RViz Visual Tools demo:

ros2 run rviz_visual_tools rviz_visual_tools_demo

Code API

See the Doxygen documentation

Usage

We'll assume you will be using these helper functions within a class. Almost all of the functions assume you are publishing transforms in the world frame (whatever you call that e.g. /odom).

Initialize

Add to your includes:

#include <rviz_visual_tools/rviz_visual_tools.hpp>

Add to your class's member variables:

// For visualizing things in rviz
rviz_visual_tools::RvizVisualToolsPtr visual_tools_;

In your class' constructor add:

visual_tools_.reset(new rviz_visual_tools::RvizVisualTools("base_frame","/rviz_visual_markers", node));

Change the first parameter to the name of your robot's base frame, and the second parameter to whatever name you'd like to use for the corresponding Rviz marker ROS topic.

Tools

Now in your code you can easily debug your code using visual markers in Rviz

Start rviz and create a new marker using the 'Add' button at the bottom right. Choose the marker topic to be the same as the topic you specified in the constructor.

Example Code

In the following snippet we create a pose at xyz (0.1, 0.1, 0.1) and rotate the pose down 45 degrees along the Y axis. Then we publish the pose as a arrow for visualziation in Rviz. Make sure your Rviz fixed frame is the same as the one chosen in the code.

// Create pose
Eigen::Isometry3d pose;
pose = Eigen::AngleAxisd(M_PI/4, Eigen::Vector3d::UnitY()); // rotate along X axis by 45 degrees
pose.translation() = Eigen::Vector3d( 0.1, 0.1, 0.1 ); // translate x,y,z

// Publish arrow vector of pose
ROS_INFO_STREAM_NAMED("test","Publishing Arrow");
visual_tools_->publishArrow(pose, rviz_visual_tools::RED, rviz_visual_tools::LARGE);

// Don't forget to trigger the publisher!
visual_tools_->trigger();

For more example code see rviz_visual_tools_demo.cpp

Rviz GUI Usage

NOT PORTED

Publishes on the topic of /rviz_visual_tools_gui

The buttons in the Joy message correspond to the following:

1 - Next
2 - Continue
3 - Break
4 - Stop

Note: only Next is fully implemented

Mouse-Based Control

NOT PORTED

Use the Rviz panel called "RvizVisualToolsGui" to step through your program.

Keyboard-Based Control

NOT PORTED

Switch to the "KeyTool" in the top of the Rviz window and use the following keyboard commands: - n: next - c or a: continue - b: break - s: stop

API

Basic Publishing Functions

See rviz_visual_tools.h for more details and documentation on the following functions:

  • publishSphere
  • publishSpheres
  • publishArrow/publishXArrow
  • publishYArrow
  • publishZArrow
  • publishCuboid
  • publishCone
  • publishXYPlane
  • publishXZPlane
  • publishYZPlane
  • publishLine
  • publishPath
  • publishPolygon
  • publishBlock
  • publishWireframeCuboid
  • publishWireframeRectangle
  • publishAxis
  • publishAxisLabeled
  • publishCylinder
  • publishMesh
  • publishText
  • publishTest

And more...

Helper Functions

Reset function

  • deleteMarker(std::string namespace, std::size_t id) - tells Rviz to clear a specific marker from being displayed.
  • deleteAllMarkers() - tells Rviz to clear out all current markers from being displayed.

All markers must be triggered after being published, by calling the trigger() function. This allows batch publishing to be achieved by only calling after several markers have been created, greatly increasing the speed of your application. You can even explicitly tell rviz_visual_tools how often to publish via the triggerEvery(NUM_MARKERS) command:

  • trigger()
  • triggerEvery(20)

Conversion functions

  • convertPose
  • convertPoint32ToPose
  • convertPoseToPoint
  • convertPoint
  • convertPoint32
  • convertFromXYZRPY
  • convertToXYZRPY

Convenience functions

  • generateRandomPose
  • generateEmptyPose
  • dRand
  • fRand
  • iRand
  • getCenterPoint
  • getVectorBetweenPoints

Frame locking

This allows the markers to be automatically updated as the base frame moves without having to republish. You can enable it via enableFrameLocking() (this is not enabled by default).

Available Colors

This package helps you quickly choose colors - feel free to send PRs with more colors as needed

BLACK,
BLUE,
BROWN,
CYAN,
DARK_GREY,
GREEN,
GREY,
LIME_GREEN,
MAGENTA,
ORANGE,
PINK,
PURPLE,
RED,
WHITE,
YELLOW,
TRANSLUCENT_LIGHT,
TRANSLUCENT,
TRANSLUCENT_DARK,
RAND,
CLEAR,
DEFAULT // i.e. 'do not change default color'

Available Marker Sizes

XXXXSMALL,
XXXSMALL,
XXSMALL,
XSMALL,
SMALL,
MEDIUM,
LARGE,
XLARGE,
XXLARGE,
XXXLARGE,
XXXXLARGE,

Interactive Marker Helper Class

This class quickly gives you basic 6dof pose interactive marker funcitonality. A demo is available:

ros2 launch rviz_visual_tools demo_rviz.launch.py
ros2 run rviz_visual_tools rviz_visual_tools_imarker_simple_demo

TF Visual Tools

This tool lets you easily debug Eigen transforms in Rviz. Demo use:

rviz_visual_tools::TFVisualTools tf_visualizer;
Eigen::Isometry3d world_to_shelf_transform = Eigen::Isometry3d::Identity(); // or whatever value
tf_visualizer.publishTransform(world_to_shelf_transform, "world", "shelf");

Note: this is a work in progress

Testing and Linting

ROSlint is now run as a ROS test which can be run with the the following commands from your workspace directory (eg: ./ws_ros2).

catkin build --packages-select rviz_visual_tools
catkin test --packages-select rviz_visual_tools

Run with clang-tidy:

run-clang-tidy-4.0.py -clang-tidy-binary=/usr/lib/llvm-4.0/bin/clang-tidy -fix -p=$COLCON_WS/build/rviz_visual_tools .

Docker Image

Dockerhub automatically creates a Docker for this repo. To run with GUI:

# This is not the safest way however, as you then compromise the access control to X server on your host
xhost +local:root # for the lazy and reckless
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" picknik/rviz_visual_tools:${ROS_DISTRO}
export containerId=$(docker ps -l -q)
# Close security hole:
xhost -local:root

(Optional) To build the docker image locally for this repo, run in base of package:

docker build -t picknik/rviz_visual_tools:${ROS_DISTRO} .

Contribute

Please send PRs for new helper functions, fixes, etc!

When a pull request is opened, a reviewer is randomly assigned from the reviewer list using the Auto Assign Github Bot

CHANGELOG

Changelog for package rviz_visual_tools

4.1.4 (2023-01-05)

  • Migrate to Ogre.h (#226)
  • Remove galactic jobs since they are deprecated (#232)
  • Add arbitrary color option to publishCuboid (#227)
  • Bump clang-format version to 14 (#228)
  • Contributors: Sebastian Castro, Stephanie Eng, Vatan Aksoy Tezer

4.1.3 (2022-07-18)

  • Humble CI and formatting updates (#220)
  • Minor typo fix (#222)
  • Add a method to publish a plane using the normal and distance (#221) Co-authored-by: AndyZe <andyz@utexas.edu>
  • Fix description of plane functions (#219)
  • Update black version (#218)
  • Add option to never wait for subscriber (#217)
  • Contributors: Marq Rasmussen, Stephanie Eng, Vatan Aksoy Tezer

4.1.2 (2021-12-13)

  • Fix faulty templated constructor (#211)
  • Make sure to add all dependencies to the package.xml (#209) Otherwise it will fail to build on the buildfarm.
  • Contributors: Chris Lalancette, Vatan Aksoy Tezer

4.1.1 (2021-10-07)

  • Re-enable RemoteControl functionality (#205)
    • use condition_variable to be more thread safe
    • Drop executor from constructor, deprecate old one
    • Fix RemoteControl usage in demo
    • Use SystemDefaultsQOS for RemoteControl subscriber
    • Add RvizVisualToolsGui dashboard to rviz config, correct view
  • Add pluginlib dependency. (#203)
  • Fix package dependencies and cmake export (#202)
  • Rename node_executable to executable (#200)
  • Contributors: Davide Faconti, Henning Kayser, Jafar Abdi, Steven! Ragnar

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged rviz_visual_tools at Robotics Stack Exchange

rviz_visual_tools package from rviz_visual_tools repo

rviz_visual_tools

Package Summary

Tags No category tags.
Version 4.1.4
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/rviz_visual_tools.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Utility functions for displaying and debugging data in Rviz via published markers

Additional Links

Maintainers

  • Mike Lautman

Authors

  • Mike Lautman

Rviz Visual Tools

C++ API wrapper for displaying shapes and meshes in Rviz via helper functions that publish markers. Useful for displaying and debugging data. For more advanced robot visualization features, see the moveit_visual_tools which builds on this class.

This package includes:

  • Rviz Panel GUI to step through your code for debugging and testing
  • Rviz-based keyboard control for stepping through application
  • Easy to use helper functions for visualizing in Rviz fast
  • Basic geometric markers for Rviz
  • More complex geometric shapes such as coordinate frames, framed boxes, planes, paths, graphs
  • Ability to quickly choose standard colors and sizes
  • Tools to ensure proper connection to Rviz before publishing visualizations
  • Shortcuts to convert between different types of points and poses - ROS msgs, Eigen, tf, etc
  • Batch publishing capabilities to reduce over throttling ROS messages
  • A tf publishing helper class
  • An interactive marker helper class

Developed by Dave Coleman at the Correll Robotics Lab, University of Colorado Boulder with help from Andy McEvoy and many others.

Buy Me a Coffee at ko-fi.com

  • Format
  • BuildAndTest
  • codecov
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Debian Build for Ubuntu 16.04
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Devel Build for Ubuntu 16.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Debian Build for Ubuntu 18.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Devel Build for Ubuntu 18.04

Install

Ubuntu Debian

sudo apt-get install ros-${ROS_DISTRO}-rviz-visual-tools

Build from Source

Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies. Depending on your current version of ROS, use:

rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

Quick Start Demo

To see random shapes generated in Rviz, first launch Rviz:

ros2 launch rviz_visual_tools demo_rviz.launch.py

Then start the RViz Visual Tools demo:

ros2 run rviz_visual_tools rviz_visual_tools_demo

Code API

See the Doxygen documentation

Usage

We'll assume you will be using these helper functions within a class. Almost all of the functions assume you are publishing transforms in the world frame (whatever you call that e.g. /odom).

Initialize

Add to your includes:

#include <rviz_visual_tools/rviz_visual_tools.hpp>

Add to your class's member variables:

// For visualizing things in rviz
rviz_visual_tools::RvizVisualToolsPtr visual_tools_;

In your class' constructor add:

visual_tools_.reset(new rviz_visual_tools::RvizVisualTools("base_frame","/rviz_visual_markers", node));

Change the first parameter to the name of your robot's base frame, and the second parameter to whatever name you'd like to use for the corresponding Rviz marker ROS topic.

Tools

Now in your code you can easily debug your code using visual markers in Rviz

Start rviz and create a new marker using the 'Add' button at the bottom right. Choose the marker topic to be the same as the topic you specified in the constructor.

Example Code

In the following snippet we create a pose at xyz (0.1, 0.1, 0.1) and rotate the pose down 45 degrees along the Y axis. Then we publish the pose as a arrow for visualziation in Rviz. Make sure your Rviz fixed frame is the same as the one chosen in the code.

// Create pose
Eigen::Isometry3d pose;
pose = Eigen::AngleAxisd(M_PI/4, Eigen::Vector3d::UnitY()); // rotate along X axis by 45 degrees
pose.translation() = Eigen::Vector3d( 0.1, 0.1, 0.1 ); // translate x,y,z

// Publish arrow vector of pose
ROS_INFO_STREAM_NAMED("test","Publishing Arrow");
visual_tools_->publishArrow(pose, rviz_visual_tools::RED, rviz_visual_tools::LARGE);

// Don't forget to trigger the publisher!
visual_tools_->trigger();

For more example code see rviz_visual_tools_demo.cpp

Rviz GUI Usage

NOT PORTED

Publishes on the topic of /rviz_visual_tools_gui

The buttons in the Joy message correspond to the following:

1 - Next
2 - Continue
3 - Break
4 - Stop

Note: only Next is fully implemented

Mouse-Based Control

NOT PORTED

Use the Rviz panel called "RvizVisualToolsGui" to step through your program.

Keyboard-Based Control

NOT PORTED

Switch to the "KeyTool" in the top of the Rviz window and use the following keyboard commands: - n: next - c or a: continue - b: break - s: stop

API

Basic Publishing Functions

See rviz_visual_tools.h for more details and documentation on the following functions:

  • publishSphere
  • publishSpheres
  • publishArrow/publishXArrow
  • publishYArrow
  • publishZArrow
  • publishCuboid
  • publishCone
  • publishXYPlane
  • publishXZPlane
  • publishYZPlane
  • publishLine
  • publishPath
  • publishPolygon
  • publishBlock
  • publishWireframeCuboid
  • publishWireframeRectangle
  • publishAxis
  • publishAxisLabeled
  • publishCylinder
  • publishMesh
  • publishText
  • publishTest

And more...

Helper Functions

Reset function

  • deleteMarker(std::string namespace, std::size_t id) - tells Rviz to clear a specific marker from being displayed.
  • deleteAllMarkers() - tells Rviz to clear out all current markers from being displayed.

All markers must be triggered after being published, by calling the trigger() function. This allows batch publishing to be achieved by only calling after several markers have been created, greatly increasing the speed of your application. You can even explicitly tell rviz_visual_tools how often to publish via the triggerEvery(NUM_MARKERS) command:

  • trigger()
  • triggerEvery(20)

Conversion functions

  • convertPose
  • convertPoint32ToPose
  • convertPoseToPoint
  • convertPoint
  • convertPoint32
  • convertFromXYZRPY
  • convertToXYZRPY

Convenience functions

  • generateRandomPose
  • generateEmptyPose
  • dRand
  • fRand
  • iRand
  • getCenterPoint
  • getVectorBetweenPoints

Frame locking

This allows the markers to be automatically updated as the base frame moves without having to republish. You can enable it via enableFrameLocking() (this is not enabled by default).

Available Colors

This package helps you quickly choose colors - feel free to send PRs with more colors as needed

BLACK,
BLUE,
BROWN,
CYAN,
DARK_GREY,
GREEN,
GREY,
LIME_GREEN,
MAGENTA,
ORANGE,
PINK,
PURPLE,
RED,
WHITE,
YELLOW,
TRANSLUCENT_LIGHT,
TRANSLUCENT,
TRANSLUCENT_DARK,
RAND,
CLEAR,
DEFAULT // i.e. 'do not change default color'

Available Marker Sizes

XXXXSMALL,
XXXSMALL,
XXSMALL,
XSMALL,
SMALL,
MEDIUM,
LARGE,
XLARGE,
XXLARGE,
XXXLARGE,
XXXXLARGE,

Interactive Marker Helper Class

This class quickly gives you basic 6dof pose interactive marker funcitonality. A demo is available:

ros2 launch rviz_visual_tools demo_rviz.launch.py
ros2 run rviz_visual_tools rviz_visual_tools_imarker_simple_demo

TF Visual Tools

This tool lets you easily debug Eigen transforms in Rviz. Demo use:

rviz_visual_tools::TFVisualTools tf_visualizer;
Eigen::Isometry3d world_to_shelf_transform = Eigen::Isometry3d::Identity(); // or whatever value
tf_visualizer.publishTransform(world_to_shelf_transform, "world", "shelf");

Note: this is a work in progress

Testing and Linting

ROSlint is now run as a ROS test which can be run with the the following commands from your workspace directory (eg: ./ws_ros2).

catkin build --packages-select rviz_visual_tools
catkin test --packages-select rviz_visual_tools

Run with clang-tidy:

run-clang-tidy-4.0.py -clang-tidy-binary=/usr/lib/llvm-4.0/bin/clang-tidy -fix -p=$COLCON_WS/build/rviz_visual_tools .

Docker Image

Dockerhub automatically creates a Docker for this repo. To run with GUI:

# This is not the safest way however, as you then compromise the access control to X server on your host
xhost +local:root # for the lazy and reckless
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" picknik/rviz_visual_tools:${ROS_DISTRO}
export containerId=$(docker ps -l -q)
# Close security hole:
xhost -local:root

(Optional) To build the docker image locally for this repo, run in base of package:

docker build -t picknik/rviz_visual_tools:${ROS_DISTRO} .

Contribute

Please send PRs for new helper functions, fixes, etc!

When a pull request is opened, a reviewer is randomly assigned from the reviewer list using the Auto Assign Github Bot

CHANGELOG

Changelog for package rviz_visual_tools

4.1.4 (2023-01-05)

  • Migrate to Ogre.h (#226)
  • Remove galactic jobs since they are deprecated (#232)
  • Add arbitrary color option to publishCuboid (#227)
  • Bump clang-format version to 14 (#228)
  • Contributors: Sebastian Castro, Stephanie Eng, Vatan Aksoy Tezer

4.1.3 (2022-07-18)

  • Humble CI and formatting updates (#220)
  • Minor typo fix (#222)
  • Add a method to publish a plane using the normal and distance (#221) Co-authored-by: AndyZe <andyz@utexas.edu>
  • Fix description of plane functions (#219)
  • Update black version (#218)
  • Add option to never wait for subscriber (#217)
  • Contributors: Marq Rasmussen, Stephanie Eng, Vatan Aksoy Tezer

4.1.2 (2021-12-13)

  • Fix faulty templated constructor (#211)
  • Make sure to add all dependencies to the package.xml (#209) Otherwise it will fail to build on the buildfarm.
  • Contributors: Chris Lalancette, Vatan Aksoy Tezer

4.1.1 (2021-10-07)

  • Re-enable RemoteControl functionality (#205)
    • use condition_variable to be more thread safe
    • Drop executor from constructor, deprecate old one
    • Fix RemoteControl usage in demo
    • Use SystemDefaultsQOS for RemoteControl subscriber
    • Add RvizVisualToolsGui dashboard to rviz config, correct view
  • Add pluginlib dependency. (#203)
  • Fix package dependencies and cmake export (#202)
  • Rename node_executable to executable (#200)
  • Contributors: Davide Faconti, Henning Kayser, Jafar Abdi, Steven! Ragnar

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged rviz_visual_tools at Robotics Stack Exchange

rviz_visual_tools package from rviz_visual_tools repo

rviz_visual_tools

Package Summary

Tags No category tags.
Version 3.9.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/rviz_visual_tools.git
VCS Type git
VCS Version noetic-devel
Last Updated 2020-10-09
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Utility functions for displaying and debugging data in Rviz via published markers

Additional Links

Maintainers

  • Dave Coleman

Authors

  • Dave Coleman

Rviz Visual Tools

C++ API wrapper for displaying shapes and meshes in Rviz via helper functions that publish markers. Useful for displaying and debugging data. For more advanced robot visualization features, see the moveit_visual_tools which builds on this class.

This package includes:

  • Rviz Panel GUI to step through your code for debugging and testing
  • Rviz-based keyboard control for stepping through application
  • Easy to use helper functions for visualizing in Rviz fast
  • Basic geometric markers for Rviz
  • More complex geometric shapes such as coordinate frames, framed boxes, planes, paths, graphs
  • Ability to quickly choose standard colors and sizes
  • Tools to ensure proper connection to Rviz before publishing visualizations
  • Shortcuts to convert between different types of points and poses - ROS msgs, Eigen, tf, etc
  • Batch publishing capabilities to reduce over throttling ROS messages
  • A tf publishing helper class
  • An interactive marker helper class

This open source project was developed at PickNik Robotics. Need professional ROS development and consulting? Contact us at projects@picknik.ai for a free consultation.

  • Build Status Travis CI
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Debian Build for Ubuntu 16.04
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Devel Build for Ubuntu 16.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Debian Build for Ubuntu 18.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Devel Build for Ubuntu 18.04

Install

Ubuntu Debian

sudo apt-get install ros-melodic-rviz-visual-tools

Build from Source

Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies. Depending on your current version of ROS, use:

rosdep install --from-paths src --ignore-src --rosdistro melodic

Quick Start Demo

To see random shapes generated in Rviz, first launch Rviz:

roslaunch rviz_visual_tools demo_rviz.launch

Then start demo:

roslaunch rviz_visual_tools demo.launch

Code API

See the Doxygen documentation

Usage

We'll assume you will be using these helper functions within a class. Almost all of the functions assume you are publishing transforms in the world frame (whatever you call that e.g. /odom).

Initialize

Add to your includes:

#include <rviz_visual_tools/rviz_visual_tools.h>

Add to your class's member variables:

// For visualizing things in rviz
rviz_visual_tools::RvizVisualToolsPtr visual_tools_;

In your class' constructor add:

visual_tools_.reset(new rviz_visual_tools::RvizVisualTools("base_frame","/rviz_visual_markers"));

Change the first parameter to the name of your robot's base frame, and the second parameter to whatever name you'd like to use for the corresponding Rviz marker ROS topic.

Tools

Now in your code you can easily debug your code using visual markers in Rviz

Start rviz and create a new marker using the 'Add' button at the bottom right. Choose the marker topic to be the same as the topic you specified in the constructor.

Example Code

In the following snippet we create a pose at xyz (0.1, 0.1, 0.1) and rotate the pose down 45 degrees along the Y axis. Then we publish the pose as a arrow for visualziation in Rviz. Make sure your Rviz fixed frame is the same as the one chosen in the code.

// Create pose
Eigen::Isometry3d pose;
pose = Eigen::AngleAxisd(M_PI/4, Eigen::Vector3d::UnitY()); // rotate along X axis by 45 degrees
pose.translation() = Eigen::Vector3d( 0.1, 0.1, 0.1 ); // translate x,y,z

// Publish arrow vector of pose
ROS_INFO_STREAM_NAMED("test","Publishing Arrow");
visual_tools_->publishArrow(pose, rviz_visual_tools::RED, rviz_visual_tools::LARGE);

// Don't forget to trigger the publisher!
visual_tools_->trigger();

For more example code see rviz_visual_tools_demo.cpp

Rviz GUI Usage

Publishes on the topic of /rviz_visual_tools_gui

The buttons in the Joy message correspond to the following:

1 - Next
2 - Continue
3 - Break
4 - Stop

Note: only Next is fully implemented

Mouse-Based Control

Use the Rviz panel called "RvizVisualToolsGui" to step through your program.

Keyboard-Based Control

Switch to the "KeyTool" in the top of the Rviz window and use the following keyboard commands: - n: next - c or a: continue - b: break - s: stop

API

Basic Publishing Functions

See rviz_visual_tools.h for more details and documentation on the following functions:

  • publishSphere
  • publishSpheres
  • publishArrow/publishXArrow
  • publishYArrow
  • publishZArrow
  • publishCuboid
  • publishCone
  • publishXYPlane
  • publishXZPlane
  • publishYZPlane
  • publishLine
  • publishPath
  • publishPolygon
  • publishBlock
  • publishWireframeCuboid
  • publishWireframeRectangle
  • publishAxis
  • publishAxisLabeled
  • publishCylinder
  • publishMesh
  • publishText
  • publishTest

And more...

Helper Functions

Reset function

  • deleteAllMarkers() - tells Rviz to clear out all current markers from being displayed.

All markers must be triggered after being published, by calling the trigger() function. This allows batch publishing to be achieved by only calling after several markers have been created, greatly increasing the speed of your application. You can even explicitly tell rviz_visual_tools how often to publish via the triggerEvery(NUM_MARKERS) command:

  • trigger()
  • triggerEvery(20)

Conversion functions

  • convertPose
  • convertPoint32ToPose
  • convertPoseToPoint
  • convertPoint
  • convertPoint32
  • convertFromXYZRPY
  • convertToXYZRPY

Convenience functions

  • generateRandomPose
  • generateEmptyPose
  • dRand
  • fRand
  • iRand
  • getCenterPoint
  • getVectorBetweenPoints

Frame locking

This allows the markers to be automatically updated as the base frame moves without having to republish. You can enable it via enableFrameLocking() (this is not enabled by default).

Available Colors

This package helps you quickly choose colors - feel free to send PRs with more colors as needed

BLACK,
BLUE,
BROWN,
CYAN,
DARK_GREY,
GREEN,
GREY,
LIME_GREEN,
MAGENTA,
ORANGE,
PINK,
PURPLE,
RED,
WHITE,
YELLOW,
TRANSLUCENT_LIGHT,
TRANSLUCENT,
TRANSLUCENT_DARK,
RAND,
CLEAR,
DEFAULT // i.e. 'do not change default color'

Available Marker Sizes

XXXXSMALL,
XXXSMALL,
XXSMALL,
XSMALL,
SMALL,
MEDIUM,
LARGE,
XLARGE,
XXLARGE,
XXXLARGE,
XXXXLARGE,

Interactive Marker Helper Class

This class quickly gives you basic 6dof pose interactive marker funcitonality. A demo is available:

roslaunch rviz_visual_tools demo_rviz.launch
rosrun rviz_visual_tools imarker_simple_demo

TF Visual Tools

This tool lets you easily debug Eigen transforms in Rviz. Demo use:

rviz_visual_tools::TFVisualTools tf_visualizer;
Eigen::Isometry3d world_to_shelf_transform = Eigen::Isometry3d::Identity(); // or whatever value
tf_visualizer.publishTransform(world_to_shelf_transform, "world", "shelf");

Note: this is a work in progress

Testing and Linting

To run roslint, use the following command with catkin-tools:

catkin build --no-status --no-deps --this --make-args roslint

To run catkin lint, use the following command with catkin-tools:

catkin lint -W2

Use the following command with catkin-tools to run the small amount of available tests:

catkin run_tests --no-deps --this -i

Run with clang-tidy:

run-clang-tidy-4.0.py -clang-tidy-binary=/usr/lib/llvm-4.0/bin/clang-tidy -fix -p=/home/dave/ros/current/ws_moveit/build/rviz_visual_tools .

Docker Image

Dockerhub automatically creates a Docker for this repo. To run with GUI:

# This is not the safest way however, as you then compromise the access control to X server on your host
xhost +local:root # for the lazy and reckless
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" davetcoleman/rviz_visual_tools:melodic
export containerId=$(docker ps -l -q)
# Close security hole:
xhost -local:root

(Optional) To build the docker image locally for this repo, run in base of package:

docker build -t davetcoleman/rviz_visual_tools:melodic .

Contribute

Please send PRs for new helper functions, fixes, etc!

When a pull request is opened, a reviewer is randomly assigned from the reviewer list using the Auto Assign Github Bot

CHANGELOG

Changelog for package rviz_visual_tools

3.9.1 (2020-10-09)

  • [maint] add soname versions to libraries (#166)
  • [maint] Apply clang-format-10 (#173)
  • Contributors: Tyler Weaver

3.9.0 (2020-09-05)

  • [feature] Add optional parent frame to iMarker (#159)
  • [feature] Publish cuboid with size as a vector3 or Eigen::Vector3d (#125)
  • [feature] Normalize interactive marker quaternions. (#132)
  • [feature] normalize before publish (#131)
  • [feature] New helper function getIdentityPose() (#122)
  • [feature] Windows bring up. (#116)
  • [feature] For ABCD planes: better comments, ensure the plane equation is satisfied. (#120)
  • [feature] Make [rviz_visual_tools]{.title-ref} publish triangle mesh and [tf_visual_tools]{.title-ref} clean published transforms (#117)
  • [feature] Publish plane from Ax+By+Cz+D=0 equation (#119)
  • [feature] Remove default arguments to make function calls not ambiguous (#112)
  • [feature] Initizalize quaternions in demo to avoid warning (#111)
  • [fix] rviz warnings about scale and uninitialized quaternions (#129)
  • [fix] publishCylinder namespace (#109)
  • [fix] node type in demo launch files (#110)
  • [maint] Adding missing dependency (interactive_markers) (#168)
  • [maint] clang-tidy (#158)
  • [maint] replace tf_conversions with tf2 (#151)
  • [maint] bump cmake version (#150)
  • [maint] remove trailing whitespaces (#130)
  • [maint] Apply clang-tidy (#127)
  • [maint] Switch to moveit_ci, apply clang-format (#124)
  • [maint] Use LOGNAME for logging re:moveit styel (#106)
  • Contributors: AndyZe, Bjar Ne, Dave Coleman, Jafar Abdi, JafarAbdi, Michael G

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged rviz_visual_tools at Robotics Stack Exchange

rviz_visual_tools package from rviz_visual_tools repo

rviz_visual_tools

Package Summary

Tags No category tags.
Version 4.1.4
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/rviz_visual_tools.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Utility functions for displaying and debugging data in Rviz via published markers

Additional Links

Maintainers

  • Mike Lautman

Authors

  • Mike Lautman

Rviz Visual Tools

C++ API wrapper for displaying shapes and meshes in Rviz via helper functions that publish markers. Useful for displaying and debugging data. For more advanced robot visualization features, see the moveit_visual_tools which builds on this class.

This package includes:

  • Rviz Panel GUI to step through your code for debugging and testing
  • Rviz-based keyboard control for stepping through application
  • Easy to use helper functions for visualizing in Rviz fast
  • Basic geometric markers for Rviz
  • More complex geometric shapes such as coordinate frames, framed boxes, planes, paths, graphs
  • Ability to quickly choose standard colors and sizes
  • Tools to ensure proper connection to Rviz before publishing visualizations
  • Shortcuts to convert between different types of points and poses - ROS msgs, Eigen, tf, etc
  • Batch publishing capabilities to reduce over throttling ROS messages
  • A tf publishing helper class
  • An interactive marker helper class

Developed by Dave Coleman at the Correll Robotics Lab, University of Colorado Boulder with help from Andy McEvoy and many others.

Buy Me a Coffee at ko-fi.com

  • Format
  • BuildAndTest
  • codecov
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Debian Build for Ubuntu 16.04
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Devel Build for Ubuntu 16.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Debian Build for Ubuntu 18.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Devel Build for Ubuntu 18.04

Install

Ubuntu Debian

sudo apt-get install ros-${ROS_DISTRO}-rviz-visual-tools

Build from Source

Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies. Depending on your current version of ROS, use:

rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

Quick Start Demo

To see random shapes generated in Rviz, first launch Rviz:

ros2 launch rviz_visual_tools demo_rviz.launch.py

Then start the RViz Visual Tools demo:

ros2 run rviz_visual_tools rviz_visual_tools_demo

Code API

See the Doxygen documentation

Usage

We'll assume you will be using these helper functions within a class. Almost all of the functions assume you are publishing transforms in the world frame (whatever you call that e.g. /odom).

Initialize

Add to your includes:

#include <rviz_visual_tools/rviz_visual_tools.hpp>

Add to your class's member variables:

// For visualizing things in rviz
rviz_visual_tools::RvizVisualToolsPtr visual_tools_;

In your class' constructor add:

visual_tools_.reset(new rviz_visual_tools::RvizVisualTools("base_frame","/rviz_visual_markers", node));

Change the first parameter to the name of your robot's base frame, and the second parameter to whatever name you'd like to use for the corresponding Rviz marker ROS topic.

Tools

Now in your code you can easily debug your code using visual markers in Rviz

Start rviz and create a new marker using the 'Add' button at the bottom right. Choose the marker topic to be the same as the topic you specified in the constructor.

Example Code

In the following snippet we create a pose at xyz (0.1, 0.1, 0.1) and rotate the pose down 45 degrees along the Y axis. Then we publish the pose as a arrow for visualziation in Rviz. Make sure your Rviz fixed frame is the same as the one chosen in the code.

// Create pose
Eigen::Isometry3d pose;
pose = Eigen::AngleAxisd(M_PI/4, Eigen::Vector3d::UnitY()); // rotate along X axis by 45 degrees
pose.translation() = Eigen::Vector3d( 0.1, 0.1, 0.1 ); // translate x,y,z

// Publish arrow vector of pose
ROS_INFO_STREAM_NAMED("test","Publishing Arrow");
visual_tools_->publishArrow(pose, rviz_visual_tools::RED, rviz_visual_tools::LARGE);

// Don't forget to trigger the publisher!
visual_tools_->trigger();

For more example code see rviz_visual_tools_demo.cpp

Rviz GUI Usage

NOT PORTED

Publishes on the topic of /rviz_visual_tools_gui

The buttons in the Joy message correspond to the following:

1 - Next
2 - Continue
3 - Break
4 - Stop

Note: only Next is fully implemented

Mouse-Based Control

NOT PORTED

Use the Rviz panel called "RvizVisualToolsGui" to step through your program.

Keyboard-Based Control

NOT PORTED

Switch to the "KeyTool" in the top of the Rviz window and use the following keyboard commands: - n: next - c or a: continue - b: break - s: stop

API

Basic Publishing Functions

See rviz_visual_tools.h for more details and documentation on the following functions:

  • publishSphere
  • publishSpheres
  • publishArrow/publishXArrow
  • publishYArrow
  • publishZArrow
  • publishCuboid
  • publishCone
  • publishXYPlane
  • publishXZPlane
  • publishYZPlane
  • publishLine
  • publishPath
  • publishPolygon
  • publishBlock
  • publishWireframeCuboid
  • publishWireframeRectangle
  • publishAxis
  • publishAxisLabeled
  • publishCylinder
  • publishMesh
  • publishText
  • publishTest

And more...

Helper Functions

Reset function

  • deleteMarker(std::string namespace, std::size_t id) - tells Rviz to clear a specific marker from being displayed.
  • deleteAllMarkers() - tells Rviz to clear out all current markers from being displayed.

All markers must be triggered after being published, by calling the trigger() function. This allows batch publishing to be achieved by only calling after several markers have been created, greatly increasing the speed of your application. You can even explicitly tell rviz_visual_tools how often to publish via the triggerEvery(NUM_MARKERS) command:

  • trigger()
  • triggerEvery(20)

Conversion functions

  • convertPose
  • convertPoint32ToPose
  • convertPoseToPoint
  • convertPoint
  • convertPoint32
  • convertFromXYZRPY
  • convertToXYZRPY

Convenience functions

  • generateRandomPose
  • generateEmptyPose
  • dRand
  • fRand
  • iRand
  • getCenterPoint
  • getVectorBetweenPoints

Frame locking

This allows the markers to be automatically updated as the base frame moves without having to republish. You can enable it via enableFrameLocking() (this is not enabled by default).

Available Colors

This package helps you quickly choose colors - feel free to send PRs with more colors as needed

BLACK,
BLUE,
BROWN,
CYAN,
DARK_GREY,
GREEN,
GREY,
LIME_GREEN,
MAGENTA,
ORANGE,
PINK,
PURPLE,
RED,
WHITE,
YELLOW,
TRANSLUCENT_LIGHT,
TRANSLUCENT,
TRANSLUCENT_DARK,
RAND,
CLEAR,
DEFAULT // i.e. 'do not change default color'

Available Marker Sizes

XXXXSMALL,
XXXSMALL,
XXSMALL,
XSMALL,
SMALL,
MEDIUM,
LARGE,
XLARGE,
XXLARGE,
XXXLARGE,
XXXXLARGE,

Interactive Marker Helper Class

This class quickly gives you basic 6dof pose interactive marker funcitonality. A demo is available:

ros2 launch rviz_visual_tools demo_rviz.launch.py
ros2 run rviz_visual_tools rviz_visual_tools_imarker_simple_demo

TF Visual Tools

This tool lets you easily debug Eigen transforms in Rviz. Demo use:

rviz_visual_tools::TFVisualTools tf_visualizer;
Eigen::Isometry3d world_to_shelf_transform = Eigen::Isometry3d::Identity(); // or whatever value
tf_visualizer.publishTransform(world_to_shelf_transform, "world", "shelf");

Note: this is a work in progress

Testing and Linting

ROSlint is now run as a ROS test which can be run with the the following commands from your workspace directory (eg: ./ws_ros2).

catkin build --packages-select rviz_visual_tools
catkin test --packages-select rviz_visual_tools

Run with clang-tidy:

run-clang-tidy-4.0.py -clang-tidy-binary=/usr/lib/llvm-4.0/bin/clang-tidy -fix -p=$COLCON_WS/build/rviz_visual_tools .

Docker Image

Dockerhub automatically creates a Docker for this repo. To run with GUI:

# This is not the safest way however, as you then compromise the access control to X server on your host
xhost +local:root # for the lazy and reckless
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" picknik/rviz_visual_tools:${ROS_DISTRO}
export containerId=$(docker ps -l -q)
# Close security hole:
xhost -local:root

(Optional) To build the docker image locally for this repo, run in base of package:

docker build -t picknik/rviz_visual_tools:${ROS_DISTRO} .

Contribute

Please send PRs for new helper functions, fixes, etc!

When a pull request is opened, a reviewer is randomly assigned from the reviewer list using the Auto Assign Github Bot

CHANGELOG

Changelog for package rviz_visual_tools

4.1.4 (2023-01-05)

  • Migrate to Ogre.h (#226)
  • Remove galactic jobs since they are deprecated (#232)
  • Add arbitrary color option to publishCuboid (#227)
  • Bump clang-format version to 14 (#228)
  • Contributors: Sebastian Castro, Stephanie Eng, Vatan Aksoy Tezer

4.1.3 (2022-07-18)

  • Humble CI and formatting updates (#220)
  • Minor typo fix (#222)
  • Add a method to publish a plane using the normal and distance (#221) Co-authored-by: AndyZe <andyz@utexas.edu>
  • Fix description of plane functions (#219)
  • Update black version (#218)
  • Add option to never wait for subscriber (#217)
  • Contributors: Marq Rasmussen, Stephanie Eng, Vatan Aksoy Tezer

4.1.2 (2021-12-13)

  • Fix faulty templated constructor (#211)
  • Make sure to add all dependencies to the package.xml (#209) Otherwise it will fail to build on the buildfarm.
  • Contributors: Chris Lalancette, Vatan Aksoy Tezer

4.1.1 (2021-10-07)

  • Re-enable RemoteControl functionality (#205)
    • use condition_variable to be more thread safe
    • Drop executor from constructor, deprecate old one
    • Fix RemoteControl usage in demo
    • Use SystemDefaultsQOS for RemoteControl subscriber
    • Add RvizVisualToolsGui dashboard to rviz config, correct view
  • Add pluginlib dependency. (#203)
  • Fix package dependencies and cmake export (#202)
  • Rename node_executable to executable (#200)
  • Contributors: Davide Faconti, Henning Kayser, Jafar Abdi, Steven! Ragnar

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged rviz_visual_tools at Robotics Stack Exchange

rviz_visual_tools package from rviz_visual_tools repo

rviz_visual_tools

Package Summary

Tags No category tags.
Version 4.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/rviz_visual_tools.git
VCS Type git
VCS Version foxy-devel
Last Updated 2021-12-13
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Utility functions for displaying and debugging data in Rviz via published markers

Additional Links

Maintainers

  • Mike Lautman

Authors

  • Mike Lautman

Rviz Visual Tools

C++ API wrapper for displaying shapes and meshes in Rviz via helper functions that publish markers. Useful for displaying and debugging data. For more advanced robot visualization features, see the moveit_visual_tools which builds on this class.

This package includes:

  • Rviz Panel GUI to step through your code for debugging and testing
  • Rviz-based keyboard control for stepping through application
  • Easy to use helper functions for visualizing in Rviz fast
  • Basic geometric markers for Rviz
  • More complex geometric shapes such as coordinate frames, framed boxes, planes, paths, graphs
  • Ability to quickly choose standard colors and sizes
  • Tools to ensure proper connection to Rviz before publishing visualizations
  • Shortcuts to convert between different types of points and poses - ROS msgs, Eigen, tf, etc
  • Batch publishing capabilities to reduce over throttling ROS messages
  • A tf publishing helper class
  • An interactive marker helper class

Developed by Dave Coleman at the Correll Robotics Lab, University of Colorado Boulder with help from Andy McEvoy and many others.

Buy Me a Coffee at ko-fi.com

  • Format
  • BuildAndTest
  • codecov
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Debian Build for Ubuntu 16.04
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Devel Build for Ubuntu 16.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Debian Build for Ubuntu 18.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Devel Build for Ubuntu 18.04

Install

Ubuntu Debian

sudo apt-get install ros-${ROS_DISTRO}-rviz-visual-tools

Build from Source

Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies. Depending on your current version of ROS, use:

rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

Quick Start Demo

To see random shapes generated in Rviz, first launch Rviz:

ros2 launch rviz_visual_tools demo_rviz.launch.py

Then start the RViz Visual Tools demo:

ros2 run rviz_visual_tools rviz_visual_tools_demo

Code API

See the Doxygen documentation

Usage

We'll assume you will be using these helper functions within a class. Almost all of the functions assume you are publishing transforms in the world frame (whatever you call that e.g. /odom).

Initialize

Add to your includes:

#include <rviz_visual_tools/rviz_visual_tools.hpp>

Add to your class's member variables:

// For visualizing things in rviz
rviz_visual_tools::RvizVisualToolsPtr visual_tools_;

In your class' constructor add:

visual_tools_.reset(new rviz_visual_tools::RvizVisualTools("base_frame","/rviz_visual_markers", node));

Change the first parameter to the name of your robot's base frame, and the second parameter to whatever name you'd like to use for the corresponding Rviz marker ROS topic.

Tools

Now in your code you can easily debug your code using visual markers in Rviz

Start rviz and create a new marker using the 'Add' button at the bottom right. Choose the marker topic to be the same as the topic you specified in the constructor.

Example Code

In the following snippet we create a pose at xyz (0.1, 0.1, 0.1) and rotate the pose down 45 degrees along the Y axis. Then we publish the pose as a arrow for visualziation in Rviz. Make sure your Rviz fixed frame is the same as the one chosen in the code.

// Create pose
Eigen::Isometry3d pose;
pose = Eigen::AngleAxisd(M_PI/4, Eigen::Vector3d::UnitY()); // rotate along X axis by 45 degrees
pose.translation() = Eigen::Vector3d( 0.1, 0.1, 0.1 ); // translate x,y,z

// Publish arrow vector of pose
ROS_INFO_STREAM_NAMED("test","Publishing Arrow");
visual_tools_->publishArrow(pose, rviz_visual_tools::RED, rviz_visual_tools::LARGE);

// Don't forget to trigger the publisher!
visual_tools_->trigger();

For more example code see rviz_visual_tools_demo.cpp

Rviz GUI Usage

NOT PORTED

Publishes on the topic of /rviz_visual_tools_gui

The buttons in the Joy message correspond to the following:

1 - Next
2 - Continue
3 - Break
4 - Stop

Note: only Next is fully implemented

Mouse-Based Control

NOT PORTED

Use the Rviz panel called "RvizVisualToolsGui" to step through your program.

Keyboard-Based Control

NOT PORTED

Switch to the "KeyTool" in the top of the Rviz window and use the following keyboard commands: - n: next - c or a: continue - b: break - s: stop

API

Basic Publishing Functions

See rviz_visual_tools.h for more details and documentation on the following functions:

  • publishSphere
  • publishSpheres
  • publishArrow/publishXArrow
  • publishYArrow
  • publishZArrow
  • publishCuboid
  • publishCone
  • publishXYPlane
  • publishXZPlane
  • publishYZPlane
  • publishLine
  • publishPath
  • publishPolygon
  • publishBlock
  • publishWireframeCuboid
  • publishWireframeRectangle
  • publishAxis
  • publishAxisLabeled
  • publishCylinder
  • publishMesh
  • publishText
  • publishTest

And more...

Helper Functions

Reset function

  • deleteMarker(std::string namespace, std::size_t id) - tells Rviz to clear a specific marker from being displayed.
  • deleteAllMarkers() - tells Rviz to clear out all current markers from being displayed.

All markers must be triggered after being published, by calling the trigger() function. This allows batch publishing to be achieved by only calling after several markers have been created, greatly increasing the speed of your application. You can even explicitly tell rviz_visual_tools how often to publish via the triggerEvery(NUM_MARKERS) command:

  • trigger()
  • triggerEvery(20)

Conversion functions

  • convertPose
  • convertPoint32ToPose
  • convertPoseToPoint
  • convertPoint
  • convertPoint32
  • convertFromXYZRPY
  • convertToXYZRPY

Convenience functions

  • generateRandomPose
  • generateEmptyPose
  • dRand
  • fRand
  • iRand
  • getCenterPoint
  • getVectorBetweenPoints

Frame locking

This allows the markers to be automatically updated as the base frame moves without having to republish. You can enable it via enableFrameLocking() (this is not enabled by default).

Available Colors

This package helps you quickly choose colors - feel free to send PRs with more colors as needed

BLACK,
BLUE,
BROWN,
CYAN,
DARK_GREY,
GREEN,
GREY,
LIME_GREEN,
MAGENTA,
ORANGE,
PINK,
PURPLE,
RED,
WHITE,
YELLOW,
TRANSLUCENT_LIGHT,
TRANSLUCENT,
TRANSLUCENT_DARK,
RAND,
CLEAR,
DEFAULT // i.e. 'do not change default color'

Available Marker Sizes

XXXXSMALL,
XXXSMALL,
XXSMALL,
XSMALL,
SMALL,
MEDIUM,
LARGE,
XLARGE,
XXLARGE,
XXXLARGE,
XXXXLARGE,

Interactive Marker Helper Class

This class quickly gives you basic 6dof pose interactive marker funcitonality. A demo is available:

ros2 launch rviz_visual_tools demo_rviz.launch.py
ros2 run rviz_visual_tools rviz_visual_tools_imarker_simple_demo

TF Visual Tools

This tool lets you easily debug Eigen transforms in Rviz. Demo use:

rviz_visual_tools::TFVisualTools tf_visualizer;
Eigen::Isometry3d world_to_shelf_transform = Eigen::Isometry3d::Identity(); // or whatever value
tf_visualizer.publishTransform(world_to_shelf_transform, "world", "shelf");

Note: this is a work in progress

Testing and Linting

ROSlint is now run as a ROS test which can be run with the the following commands from your workspace directory (eg: ./ws_ros2).

catkin build --packages-select rviz_visual_tools
catkin test --packages-select rviz_visual_tools

Run with clang-tidy:

run-clang-tidy-4.0.py -clang-tidy-binary=/usr/lib/llvm-4.0/bin/clang-tidy -fix -p=$COLCON_WS/build/rviz_visual_tools .

Docker Image

Dockerhub automatically creates a Docker for this repo. To run with GUI:

# This is not the safest way however, as you then compromise the access control to X server on your host
xhost +local:root # for the lazy and reckless
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" picknik/rviz_visual_tools:${ROS_DISTRO}
export containerId=$(docker ps -l -q)
# Close security hole:
xhost -local:root

(Optional) To build the docker image locally for this repo, run in base of package:

docker build -t picknik/rviz_visual_tools:${ROS_DISTRO} .

Contribute

Please send PRs for new helper functions, fixes, etc!

When a pull request is opened, a reviewer is randomly assigned from the reviewer list using the Auto Assign Github Bot

CHANGELOG

Changelog for package rviz_visual_tools

4.0.3 (2021-12-13)

  • Make sure to add all dependencies to the package.xml (#209) (#214)
  • Backport Fix faulty templated constructor (#213)
  • Contributors: Vatan Aksoy Tezer, Chris Lalancette

4.0.2 (2021-10-07)

  • Add pluginlib dependency. (#203)
  • Re-enable RemoteControl functionality (#204)
    • use condition_variable to be more thread safe
    • Drop executor from constructor, deprecate old one
    • Fix RemoteControl usage in demo
    • Use SystemDefaultsQOS for RemoteControl subscriber
    • Add RvizVisualToolsGui dashboard to rviz config, correct view
  • Rename node_executable to executable (#201)
  • Contributors: Davide Faconti, Henning Kayser, Jafar Abdi, Steven! Ragnar

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged rviz_visual_tools at Robotics Stack Exchange

rviz_visual_tools package from rviz_visual_tools repo

rviz_visual_tools

Package Summary

Tags No category tags.
Version 3.8.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/rviz_visual_tools.git
VCS Type git
VCS Version melodic-devel
Last Updated 2020-06-09
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Utility functions for displaying and debugging data in Rviz via published markers

Additional Links

Maintainers

  • Dave Coleman

Authors

  • Dave Coleman

Rviz Visual Tools

C++ API wrapper for displaying shapes and meshes in Rviz via helper functions that publish markers. Useful for displaying and debugging data. For more advanced robot visualization features, see the moveit_visual_tools which builds on this class.

This package includes:

  • Rviz Panel GUI to step through your code for debugging and testing
  • Rviz-based keyboard control for stepping through application
  • Easy to use helper functions for visualizing in Rviz fast
  • Basic geometric markers for Rviz
  • More complex geometric shapes such as coordinate frames, framed boxes, planes, paths, graphs
  • Ability to quickly choose standard colors and sizes
  • Tools to ensure proper connection to Rviz before publishing visualizations
  • Shortcuts to convert between different types of points and poses - ROS msgs, Eigen, tf, etc
  • Batch publishing capabilities to reduce over throttling ROS messages
  • A tf publishing helper class
  • An interactive marker helper class

Developed by Dave Coleman at the Correll Robotics Lab, University of Colorado Boulder with help from Andy McEvoy and many others.

Buy Me a Coffee at ko-fi.com

  • Build Status Travis CI
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Debian Build for Ubuntu 16.04
  • Build Status ROS Kinetic Buildfarm - AMD64 Xenial Devel Build for Ubuntu 16.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Debian Build for Ubuntu 18.04
  • Build Status ROS Melodic Buildfarm - AMD64 Bionic Devel Build for Ubuntu 18.04

Install

Ubuntu Debian

sudo apt-get install ros-melodic-rviz-visual-tools

Build from Source

Clone this repository into a catkin workspace, then use the rosdep install tool to automatically download its dependencies. Depending on your current version of ROS, use:

rosdep install --from-paths src --ignore-src --rosdistro melodic

Quick Start Demo

To see random shapes generated in Rviz, first launch Rviz:

roslaunch rviz_visual_tools demo_rviz.launch

Then start demo:

roslaunch rviz_visual_tools demo.launch

Code API

See the Doxygen documentation

Usage

We'll assume you will be using these helper functions within a class. Almost all of the functions assume you are publishing transforms in the world frame (whatever you call that e.g. /odom).

Initialize

Add to your includes:

#include <rviz_visual_tools/rviz_visual_tools.h>

Add to your class's member variables:

// For visualizing things in rviz
rviz_visual_tools::RvizVisualToolsPtr visual_tools_;

In your class' constructor add:

visual_tools_.reset(new rviz_visual_tools::RvizVisualTools("base_frame","/rviz_visual_markers"));

Change the first parameter to the name of your robot's base frame, and the second parameter to whatever name you'd like to use for the corresponding Rviz marker ROS topic.

Tools

Now in your code you can easily debug your code using visual markers in Rviz

Start rviz and create a new marker using the 'Add' button at the bottom right. Choose the marker topic to be the same as the topic you specified in the constructor.

Example Code

In the following snippet we create a pose at xyz (0.1, 0.1, 0.1) and rotate the pose down 45 degrees along the Y axis. Then we publish the pose as a arrow for visualziation in Rviz. Make sure your Rviz fixed frame is the same as the one chosen in the code.

// Create pose
Eigen::Isometry3d pose;
pose = Eigen::AngleAxisd(M_PI/4, Eigen::Vector3d::UnitY()); // rotate along X axis by 45 degrees
pose.translation() = Eigen::Vector3d( 0.1, 0.1, 0.1 ); // translate x,y,z

// Publish arrow vector of pose
ROS_INFO_STREAM_NAMED("test","Publishing Arrow");
visual_tools_->publishArrow(pose, rviz_visual_tools::RED, rviz_visual_tools::LARGE);

// Don't forget to trigger the publisher!
visual_tools_->trigger();

For more example code see rviz_visual_tools_demo.cpp

Rviz GUI Usage

Publishes on the topic of /rviz_visual_tools_gui

The buttons in the Joy message correspond to the following:

1 - Next
2 - Continue
3 - Break
4 - Stop

Note: only Next is fully implemented

Mouse-Based Control

Use the Rviz panel called "RvizVisualToolsGui" to step through your program.

Keyboard-Based Control

Switch to the "KeyTool" in the top of the Rviz window and use the following keyboard commands: - n: next - c or a: continue - b: break - s: stop

API

Basic Publishing Functions

See rviz_visual_tools.h for more details and documentation on the following functions:

  • publishSphere
  • publishSpheres
  • publishArrow/publishXArrow
  • publishYArrow
  • publishZArrow
  • publishCuboid
  • publishCone
  • publishXYPlane
  • publishXZPlane
  • publishYZPlane
  • publishLine
  • publishPath
  • publishPolygon
  • publishBlock
  • publishWireframeCuboid
  • publishWireframeRectangle
  • publishAxis
  • publishAxisLabeled
  • publishCylinder
  • publishMesh
  • publishText
  • publishTest

And more...

Helper Functions

Reset function

  • deleteAllMarkers() - tells Rviz to clear out all current markers from being displayed.

All markers must be triggered after being published, by calling the trigger() function. This allows batch publishing to be achieved by only calling after several markers have been created, greatly increasing the speed of your application. You can even explicitly tell rviz_visual_tools how often to publish via the triggerEvery(NUM_MARKERS) command:

  • trigger()
  • triggerEvery(20)

Conversion functions

  • convertPose
  • convertPoint32ToPose
  • convertPoseToPoint
  • convertPoint
  • convertPoint32
  • convertFromXYZRPY
  • convertToXYZRPY

Convenience functions

  • generateRandomPose
  • generateEmptyPose
  • dRand
  • fRand
  • iRand
  • getCenterPoint
  • getVectorBetweenPoints

Frame locking

This allows the markers to be automatically updated as the base frame moves without having to republish. You can enable it via enableFrameLocking() (this is not enabled by default).

Available Colors

This package helps you quickly choose colors - feel free to send PRs with more colors as needed

BLACK,
BLUE,
BROWN,
CYAN,
DARK_GREY,
GREEN,
GREY,
LIME_GREEN,
MAGENTA,
ORANGE,
PINK,
PURPLE,
RED,
WHITE,
YELLOW,
TRANSLUCENT_LIGHT,
TRANSLUCENT,
TRANSLUCENT_DARK,
RAND,
CLEAR,
DEFAULT // i.e. 'do not change default color'

Available Marker Sizes

XXXXSMALL,
XXXSMALL,
XXSMALL,
XSMALL,
SMALL,
MEDIUM,
LARGE,
XLARGE,
XXLARGE,
XXXLARGE,
XXXXLARGE,

Interactive Marker Helper Class

This class quickly gives you basic 6dof pose interactive marker funcitonality. A demo is available:

roslaunch rviz_visual_tools demo_rviz.launch
rosrun rviz_visual_tools imarker_simple_demo

TF Visual Tools

This tool lets you easily debug Eigen transforms in Rviz. Demo use:

rviz_visual_tools::TFVisualTools tf_visualizer;
Eigen::Isometry3d world_to_shelf_transform = Eigen::Isometry3d::Identity(); // or whatever value
tf_visualizer.publishTransform(world_to_shelf_transform, "world", "shelf");

Note: this is a work in progress

Testing and Linting

To run roslint, use the following command with catkin-tools:

catkin build --no-status --no-deps --this --make-args roslint

To run catkin lint, use the following command with catkin-tools:

catkin lint -W2

Use the following command with catkin-tools to run the small amount of available tests:

catkin run_tests --no-deps --this -i

Run with clang-tidy:

run-clang-tidy-4.0.py -clang-tidy-binary=/usr/lib/llvm-4.0/bin/clang-tidy -fix -p=/home/dave/ros/current/ws_moveit/build/rviz_visual_tools .

Docker Image

Dockerhub automatically creates a Docker for this repo. To run with GUI:

# This is not the safest way however, as you then compromise the access control to X server on your host
xhost +local:root # for the lazy and reckless
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" davetcoleman/rviz_visual_tools:melodic
export containerId=$(docker ps -l -q)
# Close security hole:
xhost -local:root

(Optional) To build the docker image locally for this repo, run in base of package:

docker build -t davetcoleman/rviz_visual_tools:melodic .

Contribute

Please send PRs for new helper functions, fixes, etc!

When a pull request is opened, a reviewer is randomly assigned from the reviewer list using the Auto Assign Github Bot

CHANGELOG

Changelog for package rviz_visual_tools

3.8.0 (2019-09-18)

  • Windows bring up. (#116)
  • Change email address (#114)
  • Fixed publishCylinder namespace (#109)
  • Remove default arguments to make function calls not ambiguous (#112)
    • Remove default arguments to make function calls not ambiguous
    • Remove further default values
    • Add unit tests for publishPath() functions, make sucess return value more stringent
  • Initizalize quaternions in demo to avoid warning (#111)
  • Fix node type in demo launch files (#110)
  • Only auto-assign one reviewer (#107)
  • Use LOGNAME for logging re:moveit styel (#106)
  • Document Github Probot for Auto Assign (#101)
  • Contributors: Dave Coleman, Sean Yen, Victor Lamoine, d-walsh

3.7.0 (2018-11-26)

  • Fix Eigen::Affine3d for Melodic (using Eigen::Isometry3d) (#105)
  • Improve documentation (#100)
  • Fix some catkin_lint warnings and rename targets output (#98)
  • Update README Kinetic to Melodic (#102)
  • Add Melodic build farm badges (#99)
  • Add ccache support (#93)
  • no ros::spinOnce() (#82)
  • Deprecate old functions for ROS Melodic (#91)
  • Improve package with catkin_lint (#89)
  • Add OGRE dependency (#88)
  • Automoc requires at least cmake version 2.8.6 (#86)
  • Fix Travis badge (#84)
  • The code already uses AUTOMOC (#76)
  • Contributors: Dave Coleman, Jochen Sprickerhof, Michael G

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged rviz_visual_tools at Robotics Stack Exchange