An example showing how to use the model library that prints the transformation matrix of each joint with respect to the base frame.
An example showing how to use the model library that prints the transformation matrix of each joint with respect to the base frame.
#include <iostream>
#include <iterator>
template <class T, size_t N>
std::ostream& operator<<(std::ostream& ostream, const std::array<T, N>& array) {
ostream << "[";
std::copy(array.cbegin(), array.cend() - 1, std::ostream_iterator<T>(ostream, ","));
std::copy(array.cend() - 1, array.cend(), std::ostream_iterator<T>(ostream));
ostream << "]";
return ostream;
}
int main(int argc, char** argv) {
if (argc != 2) {
std::cerr << "Usage: " << argv[0] << " <robot-hostname>" << std::endl;
return -1;
}
try {
for (
franka::Frame frame = franka::Frame::kJoint1; frame <= franka::Frame::kEndEffector;
frame++) {
std::cout << model.pose(frame, state) << std::endl;
}
std::cout << e.what() << std::endl;
return -1;
}
return 0;
}
Calculates poses of joints and dynamic properties of the robot.
Definition model.h:52
Maintains a network connection to the robot, provides the current robot state, gives access to the mo...
Definition robot.h:68
Contains exception definitions.
Contains model library types.
Frame
Enumerates the seven joints, the flange, and the end effector of a robot.
Definition model.h:22
Base class for all exceptions used by libfranka.
Definition exception.h:20
Describes the robot state.
Definition robot_state.h:34