Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
shared/OnOffMovement/OnOffMovement.cpp
- Committer:
- e2011220
- Date:
- 2021-04-14
- Revision:
- 0:ee7e9405e1c7
File content as of revision 0:ee7e9405e1c7:
#include "OnOffMovement.h"
OnOffMovement::OnOffMovement(Movement *movement) : AutomaticMovement(movement)
{}
Eigen::Vector3d OnOffMovement::move_automatic(Eigen::Vector3d current_position)
{
Eigen::Vector3d position_difference, speed_move;
position_difference = _target_position - current_position;
for(int i = 0; i < 3; i++){
if(fabs(position_difference(i)) < _near_distance(i))
speed_move(i) = 0;
else
speed_move(i) = position_difference(i)
/ fabs(position_difference(i))
* _speed(i);
}
EigenCalculation::rotate_coordinate(&speed_move, -current_position(Movement::Yaw));
_movement->move(speed_move);
return speed_move;
}
void OnOffMovement::set_near_distance(Eigen::Vector3d near_distance)
{
_near_distance = near_distance;
}
void OnOffMovement::set_speed(Eigen::Vector3d speed)
{
_speed = speed;
}