RobotReceiver.h
Go to the documentation of this file.
1/**
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @author Fabian Reister ( fabian dot reister at kit dot edu )
17 * @date 2022
18 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19 * GNU General Public License
20 */
21
22#pragma once
23
26
28{
29
30 /**
31 * @brief The robot is acting as the receiver
32 *
33 * The receiver will look at the giver's hand during reach and transfer phase. Once it received the object, it will look at the giver's face.
34 *
35 */
37 {
38 public:
40
41 struct Params
42 {
43
44 //! the distance below which the hand targets will be generated.
46
48
51
52 float handPriorityScaling = 1000;
53
54 float headPriority = 100;
55
57 };
58
59 RobotReceiver(const std::string& humanTrackingId, const VirtualRobot::RobotPtr& robot);
60
61 std::vector<gaze_targets::GazeTarget>
63
64 // TODO: used to be private, but is now also needed by lookAtHumanFace/lookAtHumanHand skills
65 /*private:*/
66 std::vector<gaze_targets::GazeTarget>
68
69 std::vector<gaze_targets::GazeTarget>
71
73 };
74} // namespace armarx::view_selection::target_provider::handover
HandoverTargetProvider(const std::string &humanTrackingId, const VirtualRobot::RobotPtr &robot)
RobotReceiver(const std::string &humanTrackingId, const VirtualRobot::RobotPtr &robot)
std::vector< gaze_targets::GazeTarget > updateTargets(const armem::human::HumanPose &human) override
HandoverTargetProvider(const std::string &humanTrackingId, const VirtualRobot::RobotPtr &robot)
std::vector< gaze_targets::GazeTarget > updateTargetsPreHandover(const armem::human::HumanPose &human) const
std::vector< gaze_targets::GazeTarget > updateTargetsAfterHandover(const armem::human::HumanPose &human) const
std::shared_ptr< class Robot > RobotPtr
Definition Bus.h:19
float maxHandoverInitializationDistance
the distance below which the hand targets will be generated.