Hallo
move() kennt nicht nur FWD und BWD sondern auch LEFT und RIGHT:
//Direction:
#define FWD 0
#define BWD 1
#define LEFT 2
#define RIGHT 3
Gefolgt von einem MoveAtSpeed() drehen dann die Antriebe in unterschiedlichen Richtungen mit unterschiedlichen Drehzahlen. Ist aber ungetestet. Move und MoveAtSpeed sind ja schon im orginalen Slaveprogramm definiert:
// Commands:
#define CMD_POWER_OFF 0
#define CMD_POWER_ON 1
#define CMD_CONFIG 2
#define CMD_SETLEDS 3
#define CMD_STOP 4
#define CMD_MOVE_AT_SPEED 5
#define CMD_CHANGE_DIR 6
#define CMD_MOVE 7
#define CMD_ROTATE 8
#define CMD_SET_ACS_POWER 9
#define CMD_SEND_RC5 10
#define CMD_SET_WDT 11
#define CMD_SET_WDT_RQ 12
Beispiele:
// weite Kurve:
Move(100, FWD, 1000, 0);
MoveAtSpeed(100,200);
while(1) task_RP6System();
// Pirouette:
Move(100, LEFT, 1000, 0);
MoveAtSpeed(150,200);
while(1) task_RP6System();
Passt auch gut zumThema:
https://www.roboternetz.de/community...tor-rückwärts?
Gruß
mic
Lesezeichen