diff --git a/source/RobotAPI/core/RobotStatechartContext.h b/source/RobotAPI/core/RobotStatechartContext.h index dfb89b41710459a7aad22955aa5e957f370fcf97..40149fc062d916299fb3661af21d2f34165a7a55 100644 --- a/source/RobotAPI/core/RobotStatechartContext.h +++ b/source/RobotAPI/core/RobotStatechartContext.h @@ -28,7 +28,7 @@ #include <Core/core/Component.h> #include <Core/core/system/ImportExportComponent.h> #include <Core/statechart/StatechartContext.h> -#include <RobotAPI/robotstate/remote/RemoteRobot.h> +#include <RobotAPI/robotstate/remote/ArmarPose.h> #include <RobotAPI/interface/units/KinematicUnitInterface.h> #include <RobotAPI/interface/units/HandUnitInterface.h> @@ -36,7 +36,7 @@ #include <RobotAPI/interface/units/HeadIKUnit.h> #include <RobotAPI/units/KinematicUnitObserver.h> -//#include <VirtualRobot/VirtualRobot.h> + #include <IceUtil/Time.h> namespace armarx diff --git a/source/RobotAPI/motioncontrol/MotionControl.cpp b/source/RobotAPI/motioncontrol/MotionControl.cpp index 1b2631c9fd049b345840b104fc7c215dc6705992..01e4baf7d564a35653770b1baeeaab4279b674f5 100644 --- a/source/RobotAPI/motioncontrol/MotionControl.cpp +++ b/source/RobotAPI/motioncontrol/MotionControl.cpp @@ -13,6 +13,8 @@ #include <VirtualRobot/Nodes/RobotNode.h> #include <VirtualRobot/MathTools.h> #include <VirtualRobot/XML/RobotIO.h> +#include <VirtualRobot/LinkedCoordinate.h> + #include <Eigen/src/Geometry/Quaternion.h> diff --git a/source/RobotAPI/robotstate/CMakeLists.txt b/source/RobotAPI/robotstate/CMakeLists.txt index fa5318d9c58517cda33f3a78a3e51f9c099ebc84..1e588b1dc60c633b85df672b2632ba8e6d8e2bf9 100644 --- a/source/RobotAPI/robotstate/CMakeLists.txt +++ b/source/RobotAPI/robotstate/CMakeLists.txt @@ -14,7 +14,7 @@ set(LIB_VERSION 0.1.0) set(LIB_SOVERSION 0) set(LIBS ArmarXInterfaces RobotAPIRemoteRobot - ArmarXCore ${Simox_LIBRARIES}) + ArmarXCore) set(LIB_FILES RobotStateComponent.cpp diff --git a/source/RobotAPI/robotstate/remote/ArmarPose.cpp b/source/RobotAPI/robotstate/remote/ArmarPose.cpp index b348237bd28dbfda1fdcda0b7ab38f6efe5319ef..5aaa2f508a9e78b1c9801ee674a607a636f3c861 100644 --- a/source/RobotAPI/robotstate/remote/ArmarPose.cpp +++ b/source/RobotAPI/robotstate/remote/ArmarPose.cpp @@ -4,9 +4,12 @@ #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/xml_parser.hpp> -#include <Eigen/Geometry> + #include <VirtualRobot/Robot.h> +#include <VirtualRobot/LinkedCoordinate.h> +#include <VirtualRobot/LinkedCoordinate.h> +#include <VirtualRobot/VirtualRobot.h> using namespace Eigen; using namespace std; @@ -42,6 +45,13 @@ namespace armarx return v; } + string Vector3::output(const Ice::Current &c) const + { + std::stringstream s; + s << toEigen(); + return s.str(); + } + int Vector3::readFromXML(const string &xmlData, const Ice::Current &c) { boost::property_tree::ptree pt = Variant::GetPropertyTree(xmlData); @@ -145,6 +155,13 @@ namespace armarx return result; } + string Quaternion::output(const Ice::Current &c) const + { + std::stringstream s; + s << toEigen(); + return s.str(); + } + int Quaternion::readFromXML(const string &xmlData, const Ice::Current &c) { boost::property_tree::ptree pt = Variant::GetPropertyTree(xmlData); @@ -247,6 +264,13 @@ namespace armarx return m; } + string Pose::output(const Ice::Current &c) const + { + std::stringstream s; + s << toEigen(); + return s.str(); + } + int Pose::readFromXML(const string &xmlData, const Ice::Current &c) { position->readFromXML(xmlData); @@ -321,6 +345,13 @@ namespace armarx return result; } + string FramedVector3::output(const Ice::Current &c) const + { + std::stringstream s; + s << toEigen() << std::endl << "frame: " << getFrame(); + return s.str(); + } + Eigen::Matrix4f FramedVector3::__GetRotationBetweenFrames(const std::string &oldFrame, const std::string &newFrame, VirtualRobot::RobotPtr robotState) { Eigen::Matrix4f toNewFrame = robotState->getRobotNode(oldFrame)->getTransformationTo(robotState->getRobotNode(newFrame)); @@ -395,6 +426,13 @@ namespace armarx return frame; } + string FramedPose::output(const Ice::Current &c) const + { + std::stringstream s; + s << toEigen() << std::endl << "frame: " << getFrame(); + return s.str(); + } + int FramedPose::readFromXML(const string &xmlData, const Ice::Current &c){ boost::property_tree::ptree pt = Variant::GetPropertyTree(xmlData); @@ -463,6 +501,13 @@ namespace armarx return this->frame; } + string FramedPosition::output(const Ice::Current &c) const + { + std::stringstream s; + s << toEigen() << std::endl << "frame: " << getFrame(); + return s.str(); + } + int FramedPosition::readFromXML(const string &xmlData, const Ice::Current &c){ using namespace boost::property_tree; ptree pt; @@ -533,6 +578,13 @@ namespace armarx return this->frame; } + string FramedOrientation::output(const Ice::Current &c) const + { + std::stringstream s; + s << toEigen() << std::endl << "frame: " << getFrame(); + return s.str(); + } + int FramedOrientation::readFromXML(const string &xmlData, const Ice::Current &c) { using namespace boost::property_tree; diff --git a/source/RobotAPI/robotstate/remote/ArmarPose.h b/source/RobotAPI/robotstate/remote/ArmarPose.h index 4b5e2378fa02812dbc158a306ded1a35141057f0..2bec17a53d0521fcc8a97908b94838f6af22852b 100644 --- a/source/RobotAPI/robotstate/remote/ArmarPose.h +++ b/source/RobotAPI/robotstate/remote/ArmarPose.h @@ -27,14 +27,20 @@ #include <Eigen/Core> #include <Eigen/Geometry> + #include <RobotAPI/interface/robotstate/RobotState.h> #include <Core/observers/variant/Variant.h> #include <Core/observers/AbstractObjectSerializer.h> -#include <VirtualRobot/LinkedCoordinate.h> -#include <VirtualRobot/LinkedCoordinate.h> -#include <VirtualRobot/VirtualRobot.h> + #include <Core/core/exceptions/local/ExpressionException.h> +namespace VirtualRobot +{ + class Robot; + typedef boost::shared_ptr<Robot> RobotPtr; + class LinkedCoordinate; +} + namespace armarx { namespace VariantType @@ -74,12 +80,7 @@ namespace armarx { return new Vector3(*this); } - std::string output(const Ice::Current& c = ::Ice::Current()) const - { - std::stringstream s; - s << toEigen(); - return s.str(); - } + std::string output(const Ice::Current& c = ::Ice::Current()) const; VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const { return VariantType::Vector3; @@ -146,12 +147,7 @@ namespace armarx { return new Quaternion(*this); } - std::string output(const Ice::Current& c = ::Ice::Current()) const - { - std::stringstream s; - s << toEigen(); - return s.str(); - } + std::string output(const Ice::Current& c = ::Ice::Current()) const; VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const { return VariantType::Quaternion; @@ -229,12 +225,7 @@ namespace armarx { return new Pose(*this); } - std::string output(const Ice::Current& c = ::Ice::Current()) const - { - std::stringstream s; - s << toEigen(); - return s.str(); - } + std::string output(const Ice::Current& c = ::Ice::Current()) const; VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const { return VariantType::Pose; @@ -312,12 +303,7 @@ namespace armarx return new FramedPose(*this); } - std::string output(const Ice::Current& c = ::Ice::Current()) const - { - std::stringstream s; - s << toEigen() << std::endl << "frame: " << getFrame(); - return s.str(); - } + std::string output(const Ice::Current& c = ::Ice::Current()) const; VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const { @@ -396,12 +382,7 @@ namespace armarx { return new FramedVector3(*this); } - std::string output(const Ice::Current& c = ::Ice::Current()) const - { - std::stringstream s; - s << toEigen() << std::endl << "frame: " << getFrame(); - return s.str(); - } + std::string output(const Ice::Current& c = ::Ice::Current()) const; VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const { return VariantType::FramedVector3; @@ -468,12 +449,7 @@ namespace armarx { return new FramedPosition(*this); } - std::string output(const Ice::Current& c = ::Ice::Current()) const - { - std::stringstream s; - s << toEigen() << std::endl << "frame: " << getFrame(); - return s.str(); - } + std::string output(const Ice::Current& c = ::Ice::Current()) const; VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const { return VariantType::FramedPosition; @@ -539,12 +515,7 @@ namespace armarx { return new FramedOrientation(*this); } - std::string output(const Ice::Current& c = ::Ice::Current()) const - { - std::stringstream s; - s << toEigen() << std::endl << "frame: " << getFrame(); - return s.str(); - } + std::string output(const Ice::Current& c = ::Ice::Current()) const; VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const { return VariantType::FramedOrientation; diff --git a/source/RobotAPI/robotstate/remote/LinkedPose.cpp b/source/RobotAPI/robotstate/remote/LinkedPose.cpp index fb57250f64aebf59cbd0db39c64a071b60ef4cc4..408664cb037408eb99a5c51fececa14efa1acbec 100644 --- a/source/RobotAPI/robotstate/remote/LinkedPose.cpp +++ b/source/RobotAPI/robotstate/remote/LinkedPose.cpp @@ -9,6 +9,10 @@ #include <boost/property_tree/xml_parser.hpp> #include <Eigen/Geometry> +#include <Eigen/Core> + +#include <VirtualRobot/LinkedCoordinate.h> +#include <VirtualRobot/VirtualRobot.h> namespace armarx { diff --git a/source/RobotAPI/robotstate/remote/LinkedPose.h b/source/RobotAPI/robotstate/remote/LinkedPose.h index 107617e9e22f766ad6ad081daec7ae2bb664cfd5..c93139944bfcb7cf63b7bf0c192fc18aff9b35c8 100644 --- a/source/RobotAPI/robotstate/remote/LinkedPose.h +++ b/source/RobotAPI/robotstate/remote/LinkedPose.h @@ -35,8 +35,7 @@ #include <Eigen/Core> #include <Eigen/Geometry> -#include <VirtualRobot/LinkedCoordinate.h> -#include <VirtualRobot/VirtualRobot.h> + #include <sstream> diff --git a/source/RobotAPI/statecharts/GraspingWithTorques/GraspingWithTorques.cpp b/source/RobotAPI/statecharts/GraspingWithTorques/GraspingWithTorques.cpp index c6c8c29bd3ba6d99cb46e28c738c88ba89c74842..207ef01cf16e3e703ac24ad8aaaa63b4d69256f1 100644 --- a/source/RobotAPI/statecharts/GraspingWithTorques/GraspingWithTorques.cpp +++ b/source/RobotAPI/statecharts/GraspingWithTorques/GraspingWithTorques.cpp @@ -30,6 +30,7 @@ #include <Core/observers/variant/SingleTypeVariantList.h> #include <RobotAPI/robotstate/remote/ArmarPose.h> #include <VirtualRobot/IK/DifferentialIK.h> +#include <VirtualRobot/Robot.h> #include <RobotAPI/interface/units/KinematicUnitInterface.h> #include <RobotAPI/interface/units/HandUnitInterface.h> diff --git a/source/RobotAPI/statecharts/OpenHand/OpenHand.cpp b/source/RobotAPI/statecharts/OpenHand/OpenHand.cpp index 0d98395ae75b6ad530fce1dc953cb6716a0bd04b..b448a387479668bfba263108f96e3a15991e3118 100644 --- a/source/RobotAPI/statecharts/OpenHand/OpenHand.cpp +++ b/source/RobotAPI/statecharts/OpenHand/OpenHand.cpp @@ -30,6 +30,7 @@ #include <Core/observers/variant/SingleTypeVariantList.h> #include <RobotAPI/robotstate/remote/ArmarPose.h> #include <VirtualRobot/IK/DifferentialIK.h> +#include <VirtualRobot/Robot.h> #include <RobotAPI/interface/units/KinematicUnitInterface.h> diff --git a/source/RobotAPI/statecharts/PlaceObject/PlaceObject.cpp b/source/RobotAPI/statecharts/PlaceObject/PlaceObject.cpp index 76b8018ca9fe8c3edaae43e7fbc4b597bd2094ac..1c6913acb134a5d1c65a1e7df8d7d23653a4f5e5 100644 --- a/source/RobotAPI/statecharts/PlaceObject/PlaceObject.cpp +++ b/source/RobotAPI/statecharts/PlaceObject/PlaceObject.cpp @@ -28,7 +28,9 @@ #include <Core/observers/variant/ChannelRef.h> #include <Core/observers/variant/SingleTypeVariantList.h> #include <RobotAPI/robotstate/remote/ArmarPose.h> +#include <RobotAPI/robotstate/remote/RemoteRobot.h> #include <VirtualRobot/IK/DifferentialIK.h> +#include <VirtualRobot/Robot.h> #include <RobotAPI/interface/units/KinematicUnitInterface.h> diff --git a/source/RobotAPI/units/HeadIKUnit.cpp b/source/RobotAPI/units/HeadIKUnit.cpp index 89f8975aef8836043847e05f67e5305e23cb2ec6..7372bde96b2ab4d9ef81ae331a7451bd0a3ddf02 100644 --- a/source/RobotAPI/units/HeadIKUnit.cpp +++ b/source/RobotAPI/units/HeadIKUnit.cpp @@ -5,6 +5,7 @@ #include <VirtualRobot/XML/RobotIO.h> #include <VirtualRobot/IK/GazeIK.h> +#include <VirtualRobot/LinkedCoordinate.h> namespace armarx