hri_skeletons.hpp
Go to the documentation of this file.
1 // Copyright 2021 PAL Robotics S.L.
2 // Copyright 2008, Willow Garage, Inc.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are met:
6 //
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 //
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 //
14 // * Neither the name of the Willow Garage, Inc., PAL Robotics S.L. nor the
15 // names of its contributors may be used to endorse or promote products
16 // derived from this software without specific prior written permission.
17 //
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 // POSSIBILITY OF SUCH DAMAGE.
29 
30 #ifndef RVIZ_HRI_SKELETONS_H
31 #define RVIZ_HRI_SKELETONS_H
32 
33 #include <OGRE/OgreVector3.h>
34 #include <hri_msgs/IdsList.h>
35 #include <rviz/display.h>
36 
37 #include <map>
38 
39 namespace Ogre {
40 class Entity;
41 class SceneNode;
42 } // namespace Ogre
43 
44 namespace rviz {
45 class Axes;
46 }
47 
48 namespace rviz {
49 class FloatProperty;
50 class Property;
51 class Robot;
53 
54 typedef std::shared_ptr<Robot> RobotPtr;
55 
61 class HumansModelDisplay : public Display {
62  Q_OBJECT
63  public:
65  ~HumansModelDisplay() override;
66 
67  // Overrides from Display
68  void onInitialize() override;
69  void update(float wall_dt, float ros_dt) override;
70  void fixedFrameChanged() override;
71  void reset() override;
72  using Display::load;
73 
74  void clear();
75 
76  private Q_SLOTS:
77  void updateVisualVisible();
79  void updateTfPrefix();
80  void updateAlpha();
81  // void updateRobotDescription();
82 
83  protected:
87  // virtual void load();
88 
89  // overrides from Display
90  void onEnable() override;
91  void onDisable() override;
93 
95 
99 
100  std::string robot_description_;
101 
107 
108  std::map<std::string, RobotPtr> humans_;
109 
110  private:
111  std::vector<std::string> ids_;
112  ros::Subscriber idsSub_; // Subscriber for the ids list
113 
114  void idsCallback(const hri_msgs::IdsListConstPtr& msg);
115  void initializeRobot(std::map<std::string, RobotPtr>::iterator it);
116 };
117 
118 } // namespace rviz
119 
120 #endif
rviz::HumansModelDisplay::onDisable
void onDisable() override
Definition: hri_skeletons.cpp:205
rviz::HumansModelDisplay::update
void update(float wall_dt, float ros_dt) override
Definition: hri_skeletons.cpp:215
rviz::HumansModelDisplay::initializeRobot
void initializeRobot(std::map< std::string, RobotPtr >::iterator it)
Definition: hri_skeletons.cpp:138
Ogre
rviz::HumansModelDisplay::updateTfPrefix
void updateTfPrefix()
Definition: hri_skeletons.cpp:133
rviz::HumansModelDisplay::clear
void clear()
Definition: hri_skeletons.cpp:238
rviz::HumansModelDisplay::tf_prefix_property_
StringProperty * tf_prefix_property_
Definition: hri_skeletons.hpp:106
rviz::HumansModelDisplay::updateCollisionVisible
void updateCollisionVisible()
Definition: hri_skeletons.cpp:124
rviz::HumansModelDisplay::collision_enabled_property_
Property * collision_enabled_property_
Definition: hri_skeletons.hpp:103
display.h
rviz::Display
rviz::FloatProperty
rviz::Property
rviz::HumansModelDisplay::alpha_property_
FloatProperty * alpha_property_
Definition: hri_skeletons.hpp:105
rviz::HumansModelDisplay::idsSub_
ros::Subscriber idsSub_
Definition: hri_skeletons.hpp:112
rviz
rviz::StringProperty
rviz::HumansModelDisplay::time_since_last_transform_
float time_since_last_transform_
Definition: hri_skeletons.hpp:98
rviz::Display::load
void load(const Config &config) override
Robot
rviz::HumansModelDisplay::visual_enabled_property_
Property * visual_enabled_property_
Definition: hri_skeletons.hpp:102
rviz::HumansModelDisplay::humans_
std::map< std::string, RobotPtr > humans_
Definition: hri_skeletons.hpp:108
rviz::HumansModelDisplay::fixedFrameChanged
void fixedFrameChanged() override
Definition: hri_skeletons.cpp:236
rviz::HumansModelDisplay::onEnable
void onEnable() override
Loads a URDF from the ros-param named by our "Robot Description" property, iterates through the links...
Definition: hri_skeletons.cpp:197
rviz::HumansModelDisplay::robot_description_
std::string robot_description_
Definition: hri_skeletons.hpp:100
rviz::HumansModelDisplay::idsCallback
void idsCallback(const hri_msgs::IdsListConstPtr &msg)
Definition: hri_skeletons.cpp:253
rviz::HumansModelDisplay::pluginEnabled_
bool pluginEnabled_
Definition: hri_skeletons.hpp:92
rviz::HumansModelDisplay::updateAlpha
void updateAlpha()
Definition: hri_skeletons.cpp:108
rviz::HumansModelDisplay::update_rate_property_
FloatProperty * update_rate_property_
Definition: hri_skeletons.hpp:104
rviz::HumansModelDisplay::HumansModelDisplay
HumansModelDisplay()
Definition: hri_skeletons.cpp:54
rviz::HumansModelDisplay::onInitialize
void onInitialize() override
Definition: hri_skeletons.cpp:102
rviz::HumansModelDisplay::has_new_transforms_
bool has_new_transforms_
Definition: hri_skeletons.hpp:94
rviz::HumansModelDisplay::updateVisualVisible
void updateVisualVisible()
Definition: hri_skeletons.cpp:116
rviz::HumansModelDisplay::reset
void reset() override
Definition: hri_skeletons.cpp:248
rviz::RobotPtr
std::shared_ptr< Robot > RobotPtr
Definition: hri_skeletons.hpp:52
rviz::HumansModelDisplay
Uses a robot xml description to display the pieces of a robot at the transforms broadcast by rosTF.
Definition: hri_skeletons.hpp:61
rviz::HumansModelDisplay::ids_
std::vector< std::string > ids_
Definition: hri_skeletons.hpp:111
ros::Subscriber
rviz::HumansModelDisplay::~HumansModelDisplay
~HumansModelDisplay() override
Definition: hri_skeletons.cpp:94


hri_rviz
Author(s): Lorenzo Ferrini, Séverin Lemaignan
autogenerated on Fri Oct 20 2023 02:53:21