本文整理汇总了C++中eigen::Vector4d::cwiseProduct方法的典型用法代码示例。如果您正苦于以下问题:C++ Vector4d::cwiseProduct方法的具体用法?C++ Vector4d::cwiseProduct怎么用?C++ Vector4d::cwiseProduct使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eigen::Vector4d
的用法示例。
在下文中一共展示了Vector4d::cwiseProduct方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: motors_cb
void Node::motors_cb(const controller::Motors::ConstPtr& msg)
{
//get quad charectaristics
float d = msg->d;
float kf = msg->kf;
float kt = msg->kt;
//get motor speeds (rad/s)
const Eigen::Vector4d motor_speeds(
msg->motor1,
msg->motor2,
msg->motor3,
msg->motor4);
//calculate forces and moments
const Eigen::Vector4d motor_thrust = kf * motor_speeds.cwiseProduct(motor_speeds);
Eigen::Matrix4d convert;
convert << 1, 1, 1, 1,
0, d, 0, -d,
-d, 0, d, 0,
kt, -kt, kt, -kt;
const Eigen::Vector4d f_moments = convert * motor_thrust;
//publish message
geometry_msgs::Twist out;
out.linear.z = f_moments[0];
out.angular.x = f_moments[1];
out.angular.y = f_moments[2];
out.angular.z = f_moments[3];
force_pub_.publish(out);
}