21 template <
class T,
size_t N>
22 std::ostream& operator<<(std::ostream& ostream, const std::array<T, N>&
array) {
24 std::copy(
array.cbegin(),
array.cend() - 1, std::ostream_iterator<T>(ostream,
","));
25 std::copy(
array.cend() - 1,
array.cend(), std::ostream_iterator<T>(ostream));
37 ROS_ERROR(
"ModelExampleController: Could not get Franka state interface from hardware");
41 if (!node_handle.
getParam(
"arm_id", arm_id)) {
42 ROS_ERROR(
"ModelExampleController: Could not read parameter arm_id");
47 ROS_ERROR_STREAM(
"ModelExampleController: Error getting model interface from hardware");
56 "ModelExampleController: Exception getting franka state handle: " << ex.
what());
61 model_handle_ = std::make_unique<franka_hw::FrankaModelHandle>(
65 "ModelExampleController: Exception getting model handle from interface: " << ex.
what());
74 std::array<double, 7> coriolis =
model_handle_->getCoriolis();
77 std::array<double, 42> joint4_body_jacobian =
79 std::array<double, 42> endeffector_zero_jacobian =
82 ROS_INFO(
"--------------------------------------------------");
virtual const char * what() const
std::unique_ptr< franka_hw::FrankaStateHandle > franka_state_handle_
franka_hw::FrankaStateInterface * franka_state_interface_
std::unique_ptr< franka_hw::FrankaModelHandle > model_handle_
bool init(hardware_interface::RobotHW *robot_hw, ros::NodeHandle &node_handle) override
franka_hw::FrankaModelInterface * model_interface_
void update(const ros::Time &, const ros::Duration &) override
#define ROS_INFO_STREAM(args)
bool getParam(const std::string &key, std::string &s) const
PLUGINLIB_EXPORT_CLASS(moveit_fake_controller_manager::MoveItFakeControllerManager, moveit_controller_manager::MoveItControllerManager)
#define ROS_ERROR_STREAM(args)
franka_hw::TriggerRate rate_trigger_