6 #include <visp3/core/vpConfig.h> 8 #ifdef VISP_HAVE_FRANKA 10 #include <franka/exception.h> 11 #include <franka/model.h> 22 template <
class T,
size_t N> std::ostream &operator<<(std::ostream &ostream, const std::array<T, N> &array)
25 std::copy(array.cbegin(), array.cend() - 1, std::ostream_iterator<T>(ostream,
","));
26 std::copy(array.cend() - 1, array.cend(), std::ostream_iterator<T>(ostream));
31 int main(
int argc,
char **argv)
34 std::cerr <<
"Usage: ./print_joint_positions <robot-hostname>" << std::endl;
39 franka::Robot robot(argv[1]);
41 franka::RobotState state = robot.readOnce();
43 franka::Model model(robot.loadModel());
44 for (franka::Frame frame = franka::Frame::kJoint1; frame <= franka::Frame::kEndEffector; frame++) {
45 std::cout << model.pose(frame, state) << std::endl;
47 }
catch (franka::Exception
const &e) {
48 std::cout << e.what() << std::endl;
56 int main() { std::cout <<
"This example needs libfranka to control Panda robot." << std::endl; }