Takeuchi Issei / Mbed 2 deprecated 4Omunisleeve3

Dependencies:   mbed Eigen

Committer:
e2011220
Date:
Wed Apr 14 07:26:19 2021 +0000
Revision:
0:ee7e9405e1c7
first

Who changed what in which revision?

UserRevisionLine numberNew contents of line
e2011220 0:ee7e9405e1c7 1 #include "OnOffMovement.h"
e2011220 0:ee7e9405e1c7 2
e2011220 0:ee7e9405e1c7 3 OnOffMovement::OnOffMovement(Movement *movement) : AutomaticMovement(movement)
e2011220 0:ee7e9405e1c7 4 {}
e2011220 0:ee7e9405e1c7 5
e2011220 0:ee7e9405e1c7 6 Eigen::Vector3d OnOffMovement::move_automatic(Eigen::Vector3d current_position)
e2011220 0:ee7e9405e1c7 7 {
e2011220 0:ee7e9405e1c7 8 Eigen::Vector3d position_difference, speed_move;
e2011220 0:ee7e9405e1c7 9 position_difference = _target_position - current_position;
e2011220 0:ee7e9405e1c7 10
e2011220 0:ee7e9405e1c7 11 for(int i = 0; i < 3; i++){
e2011220 0:ee7e9405e1c7 12 if(fabs(position_difference(i)) < _near_distance(i))
e2011220 0:ee7e9405e1c7 13 speed_move(i) = 0;
e2011220 0:ee7e9405e1c7 14 else
e2011220 0:ee7e9405e1c7 15 speed_move(i) = position_difference(i)
e2011220 0:ee7e9405e1c7 16 / fabs(position_difference(i))
e2011220 0:ee7e9405e1c7 17 * _speed(i);
e2011220 0:ee7e9405e1c7 18 }
e2011220 0:ee7e9405e1c7 19
e2011220 0:ee7e9405e1c7 20 EigenCalculation::rotate_coordinate(&speed_move, -current_position(Movement::Yaw));
e2011220 0:ee7e9405e1c7 21
e2011220 0:ee7e9405e1c7 22 _movement->move(speed_move);
e2011220 0:ee7e9405e1c7 23
e2011220 0:ee7e9405e1c7 24 return speed_move;
e2011220 0:ee7e9405e1c7 25 }
e2011220 0:ee7e9405e1c7 26
e2011220 0:ee7e9405e1c7 27 void OnOffMovement::set_near_distance(Eigen::Vector3d near_distance)
e2011220 0:ee7e9405e1c7 28 {
e2011220 0:ee7e9405e1c7 29 _near_distance = near_distance;
e2011220 0:ee7e9405e1c7 30 }
e2011220 0:ee7e9405e1c7 31
e2011220 0:ee7e9405e1c7 32 void OnOffMovement::set_speed(Eigen::Vector3d speed)
e2011220 0:ee7e9405e1c7 33 {
e2011220 0:ee7e9405e1c7 34 _speed = speed;
e2011220 0:ee7e9405e1c7 35 }