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.
mecanum_4.cpp
- Committer:
- himarsmty
- Date:
- 2018-05-07
- Revision:
- 0:b7d3adaffc0a
File content as of revision 0:b7d3adaffc0a:
#include "mecanum_4.h"
//four motors
Motor_3 front_left(PB_3,PB_4,PB_1);
Motor_3 front_right(PA_12,PA_15,PB_0);
Motor_3 back_left(PB_13,PB_12,PA_6);
Motor_3 back_right(PB_15,PB_14,PA_7);
void mecanum_4::mv_x(float speed)
{
front_left.mv(speed); front_right.mv(speed);
back_left.mv(speed); back_right.mv(speed);
}
void mecanum_4::mv_y(float speed)
{
float speed1=-speed;
front_left.mv(speed1); front_right.mv(speed);
back_left.mv(speed); back_right.mv(speed1);
}
void mecanum_4::rotate(float speed)
{
float speed1=-speed;
front_left.mv(speed1); front_right.mv(speed);
back_left.mv(speed1); back_right.mv(speed);
}
void mecanum_4::r_ob(float speed)
{
front_left.mv(speed); front_right.mv(0);
back_left.mv(0); back_right.mv(speed);
}
void mecanum_4::i_ob(float speed)
{
front_left.mv(0); front_right.mv(speed);
back_left.mv(speed); back_right.mv(0);
}
void mecanum_4::any_degree(float degree,float time)
{
if(degree>=0&°ree<=90)
{
float degree1=(-degree)/90*200+100;
front_left.mv(100); front_right.mv(degree1);
back_left.mv(degree1); back_right.mv(100);
}
else if(degree>=90&°ree<=180)
{
float degree1=(-degree)/90*200+300;
front_left.mv(degree1); front_right.mv(-100);
back_left.mv(-100); back_right.mv(degree1);
}
else if(degree>=180&°ree<=270)
{
float degree1=degree/90*200-500;
front_left.mv(-100); front_right.mv(degree1);
back_left.mv(degree1); back_right.mv(-100);
}
else if(degree>=270&°ree<=360)
{
float degree1=degree/90*200-700;
front_left.mv(degree1); front_right.mv(100);
back_left.mv(100); back_right.mv(degree1);
}
wait(time);
front_left.stop();
front_right.stop();
back_left.stop();
back_right.stop();
}