hairo
Dependencies: mbed BufferedSerial
Revision 4:bcdd99711326, committed 2018-12-04
- Comitter:
- tknara
- Date:
- Tue Dec 04 00:14:32 2018 +0000
- Parent:
- 3:67c0e888fb36
- Commit message:
- test
Changed in this revision
--- a/ikarashiMDC.lib Sat Dec 01 11:49:43 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://developer.mbed.org/teams/NHK-Robocon2016_Nagaoka_B_Team/code/ikarashiMDC/#db54a25dca39
--- a/main.cpp Sat Dec 01 11:49:43 2018 +0000 +++ b/main.cpp Tue Dec 04 00:14:32 2018 +0000 @@ -1,13 +1,15 @@ -#include <ros.h>; -#include <sensor_msgs/Joy.h>; -#include <std_msgs/String.h>; #include "mbed.h" -#include "ikarashiMDC.h" +//#include "ikarashiMDC.h" +#include "algorithm" +#include <ros.h> +#include <sensor_msgs/Joy.h> +#include <std_msgs/String.h> #define TIMEOUT 0.4 DigitalOut led(LED1); CAN can(PA_11,PA_12); DigitalOut led2(PA_0); Timeout timeout; +/* ikarashiMDC wheel[]{ ikarashiMDC(1,0,SM,&can), ikarashiMDC(1,1,SM,&can), @@ -25,7 +27,7 @@ ikarashiMDC(3,1,SM,&can), ikarashiMDC(3,2,SM,&can), ikarashiMDC(3,3,SM,&can) -}; +};*/ double wheelSpeed[4]={0}; double joyaxes[8]; double joybuttons[11]; @@ -59,7 +61,7 @@ 7 cross key up/down */ } - for(int i=0;i<11;i++) + for(i=0;i<11;i++) { joybuttons[i]=joy.buttons[i]; /* @@ -77,9 +79,18 @@ */ } } +double cropped_speed(double speed) +{ + return std::min(1.0,std::max(-1.0,speed)); +} void setWheelSpeed() { - if(joybuttons[9]) + /* + wheelSpeed[0]=joyaxes[0]*-1; + wheelSpeed[1]=joyaxes[0]*-1; + wheelSpeed[2]=joyaxes[0]*-1; + wheelSpeed[3]=joyaxes[0]*-1; + */if(joybuttons[9]==1) { wheelSpeed[0]=joyaxes[0]; wheelSpeed[2]=joyaxes[1]; @@ -87,25 +98,46 @@ wheelSpeed[0]=joyaxes[0]; wheelSpeed[2]=joyaxes[0]; } - if(joybuttons[10]) + if(joybuttons[10]==1) { - wheelSpeed[1]=joyaxes[1]*-1; - wheelSpeed[3]=joyaxes[3]*-1; + wheelSpeed[1]=joyaxes[3]*-1; + wheelSpeed[3]=joyaxes[4]*-1; }else{ - wheelSpeed[1]=joyaxes[1]*-1; - wheelSpeed[3]=joyaxes[1]*-1; + wheelSpeed[1]=joyaxes[4]*-1; + wheelSpeed[3]=joyaxes[4]*-1; } + msg.id = 1; + msg.len = 4; + for(int i=0;i<4;i++) + { + msg.data[i] = ((cropped_speed(wheelSpeed[i])+1.0)/2.0)*253; + } + can.write(msg); } void setWaterSpeed() { waterPower[0] = Button(joybuttons[0],joybuttons[1]); waterPower[1] = Button(joybuttons[2],joybuttons[3]); waterPower[2] = Button(joybuttons[4],joybuttons[5]); + msg.id = 2; + msg.len = 4; + for(int i=0;i<4;i++) + { + msg.data[i] = ((cropped_speed(waterPower[i])+1.0)/2.0)*253; + } + can.write(msg); } void setArmSpeed() { armPower[0]=joyaxes[6]; armPower[1]=joyaxes[7]; + msg.id = 3; + msg.len = 4; + for(int i=0;i<4;i++) + { + msg.data[i] = ((cropped_speed(armPower[i])+1.0)/2.0)*253; + } + can.write(msg); } int main(){ int i; @@ -118,27 +150,18 @@ nh.subscribe(sub); nh.advertise(pub); can.frequency(125000); - for(i=0;i<4;i++) + /*for(i=0;i<4;i++) { wheel[i].braking = true; water[i].braking = true; arm[i].braking = true; - } + }*/ while(1) { nh.spinOnce(); setWheelSpeed(); setWaterSpeed(); setArmSpeed(); - for(i=0;i<4;i++) - { - wheel[i].setSpeed(wheelSpeed[i]); - wait(0.001); - water[i].setSpeed(waterPower[i]); - wait(0.001); - arm[i].setSpeed(armPower[i]); - wait(0.001); - } if(can.tderror()) { led2 = !led2;
--- a/mbed.bld Sat Dec 01 11:49:43 2018 +0000 +++ b/mbed.bld Tue Dec 04 00:14:32 2018 +0000 @@ -1,1 +1,1 @@ -https://mbed.org/users/mbed_official/code/mbed/builds/fd96258d940d \ No newline at end of file +https://os.mbed.com/users/mbed_official/code/mbed/builds/3a7713b1edbc \ No newline at end of file