Skip to content
Snippets Groups Projects
Commit eceec8d7 authored by Mirko Wächter's avatar Mirko Wächter
Browse files

doc fixes

parent 9088d7eb
No related branches found
No related tags found
No related merge requests found
......@@ -7,8 +7,8 @@ into different coordinate frames. Here, we mean with coordinates \ref armarx::Ve
\ref armarx::Quaternion "orientation", and \ref armarx::Pose "poses".
These Intelligent Coordinates exist in 3 levels of "intelligence".
- The first level are just normal coordinates. They do not contain any information how to transform them in
other coordinate frames (e.g. \ref armarx::Pose Pose).
- The second level is are the FramedCoordinates (e.g. \ref armarx::FramedPose "FramedPose"). These contain
other coordinate frames (e.g. \ref armarx::Pose "Pose").
- The second level are the *framed* coordinates (e.g. \ref armarx::FramedPose "FramedPose"). These contain
the name and the agent of frame in which they currently are. To convert these the changeFrame() function
can be called. One needs to give the new frame and the \ref armarx::SharedRobotInterface "robot proxy" to this
function.
......@@ -16,21 +16,20 @@ function.
\section FramedPose-FramedPositionCreation Creation of new FramedPositions
To create a new FramedPosition (FramedOrientation, FramedVector and FramedPose work analogously) one needs
to know the Position, the coordinate frame name and the agent name.
The coordinate frame is usually the name of the RobotNode, e.g. the tcp of the robot.
to know the position, the coordinate frame name and the agent name.
The coordinate frame is usually the name of the RobotNode, e.g. the tcp of the robot. All nodes of a robot can be inspected with the <a href="https://gitlab.com/Simox/simox/wikis/Examples">Simox tool *RobotViewer*</a>.
The agent name can be retrieved via the \ref armarx::RobotStateComponent like this:
\code
SharedRobotInterfacePrx robot = robotStateInterfacePrx->getSynchronizedRobot();
agentName = robot->getName();
std::strning agentName = robotStateInterfacePrx->getRobotName();
\endcode
So an example code for creating a new FramedPosition looks like this:
\code
RobotStateComponentInterfacePrx robotStateInterfacePrx = ....; // you need to have this proxy
RobotStateComponentInterfacePrx robotStateInterfacePrx = ....; // you need to have this proxy, see \ref ArmarXCore-HowTos-GetProxy "get a proxy"
SharedRobotInterfacePrx robot = robotStateInterfacePrx->getSynchronizedRobot();
agentName = robot->getName();
std::string frame = root->getRoot()->getName();
std::strning agentName = robotStateInterfacePrx->getRobotName();
std::string frame = robot->getRoot()->getName();
Eigen::Vector3f pos;
pos << 100, 0, 0;
armarx::FramedPositionPtr position = new armarx::FramedPosition(pos, frame, agentName);
......@@ -39,8 +38,8 @@ So an example code for creating a new FramedPosition looks like this:
\section FramedPose-ChangeFrame Change the frame of a FramedPosition
In ArmarX the most common coordinate type is the FramedX, e.g. FramedPosition.
To change the frame in this coordinate type, you can call \ref armarx::FramedPosition::changeFrame "changeFrame()" on the FramedPosition.
You need to know the new frame, in which you want to have the
FramedPosition and a proxy to the \ref armarx::SharedRobotInterface "robot proxy" (e.g. \ref \ref armarx::RobotStateComponent::getSynchronizedRobot):
You need to know the new frame, in which you want to transform the
FramedPosition and a proxy to the \ref armarx::SharedRobotInterface "robot proxy" (e.g. \ref armarx::RobotStateComponent::getSynchronizedRobot):
\code
armarx::RobotStateComponentInterfacePrx robotStateInterfacePrx = ....; // you need to have this proxy
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment