void Machine::forward_ (const blitz::Array<double,1>& input, blitz::Array<double,1>& output) const { m_buffer = (input - m_input_sub) / m_input_div; bob::math::prod_(m_buffer, m_weight, output); for (int i=0; i<m_weight.extent(1); ++i) output(i) = m_activation->f(output(i) + m_bias(i)); }
void KukaRMControllerRTNET::nextDesVal() { Eigen::VectorXd period = m_freq*m_time; Eigen::VectorXd amp = Eigen::VectorXd::Zero(LWRDOF); if(m_time<1.0){ amp = m_amp*m_time; } else{ amp = m_amp; } for(unsigned int i=0;i<LWRDOF;i++) { m_q_des(i) = amp(i)*(period.array().sin())(i)+m_bias(i); m_qp_des(i) = amp(i)*m_freq(i)*(period.array().cos())(i); m_qpp_des(i) = -amp(i)*m_freq(i)*m_freq(i)*(period.array().sin())(i); } }