27#include <Ice/Object.h>
29#include <SimoxUtility/math/convert/mat3f_to_quat.h>
30#include <SimoxUtility/math/convert/mat4f_to_pos.h>
31#include <SimoxUtility/math/convert/mat4f_to_quat.h>
32#include <SimoxUtility/math/convert/pos_quat_to_mat4f.h>
33#include <VirtualRobot/VirtualRobot.h>
35#include <ArmarXCore/interface/core/UserException.h>
36#include <ArmarXCore/interface/observers/ObserverInterface.h>
37#include <ArmarXCore/interface/serialization/Eigen/Eigen_fdi.h>
41#include <RobotAPI/interface/units/RobotUnit/NJointController.h>
45#include <zenoh/api/subscriber.hxx>
49 template <
typename NJo
intTaskspaceController>
54 const armarx::NJointControllerConfigPtr& config,
66 return "NJointZenohTaskspaceUnknownController";
76 std::
string _connect_endpoint =
"tcp/10.6.0.248:7447";
77 std::
string _state_key =
"realtime/state";
78 std::
string _config_key =
"realtime/config";
79 std::
string _config_json =
"";
81 std::unique_ptr<zenoh::Session> _session;
82 std::unique_ptr<zenoh::Publisher> _publisher;
86 std::chrono::steady_clock::time_point time_last_packet;
NJointTaskspaceController(const RobotUnitPtr &robotUnit, const NJointControllerConfigPtr &config, const VirtualRobot::RobotPtr &)
void onPublish(const SensorAndControl &, const DebugDrawerInterfacePrx &, const DebugObserverInterfacePrx &) override
void updateConfigZenoh(const zenoh::Sample &sample)
std::string getClassName(const Ice::Current &=Ice::emptyCurrent) const final
NJointZenohTaskspaceController(const armarx::RobotUnitPtr &robotUnit, const armarx::NJointControllerConfigPtr &config, const VirtualRobot::RobotPtr &robot)
void additionalTask() final
std::shared_ptr< class Robot > RobotPtr
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface > DebugObserverInterfacePrx
IceUtil::Handle< class RobotUnit > RobotUnitPtr
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugDrawerInterface > DebugDrawerInterfacePrx
detail::ControlThreadOutputBufferEntry SensorAndControl