29#include <Eigen/Geometry>
31#include <Ice/Current.h>
32#include <Ice/Object.h>
33#include <IceUtil/Time.h>
35#include <VirtualRobot/VirtualRobot.h>
37#include <ArmarXCore/interface/observers/ObserverInterface.h>
42#include <RobotAPI/interface/aron/Aron.h>
43#include <RobotAPI/interface/units/RobotUnit/NJointController.h>
44#include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
46#include <armarx/control/interface/ConfigurableNJointControllerInterface.h>
53 class SensorValueHolonomicPlatformWithAbsolutePosition;
73 Eigen::Vector2f
linear = Eigen::Vector2f::Zero();
79 linear = Eigen::Vector2f::Zero();
101 virtual public armarx::control::ConfigurableNJointControllerInterface
104 using ConfigPtrT = control::ConfigurableNJointControllerConfigPtr;
107 const NJointControllerConfigPtr& config,
112 std::string
getClassName(
const Ice::Current& iceCurrent = Ice::emptyCurrent)
const override;
114 void rtRun(
const IceUtil::Time& sensorValuesTimestamp,
115 const IceUtil::Time& timeSinceLastIteration)
override;
117 void updateConfig(const ::armarx::aron::data::dto::DictPtr& dto,
118 const Ice::Current& iceCurrent = Ice::emptyCurrent)
override;
121 getConfig(const ::Ice::Current& = ::Ice::emptyCurrent)
override;
137 Eigen::Isometry3f global_T_robot = Eigen::Isometry3f::Identity();
146 std::atomic_bool rtFirstRun =
true;
147 std::atomic_bool rtReady =
false;
151 std::optional<traj_ctrl::local::TrajectoryFollowingController>
152 trajectoryFollowingController;
155 Devices getDevices(
const VirtualRobot::RobotNodeSet& rns);
NJointControllerWithTripleBuffer(const Target &initialCommands=Target())
A simple triple buffer for lockfree comunication between a single writer and a single reader.
std::shared_ptr< class Robot > RobotPtr
::IceInternal::Handle< Dict > DictPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface > DebugObserverInterfacePrx
IceUtil::Handle< class RobotUnit > RobotUnitPtr
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugDrawerInterface > DebugDrawerInterfacePrx
detail::ControlThreadOutputBufferEntry SensorAndControl