#include <aikido/rviz/InteractiveMarkerViewer.hpp>
|
| InteractiveMarkerViewer (const std::string &topicNamespace, const std::string &frameId, aikido::planner::WorldPtr env=nullptr) |
| Creates an InteractiveMarkerViewer that reflects skeletons in a World. More...
|
|
virtual | ~InteractiveMarkerViewer () |
|
| InteractiveMarkerViewer (const InteractiveMarkerViewer &)=delete |
|
| InteractiveMarkerViewer (const InteractiveMarkerViewer &&)=delete |
|
InteractiveMarkerViewer & | operator= (const InteractiveMarkerViewer &)=delete |
|
interactive_markers::InteractiveMarkerServer & | marker_server () |
|
SkeletonMarkerPtr | addSkeletonMarker (const dart::dynamics::SkeletonPtr &skeleton) |
| Visualizes a Skeleton. More...
|
|
FrameMarkerPtr | addFrameMarker (dart::dynamics::Frame *frame, double length=0.25, double thickness=0.02, double alpha=1.0) |
| Visualizes a Frame as a cylinder. More...
|
|
TSRMarkerPtr | addTSRMarker (const constraint::dart::TSR &tsr, int nSamples=10, const std::string &basename="") |
| Visualizes a TSR. More...
|
|
TrajectoryMarkerPtr | addTrajectoryMarker (trajectory::ConstTrajectoryPtr trajectory, dart::dynamics::MetaSkeletonPtr skeleton, const dart::dynamics::Frame &frame, const Eigen::Vector4d &rgba=Eigen::Vector4d::Constant(0.75), double thickness=0.01, std::size_t numLineSegments=16u) |
| Adds trajectory marker to this viewer. More...
|
|
void | setAutoUpdate (bool flag) |
| Sets viewer auto-updating to on (true) or off. More...
|
|
void | update () |
| Updates viewer with Skeletons from the World and existing markers. More...
|
|
◆ InteractiveMarkerViewer() [1/3]
aikido::rviz::InteractiveMarkerViewer::InteractiveMarkerViewer |
( |
const std::string & |
topicNamespace, |
|
|
const std::string & |
frameId, |
|
|
aikido::planner::WorldPtr |
env = nullptr |
|
) |
| |
Creates an InteractiveMarkerViewer that reflects skeletons in a World.
- Parameters
-
[in] | topicNamespace | ROS topic to publish marker updates to |
[in] | frameId | Base frame name |
[in] | env | World to update the viewer with. Default is nullptr if there is no underlying world attached to the markers. If there is an associated world, the viewer also updates skeletons the world contains. |
◆ ~InteractiveMarkerViewer()
virtual aikido::rviz::InteractiveMarkerViewer::~InteractiveMarkerViewer |
( |
| ) |
|
|
virtual |
◆ InteractiveMarkerViewer() [2/3]
◆ InteractiveMarkerViewer() [3/3]
◆ addFrameMarker()
FrameMarkerPtr aikido::rviz::InteractiveMarkerViewer::addFrameMarker |
( |
dart::dynamics::Frame * |
frame, |
|
|
double |
length = 0.25 , |
|
|
double |
thickness = 0.02 , |
|
|
double |
alpha = 1.0 |
|
) |
| |
Visualizes a Frame as a cylinder.
- Parameters
-
[in] | frame | Target DART frame. |
[in] | length | Length of the cylindrical frame (along z-axis). |
[in] | thickness | Radius (thickness in x and y axes) of cylinder. |
[in] | alpha | Opacity. |
- Returns
- Frame marker added to this viewer.
◆ addSkeletonMarker()
SkeletonMarkerPtr aikido::rviz::InteractiveMarkerViewer::addSkeletonMarker |
( |
const dart::dynamics::SkeletonPtr & |
skeleton | ) |
|
Visualizes a Skeleton.
- Parameters
-
skeleton | Skeleton to add to the viewer |
- Returns
- Skeleton marker added to the viewer.
◆ addTrajectoryMarker()
TrajectoryMarkerPtr aikido::rviz::InteractiveMarkerViewer::addTrajectoryMarker |
( |
trajectory::ConstTrajectoryPtr |
trajectory, |
|
|
dart::dynamics::MetaSkeletonPtr |
skeleton, |
|
|
const dart::dynamics::Frame & |
frame, |
|
|
const Eigen::Vector4d & |
rgba = Eigen::Vector4d::Constant(0.75) , |
|
|
double |
thickness = 0.01 , |
|
|
std::size_t |
numLineSegments = 16u |
|
) |
| |
Adds trajectory marker to this viewer.
- Parameters
-
[in] | trajectory | C-space (or joint-space) trajectory. |
[in] | skeleton | Target DART meta skeleton that the C-space trajectory will be applied to compute the visualizing task-space trajectory. |
[in] | frame | Target DART frame where the trajectory of its origin will be visualized. |
[in] | rgba | Color and alpha of the visualized trajectory. Default is [RGBA: 0.75, 0.75, 0.75, 0.75]. |
[in] | thickness | Thickness of the visualized trajectory. Default is 0.01. |
[in] | numLineSegments | Number of line segments in the visualized trajectory. Default is 16. |
- Returns
- Trajectory marker added to this viewer.
◆ addTSRMarker()
Visualizes a TSR.
- Parameters
-
tsr | TSR constraint |
nSamples | Max number of samples to be used in visualization |
basename | Basename for markers |
- Returns
- TSR marker that contains sampled frames of TSR.
◆ autoUpdate()
void aikido::rviz::InteractiveMarkerViewer::autoUpdate |
( |
| ) |
|
|
protected |
Thread target for auto-updating the viewer.
◆ marker_server()
interactive_markers::InteractiveMarkerServer& aikido::rviz::InteractiveMarkerViewer::marker_server |
( |
| ) |
|
◆ operator=()
◆ setAutoUpdate()
void aikido::rviz::InteractiveMarkerViewer::setAutoUpdate |
( |
bool |
flag | ) |
|
Sets viewer auto-updating to on (true) or off.
- Parameters
-
[in] | flag | Whether to auto-update the viewer. |
◆ update()
void aikido::rviz::InteractiveMarkerViewer::update |
( |
| ) |
|
Updates viewer with Skeletons from the World and existing markers.
◆ updateFrameMarkers()
void aikido::rviz::InteractiveMarkerViewer::updateFrameMarkers |
( |
| ) |
|
|
protected |
Helper function to update frame markers.
◆ updateSkeletonMarkers()
void aikido::rviz::InteractiveMarkerViewer::updateSkeletonMarkers |
( |
| ) |
|
|
protected |
Helper function to update skeleton markers.
◆ updateTrajectoryMarkers()
void aikido::rviz::InteractiveMarkerViewer::updateTrajectoryMarkers |
( |
| ) |
|
|
protected |
Helper function to update trajectory markers.
◆ mFrameId
std::string aikido::rviz::InteractiveMarkerViewer::mFrameId |
|
protected |
◆ mFrameMarkers
std::set<FrameMarkerPtr> aikido::rviz::InteractiveMarkerViewer::mFrameMarkers |
|
protected |
◆ mMarkerServer
interactive_markers::InteractiveMarkerServer aikido::rviz::InteractiveMarkerViewer::mMarkerServer |
|
protected |
Interactive Marker Server.
◆ mMutex
std::mutex aikido::rviz::InteractiveMarkerViewer::mMutex |
|
mutableprotected |
◆ mRunning
std::atomic_bool aikido::rviz::InteractiveMarkerViewer::mRunning |
|
protected |
Check if the update thread is running.
◆ mSkeletonMarkers
std::map<dart::dynamics::SkeletonPtr, SkeletonMarkerPtr> aikido::rviz::InteractiveMarkerViewer::mSkeletonMarkers |
|
protected |
Map of Skeletons to SkeletonMarkers.
◆ mThread
std::thread aikido::rviz::InteractiveMarkerViewer::mThread |
|
protected |
Thread running the updates.
◆ mTrajectoryMarkers
Set of trajectory markers.
◆ mTrajectoryNameManager
NameManager for name uniqueness of trajectories in the same InteractiveMarkerServer.
◆ mUpdating
std::atomic_bool aikido::rviz::InteractiveMarkerViewer::mUpdating |
|
protected |
Check if the updates are happening.
◆ mWorld
World that automatically updates the viewer.