by Ray » Tue Sep 26, 2006 4:33 pm
by Ray
Tue Sep 26, 2006 4:33 pm
Just brought My cheapest China made 4ch FM Transmitter, around 19USD
At first I can manage control the RN together with IR function,
however, I found the channel will affect each other values !! 8O .
causing miss decoding
Anyway, finally using a table mapping method and get RN work!
this need a serious of data collections of each pair of possible "joysticks position", by just using the "ETX 9600, CH1, ..... ETX 9600, CH2, ...." Commands. feedback to my PC and analyzis..... (using VB or anything)
but must note that the ETX and ERX pins on the board is reversed! 8O
my program:
'===============================================
' 23 Sep. 2006 Robonova-I
'
'
'
'===============================================
'== Set Offset values ===========================
ZERO G6A,100, 100, 98, 101, 100
ZERO G6B,100, 102, 100
ZERO G6C, 97, 100, 96
ZERO G6D, 99, 103, 103, 99, 104
'================================================
' templet program
'
' RR : internal parameter variable / ROBOREMOCON / Action command
' A : temporary variable / REMOCON
' A16,A26 : temporary variable
'
'== auto_main ===================================
GOTO AUTO
FILL 255,10000
DIM RR AS BYTE
DIM A AS BYTE
DIM A16 AS BYTE
DIM A26 AS BYTE
CONST ID = 0 ' 1:0, 2:32, 3:64, 4:96,
DIM CH1 AS BYTE 'Radio Controller signal variable
DIM CH2 AS BYTE
DIM CH3 AS BYTE
DIM CH4 AS BYTE
DIM RControl AS BYTE 'zero value => Disabled
'System Initialization
'
RControl = 0
'== Action command check (50 - 82)
IF RR > 50 AND RR < 83 THEN GOTO action_proc
RR = 0
PTP SETON
PTP ALLON
'== motor diretion setting ======================
DIR G6A,1,0,0,1,0,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,1,0
'== motor start position read ===================
TEMPO 230
MUSIC "CDE"
GETMOTORSET G24,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0
'== motor power on =============================
SPEED 5
MOTOR G24
GOSUB standard_pose
'================================================
MAIN:
'GOSUB robot_voltage 'Low voltage Detection
'GOSUB robot_tilt
DELAY 100
CH1 = RCIN(0) 'Radio Controller signal decoding
CH2 = RCIN(1) '
CH3 = RCIN(2) '
CH4 = RCIN(3) '
IF CH3 < 140 THEN GOTO MAIN0 'Detect RC Transmitter Active state and Operation Mode
IF CH4 < 20 THEN GOTO RC_Lmode 'RC - L Mode Detection
IF CH4 > 140 THEN GOTO RC_Rmode 'RC - R Mode Detection, otherwise, Normal Mode
RC_NormalMode:
IF CH1 > 140 AND CH2 < 20 THEN 'Mode6:Turn Left
RControl = 22
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 < 20 THEN 'Mode7:Turn Right
RControl = 24
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 > 140 THEN 'Mode9:Bow * ------ to be changed?
RControl = 1
GOTO RCDecode
ELSEIF CH2 < 20 THEN 'Mode2:Go Forward * ------ to be changed?
RControl = 11
GOTO RCDecode
ELSEIF CH2 > 140 THEN 'Mode3:Go Backward * ------ to be changed?
RControl = 12
GOTO RCDecode
ELSEIF CH1 < 20 THEN 'Mode5:Shift Right * ------ to be changed?
RControl = 13
GOTO RCDecode
ELSEIF CH1 > 140 THEN 'Mode4:Shift Left * ------ to be changed?
RControl = 14
GOTO RCDecode
ENDIF
GOTO MAIN0
RC_Lmode:
IF CH1 > 140 AND CH2 < 20 THEN
RControl = 22 'Mode L6:Turn Left * ------ to be changed?
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 < 20 THEN 'Mode L7:Turn Right * ------ to be changed?
RControl = 24
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 > 140 THEN 'Mode L9:Bow * ------ to be changed?
RControl = 1
GOTO RCDecode
ELSEIF CH2 < 20 THEN 'Mode L2:Roll forward
RControl = 21
GOTO RCDecode
ELSEIF CH2 > 140 THEN 'Mode L3:Roll backward
RControl = 31
GOTO RCDecode
ELSEIF CH1 < 20 THEN 'Mode L5:Roll to Right Direction
RControl = 30
GOTO RCDecode
ELSEIF CH1 > 140 THEN 'Mode L4:Roll to Left Direciton
RControl = 28
GOTO RCDecode
ENDIF
GOTO MAIN0
RC_Rmode:
IF CH1 > 140 AND CH2 < 20 THEN 'Mode R6:Hand up
RControl = 2
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 < 20 THEN 'Mode R7:Sitdown (Servo power on)
RControl = 3
GOTO RCDecode
ELSEIF CH2 < 20 THEN 'Model R2:Forward fligt
RControl = 29
GOTO RCDecode
ELSEIF CH1 > 140 THEN 'Model R4:Left Fight
RControl = 15
GOTO RCDecode
ELSEIF CH1 < 20 THEN 'Model R5:Right Fight
RControl = 20
GOTO RCDecode
ENDIF
GOTO MAIN0
RCDecode:
ON RControl GOTO MAIN0,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
MAIN0:
'-----------------------------
IF RR = 0 THEN GOTO MAIN1
ON RR GOTO MAIN,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
GOTO main_exit
'-----------------------------
MAIN1:
A = REMOCON(1)
A = A - ID
ON A GOTO MAIN,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
GOTO MAIN
'-------------------------------------------------
action_proc:
A = RR - 50
ON A GOTO MAIN,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
RETURN
'-----------------------------
main_exit:
IF RR > 50 THEN RETURN
RR = 0
RControl = 0
GOTO MAIN
'================================================
k1:
GOSUB bow_pose
GOSUB standard_pose
GOTO main_exit
k2:
GOSUB hans_up
DELAY 500
GOSUB standard_pose
GOTO main_exit
k3:
GOSUB sit_down_pose
DELAY 1000
GOSUB standard_pose
GOTO main_exit
k4:
GOSUB sit_hans_up
DELAY 1000
GOSUB standard_pose
GOTO main_exit
k5:
GOSUB foot_up
GOSUB standard_pose
GOTO main_exit
k6:
GOSUB body_move
GOSUB standard_pose
GOTO main_exit
k7:
GOSUB wing_move
GOSUB standard_pose
GOTO main_exit
k8:
GOSUB right_shoot
GOSUB standard_pose
DELAY 500
GOSUB left_shoot
GOSUB standard_pose
DELAY 500
GOTO main_exit
k9:
SPEED 8
GOSUB handstanding
DELAY 1000
SPEED 6
GOSUB standard_pose
GOTO main_exit
k10:
GOSUB fast_walk
GOSUB standard_pose
GOTO main_exit
k11: ' ^ 1
GOSUB forward_walk
GOSUB standard_pose
GOTO main_exit
k12: ' _ 1
GOSUB backward_walk
GOSUB standard_pose
GOTO main_exit
k13: ' > 1
SPEED 8
GOSUB right_shift
SPEED 6
GOSUB standard_pose
GOTO main_exit
k14: ' < 1
SPEED 8
GOSUB left_shift
SPEED 6
GOSUB standard_pose
GOTO main_exit
k15: ' A
GOSUB left_attack
GOSUB standard_pose
GOTO main_exit
k16:
GOSUB sit_down_pose16
GOTO main_exit
k17: ' C
GOSUB left_forward
GOSUB standard_pose
GOTO main_exit
k18: ' E
TEMPO 230
MUSIC "C"
GOTO main_exit
k19: ' P2
GOSUB backward_standup
GOSUB standard_pose
GOTO main_exit
k20: ' B
GOSUB right_attack
GOSUB standard_pose
GOTO main_exit
k21: ' ^ 2
GOSUB forward_tumbling
GOSUB standard_pose
GOTO main_exit
k22: ' *
GOSUB left_turn
GOSUB standard_pose
GOTO main_exit
k23: ' F
TEMPO 230
MUSIC "D"
GOTO main_exit
k24: ' #
GOSUB right_turn
GOSUB standard_pose
GOTO main_exit
k25: ' P1
GOSUB forward_standup
GOSUB standard_pose
GOTO main_exit
k26: ' [] 1
GOSUB sit_down_pose26
GOTO main_exit
k27: ' D
GOSUB right_forward
GOSUB standard_pose
GOTO main_exit
k28: ' < 2
GOSUB left_tumbling
SPEED 10
GOSUB standard_pose
GOTO main_exit
k29: ' [] 2
GOSUB forward_punch
SPEED 10
GOSUB standard_pose
GOTO main_exit
k30: ' > 2
GOSUB righ_tumbling
SPEED 10
GOSUB standard_pose
GOTO main_exit
k31: ' _ 2
GOSUB back_tumbling
SPEED 10
GOSUB standard_pose
GOTO main_exit
k32: ' G
TEMPO 230
MUSIC "E"
GOTO main_exit
'================================================
robot_voltage: ' [ 10 x Value / 256 = Voltage]
DIM v AS BYTE
'Actually this subroutine is no use !
A = AD(6) 'When battery voltage is less than 5.8V,
'the Vcc and the internal reference also changed !!
IF A < 148 THEN ' 5.8v
FOR v = 0 TO 2
OUT 52,1
DELAY 200
OUT 52,0
DELAY 200
NEXT v
ENDIF
RETURN
'================================================
robot_tilt:
A = AD(5)
IF A > 250 THEN RETURN
IF A < 30 THEN GOTO tilt_low
IF A > 200 THEN GOTO tilt_high
RETURN
tilt_low:
A = AD(5)
'IF A < 30 THEN GOTO forward_standup
IF A < 30 THEN GOTO backward_standup
RETURN
tilt_high:
A = AD(5)
'IF A > 200 THEN GOTO backward_standup
IF A > 200 THEN GOTO forward_standup
RETURN
'================================================
sit_down_pose16:
IF A16 = 0 THEN GOTO standard_pose16
A16 = 0
SPEED 10
MOVE G6A, 100, 151, 23, 140, 101, 100
MOVE G6D, 100, 151, 23, 140, 101, 100
MOVE G6B, 100, 30, 80, 100, 100, 100
MOVE G6C, 100, 30, 80, 100, 100, 100
WAIT
'== motor power off ============================
MOTOROFF G24
TEMPO 230
MUSIC "FEDC"
RETURN
'================================================
standard_pose16:
TEMPO 230
MUSIC "CDE"
GETMOTORSET G24,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0
'== motor power on =============================
MOTOR G24
A16 = 1
'================================================
SPEED 10
GOSUB standard_pose
RETURN
'================================================
'================================================
bow_pose:
MOVE G6A, 100, 58, 135, 160, 100, 100
MOVE G6D, 100, 58, 135, 160, 100, 100
MOVE G6B, 100, 30, 80, , , ,
MOVE G6C, 100, 30, 80, , , ,
WAIT
DELAY 1000
RETURN
'================================================
standard_pose:
MOVE G6A, 100, 76, 145, 93, 100, 100
MOVE G6D, 100, 76, 145, 93, 100, 100
MOVE G6B, 100, 30, 80, 100, 100, 100
MOVE G6C, 100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
hans_up:
SPEED 5
MOVE G6A, 100, 76, 145, 93, 100
MOVE G6D, 100, 76, 145, 93, 100
MOVE G6B, 100, 168, 150
MOVE G6C, 100, 168, 150
WAIT
RETURN
'================================================
'================================================
sit_down_pose:
SPEED 10
MOVE G6A, 100, 151, 23, 140, 101, 100
MOVE G6D, 100, 151, 23, 140, 101, 100
MOVE G6B, 100, 30, 80, 100, 100, 100
MOVE G6C, 100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
sit_hans_up:
SPEED 10
MOVE G6A, 100, 151, 23, 140, 101, 100,
MOVE G6D, 100, 151, 23, 140, 101, 100
MOVE G6B, 100, 168, 150
MOVE G6C, 100, 168, 150
WAIT
RETURN
'================================================
'================================================
foot_up:
SPEED 5
MOVE G6A, 85, 71, 152, 91, 112, 60,
MOVE G6D, 112, 76, 145, 93, 92, 60,
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
MOVE G6A, 90, 98, 105, 115, 115, 60,
MOVE G6D, 116, 74, 145, 98, 93, 60,
MOVE G6B, 100, 95, 100, 100, 100, 100,
MOVE G6C, 100, 105, 100, 100, 100, 100,
WAIT
MOVE G6A, 100, 151, 23, 140, 115, 100,
WAIT
DELAY 1000
MOVE G6A, 85, 71, 152, 91, 112, 60,
MOVE G6D, 112, 76, 145, 93, 92, 60,
WAIT
RETURN
'================================================
'================================================
body_move:
SPEED 6
GOSUB body_move1
GOSUB body_move2
GOSUB body_move3
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B, 100, 105, 100, , , ,
MOVE G6C, 100, 105, 100, , , ,
WAIT
MOVE G6A, 104, 112, 92, 116, 107
MOVE G6D, 79, 81, 145, 95, 108
MOVE G6B, 100, 105, 100
MOVE G6C, 100, 105, 100
WAIT
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B, 100, 105, 100, , , ,
MOVE G6C, 100, 105, 100, , , ,
WAIT
MOVE G6D, 104, 112, 92, 116, 107
MOVE G6A, 79, 81, 145, 95, 108
MOVE G6B, 100, 105, 100
MOVE G6C, 100, 105, 100
WAIT
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B, 100, 105, 100, , , ,
MOVE G6C, 100, 105, 100, , , ,
WAIT
GOSUB body_move3
GOSUB body_move2
GOSUB body_move1
RETURN
'================================================
body_move3:
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
'================================================
body_move2:
MOVE G6D,110, 92, 124, 97, 93, 70
MOVE G6A, 76, 72, 160, 82, 128, 70
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
'================================================
body_move1:
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
wing_move:
DIM i AS BYTE
SPEED 5
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
MOVE G6A, 90, 98, 105, 115, 115, 60
MOVE G6D,116, 74, 145, 98, 93, 60
MOVE G6B,100, 150, 150, 100, 100, 100
MOVE G6C,100, 150, 150, 100, 100, 100
WAIT
MOVE G6A, 90, 121, 36, 105, 115, 60
MOVE G6D,116, 60, 146, 138, 93, 60
MOVE G6B,100, 150, 150, 100, 100, 100
MOVE G6C,100, 150, 150, 100, 100, 100
WAIT
MOVE G6A, 90, 98, 105, 64, 115, 60
MOVE G6D,116, 50, 160, 160, 93, 60
MOVE G6B,145, 110, 110, 100, 100, 100
MOVE G6C,145, 110, 110, 100, 100, 100
WAIT
FOR i = 10 TO 15
SPEED i
MOVE G6B,145, 80, 80, 100, 100, 100
MOVE G6C,145, 80, 80, 100, 100, 100
WAIT
MOVE G6B,145, 120, 120, 100, 100, 100
MOVE G6C,145, 120, 120, 100, 100, 100
WAIT
NEXT i
DELAY 1000
SPEED 6
MOVE G6A, 90, 98, 105, 64, 115, 60
MOVE G6D,116, 50, 160, 160, 93, 60
MOVE G6B,100, 160, 180, 100, 100, 100
MOVE G6C,100, 160, 180, 100, 100, 100
WAIT
MOVE G6A, 90, 121, 36, 105, 115, 60
MOVE G6D,116, 60, 146, 138, 93, 60
MOVE G6B,100, 150, 150, 100, 100, 100
MOVE G6C,100, 150, 150, 100, 100, 100
WAIT
SPEED 4
MOVE G6A, 90, 98, 105, 115, 115, 60
MOVE G6D,116, 74, 145, 98, 93, 60
WAIT
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
right_shoot:
SPEED 4
MOVE G6A,112, 56, 180, 79, 104, 100
MOVE G6D, 70, 56, 180, 79, 102, 100
MOVE G6B,110, 45, 70, 100, 100, 100
MOVE G6C, 90, 45, 70, 100, 100, 100
WAIT
right_shoot1:
SPEED 6
MOVE G6A,115, 60, 180, 79, 95, 100
MOVE G6D, 90, 90, 127, 65, 116, 100
MOVE G6B, 80, 45, 70, 100, 100, 100
MOVE G6C,120, 45, 70, 100, 100, 100
WAIT
SPEED 15
HIGHSPEED SETON
right_shoot2:
MOVE G6A,115, 52, 180, 79, 95, 100
MOVE G6D, 90, 90, 127, 147, 116, 100
MOVE G6B,140, 45, 70, 100, 100, 100
MOVE G6C, 60, 45, 70, 100, 100, 100
WAIT
DELAY 500
HIGHSPEED SETOFF
right_shoot3:
SPEED 5
MOVE G6A,115, 76, 145, 93, 102, 100
MOVE G6D, 70, 76, 145, 93, 104, 100
MOVE G6B,110, 45, 70, 100, 100, 100
MOVE G6C, 90, 45, 70, 100, 100, 100
WAIT
RETURN
'================================================
left_shoot:
SPEED 4
MOVE G6A, 70, 56, 180, 79, 102, 100
MOVE G6D,112, 56, 180, 79, 104, 100
MOVE G6B, 90, 45, 70, 100, 100, 100
MOVE G6C,110, 45, 70, 100, 100, 100
WAIT
left_shoot1:
SPEED 6
MOVE G6A, 90, 90, 127, 65, 116, 100
MOVE G6D,115, 60, 180, 79, 95, 100
MOVE G6B,140, 45, 70, 100, 100, 100
MOVE G6C, 60, 45, 70, 100, 100, 100
WAIT
SPEED 15
HIGHSPEED SETON
left_shoot2:
MOVE G6A, 90, 90, 127, 147, 116, 100
MOVE G6D,115, 52, 180, 79, 95, 100
MOVE G6B, 60, 45, 70, 100, 100, 100
MOVE G6C,140, 45, 70, 100, 100, 100
WAIT
DELAY 500
HIGHSPEED SETOFF
left_shoot3:
SPEED 5
MOVE G6A, 70, 76, 145, 93, 104, 100
MOVE G6D,115, 76, 145, 93, 102, 100
MOVE G6B, 90, 45, 70, 100, 100, 100
MOVE G6C,110, 45, 70, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
handstanding:
GOSUB fall_forward
GOSUB standard_pose
GOSUB foot_up2
GOSUB standard_pose
GOSUB back_stand_up
RETURN
'================================================
fall_forward:
SPEED 10
MOVE G6A, 100, 155, 25, 140, 100, 100
MOVE G6D, 100, 155, 25, 140, 100, 100
MOVE G6B, 130, 50, 85, 100, 100, 100
MOVE G6C, 130, 50, 85, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B, 150, 60, 90, 100, 100, 100
MOVE G6C, 150, 60, 90, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B, 170, 10, 100, 100, 100, 100
MOVE G6C, 170, 10, 100, 100, 100, 100
WAIT
SPEED 3
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B, 185, 10, 100, 100, 100, 100
MOVE G6C, 185, 10, 100, 100, 100, 100
WAIT
SPEED 10
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B, 185, 40, 60, 100, 100, 100
MOVE G6C, 185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 100, 130, 120, 80, 110, 100
MOVE G6D, 100, 130, 120, 80, 110, 100
MOVE G6B, 125, 160, 10, 100, 100, 100
MOVE G6C, 125, 160, 10, 100, 100, 100
WAIT
RETURN
'================================================
foot_up2:
SPEED 6
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 110, 30, 80, , , ,
MOVE G6C, 110, 30, 80, , , ,
SPEED 3
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 170, 30, 80, , , ,
MOVE G6C, 170, 30, 80, , , ,
WAIT
DELAY 200
SPEED 6
MOVE G6A, 100, 89, 129, 57, 100, ,
MOVE G6D, 100, 89, 129, 57, 100, ,
MOVE G6B, 180, 30, 80, , , ,
MOVE G6C, 180, 30, 80, , , ,
WAIT
MOVE G6A, 100, 64, 179, 57, 100, ,
MOVE G6D, 100, 64, 179, 57, 100, ,
MOVE G6B, 190, 50, 80, , , ,
MOVE G6C, 190, 50, 80, , , ,
WAIT
DELAY 2000
MOVE G6A, 100, 64, 179, 57, 100, ,
MOVE G6D, 100, 64, 179, 57, 100, ,
MOVE G6B, 190, 50, 80, , , ,
MOVE G6C, 190, 50, 80, , , ,
WAIT
MOVE G6A, 100, 89, 129, 57, 100, ,
MOVE G6D, 100, 89, 129, 57, 100, ,
MOVE G6B, 180, 30, 80, , , ,
MOVE G6C, 180, 30, 80, , , ,
WAIT
SPEED 3
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 170, 30, 80, , , ,
MOVE G6C, 170, 30, 80, , , ,
WAIT
SPEED 6
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 110, 30, 80, , , ,
MOVE G6C, 110, 30, 80, , , ,
WAIT
RETURN
'================================================
back_stand_up:
SPEED 10
MOVE G6A, 100, 130, 120, 80, 110, 100
MOVE G6D, 100, 130, 120, 80, 110, 100
MOVE G6B, 150, 160, 10, 100, 100, 100
MOVE G6C, 150, 160, 10, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B, 185, 40, 60, 100, 100, 100
MOVE G6C, 185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B, 185, 10, 100, 100, 100, 100
MOVE G6C, 185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B, 170, 10, 100, 100, 100, 100
MOVE G6C, 170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B, 150, 60, 90, 100, 100, 100
MOVE G6C, 150, 60, 90, 100, 100, 100
WAIT
MOVE G6A, 100, 155, 25, 140, 100, 100
MOVE G6D, 100, 155, 25, 140, 100, 100
MOVE G6B, 130, 50, 85, 100, 100, 100
MOVE G6C, 130, 50, 85, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
fast_walk:
DIM A10 AS BYTE
SPEED 10
MOVE G6B,100, 30, 90, 100, 100, 100
MOVE G6C,100, 30, 90, 100, 100, 100
WAIT
SPEED 7
fast_run01:
MOVE G6A, 90, 72, 148, 93, 110, 70
MOVE G6D,108, 75, 145, 93, 95, 70
WAIT
SPEED 15
fast_run02:
MOVE G6A, 90, 95, 105, 115, 110, 70
MOVE G6D,112, 75, 145, 93, 95, 70
MOVE G6B, 90, 30, 90, 100, 100, 100
MOVE G6C,110, 30, 90, 100, 100, 100
WAIT
SPEED 15
'---------------------------- 4 times
FOR A10 = 1 TO 4
fast_run20:
MOVE G6A,100, 80, 119, 118, 106, 100
MOVE G6D,105, 75, 145, 93, 100, 100
MOVE G6B, 80, 30, 90, 100, 100, 100
MOVE G6C,120, 30, 90, 100, 100, 100
fast_run21:
MOVE G6A,105, 74, 140, 106, 100, 100
MOVE G6D, 95, 105, 124, 93, 106, 100
MOVE G6B,100, 30, 90, 100, 100, 100
MOVE G6C,100, 30, 90, 100, 100, 100
fast_run22:
MOVE G6D,100, 80, 119, 118, 106, 100
MOVE G6A,105, 75, 145, 93, 100, 100
MOVE G6C, 80, 30, 90, 100, 100, 100
MOVE G6B,120, 30, 90, 100, 100, 100
fast_run23:
MOVE G6D,105, 74, 140, 106, 100, 100
MOVE G6A, 95, 105, 124, 93, 106, 100
MOVE G6C,100, 30, 90, 100, 100, 100
MOVE G6B,100, 30, 90, 100, 100, 100
NEXT A10
'------------------------------
SPEED 8
MOVE G6A, 85, 80, 130, 95, 106, 100
MOVE G6D,108, 73, 145, 93, 100, 100
MOVE G6B, 80, 30, 90, 100, 100, 100
MOVE G6C,120, 30, 90, 100, 100, 100
WAIT
fast_run03:
MOVE G6A, 90, 72, 148, 93, 110, 70
MOVE G6D,108, 75, 145, 93, 93, 70
WAIT
SPEED 5
RETURN
'================================================
'================================================
left_turn:
SPEED 6
MOVE G6D, 85, 71, 152, 91, 112, 60
MOVE G6A, 112, 76, 145, 93, 92, 60
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
SPEED 9
MOVE G6A, 113, 75, 145, 97, 93, 60
MOVE G6D, 90, 50, 157, 115, 112, 60
MOVE G6B, 105, 40, 70, , , ,
MOVE G6C, 90, 40, 70, , , ,
WAIT
MOVE G6A, 108, 78, 145, 98, 93, 60
MOVE G6D, 95, 43, 169, 110, 110, 60
MOVE G6B, 105, 40, 70, , , ,
MOVE G6C, 80, 40, 70, , , ,
WAIT
RETURN
'================================================
'================================================
right_turn:
SPEED 6
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D, 112, 76, 145, 93, 92, 60
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
SPEED 9
MOVE G6D, 113, 75, 145, 97, 93, 60
MOVE G6A, 90, 50, 157, 115, 112, 60
MOVE G6C, 105, 40, 70, , , ,
MOVE G6B, 90, 40, 70, , , ,
WAIT
MOVE G6D, 108, 78, 145, 98, 93, 60
MOVE G6A, 95, 43, 169, 110, 110, 60
MOVE G6C, 105, 40, 70, , , ,
MOVE G6B, 80, 40, 70, , , ,
WAIT
RETURN
'================================================
'================================================
forward_walk: 'Edited with walking loop
SPEED 5
MOVE24 85, 71, 152, 91, 112, 60, 100, 40, 80, , , , 100, 40, 80, , , , 112, 76, 145, 93, 92, 60,
SPEED 14
'left up
MOVE24 90, 107, 105, 105, 114, 60, 90, 40, 80, , , , 100, 40, 80, , , , 114, 76, 145, 93, 90, 60,
'---------------------------------------
forward_walking_loop:
'left down
MOVE24 90, 56, 143, 122, 114, 60, 80, 40, 80, , , , 105, 40, 80, , , , 113, 80, 145, 90, 90, 60,
MOVE24 90, 46, 163, 112, 114, 60, 80, 40, 80, , , , 105, 40, 80, , , , 112, 80, 145, 90, 90, 60,
SPEED 10
'left center
MOVE24 100, 66, 141, 113, 100, 100, 90, 40, 80, , , , 100, 40, 80, , , , 100, 83, 156, 80, 100, 100,
MOVE24 113, 78, 142, 105, 90, 60, 100, 40, 80, , , , 100, 40, 80, , , , 90, 102, 136, 85, 114, 60,
SPEED 14
'right up
MOVE24 113, 76, 145, 93, 90, 60, 100, 40, 80, , , , 90, 40, 80, , , , 90, 107, 105, 105, 114, 60,
'right down
MOVE24 113, 80, 145, 90, 90, 60, 105, 40, 80, , , , 80, 40, 80, , , , 90, 56, 143, 122, 114, 60,
MOVE24 112, 80, 145, 90, 90, 60, 105, 40, 80, , , , 80, 40, 80, , , , 90, 46, 163, 112, 114, 60,
SPEED 10
'right center
MOVE24 100, 83, 156, 80, 100, 100, 100, 40, 80, , , , 90, 40, 80, , , , 100, 66, 141, 113, 100, 100,
MOVE24 90, 102, 136, 85, 114, 60, 100, 40, 80, , , , 100, 40, 80, , , , 113, 78, 142, 105, 90, 60,
SPEED 14
'left up
MOVE24 90, 107, 105, 105, 114, 60, 90, 40, 80, , , , 100, 40, 80, , , , 113, 76, 145, 93, 90, 60,
'---------------------------------------
CH3 = RCIN(2) 'Radio Controller signal decoding
CH2 = RCIN(1) '
IF CH3 > 140 AND CH2 < 20 THEN 'Continue to walk during CH2 stick hold up and RC is ON
GOTO forward_walking_loop
ENDIF
SPEED 5
MOVE24 85, 71, 152, 91, 112, 60, 100, 40, 80, , , , 100, 40, 80, , , , 112, 76, 145, 93, 92, 60,
RETURN
'================================================
'================================================
left_shift:
SPEED 5
GOSUB left_shift1
SPEED 9
GOSUB left_shift2
GOSUB left_shift3
GOSUB left_shift4
SPEED 9
GOSUB left_shift5
GOSUB left_shift6
RETURN
'================================================
left_shift1:
MOVE G6A, 85, 71, 152, 91, 112, 60,
MOVE G6D, 112, 76, 145, 93, 92, 60,
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
RETURN
'---------------------------
left_shift2:
MOVE G6D, 110, 92, 124, 97, 93, 70,
MOVE G6A, 76, 72, 160, 82, 128, 70,
MOVE G6B, 100, 35, 90, , , ,
MOVE G6C, 100, 35, 90, , , ,
WAIT
RETURN
'---------------------------
left_shift3:
MOVE G6A, 93, 76, 145, 94, 109, 100,
MOVE G6D, 93, 76, 145, 94, 109, 100,
MOVE G6B, 100, 35, 90, , , ,
MOVE G6C, 100, 35, 90, , , ,
WAIT
RETURN
'---------------------------
left_shift4:
MOVE G6A, 110, 92, 124, 97, 93, 70,
MOVE G6D, 76, 72, 160, 82, 128, 70,
MOVE G6B, 100, 35, 90, , , ,
MOVE G6C, 100, 35, 90, , , ,
WAIT
RETURN
'---------------------------
left_shift5:
MOVE G6D, 86, 83, 135, 97, 114, 60,
MOVE G6A, 113, 78, 145, 93, 93, 60,
MOVE G6C, 90, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
'---------------------------
left_shift6:
MOVE G6D, 85, 71, 152, 91, 112, 60,
MOVE G6A, 112, 76, 145, 93, 92, 60,
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
sit_down_pose26:
IF A26 = 0 THEN GOTO standard_pose26
A26 = 0
SPEED 10
MOVE G6A,100, 151, 23, 140, 101, 100
MOVE G6D,100, 151, 23, 140, 101, 100
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
standard_pose26:
A26 = 1
MOVE G6A,100, 76, 145, 93, 100, 100
MOVE G6D,100, 76, 145, 93, 100, 100
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
right_shift:
SPEED 5
GOSUB right_shift1
SPEED 9
GOSUB right_shift2
GOSUB right_shift3
GOSUB right_shift4
SPEED 9
GOSUB right_shift5
GOSUB right_shift6
RETURN
'================================================
right_shift1:
MOVE G6D, 85, 71, 152, 91, 112, 60
MOVE G6A, 112, 76, 145, 93, 92, 60
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
right_shift2:
MOVE G6A,110, 92, 124, 97, 93, 70
MOVE G6D, 76, 72, 160, 82, 128, 70
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
right_shift3:
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
right_shift4:
MOVE G6D,110, 92, 124, 97, 93, 70
MOVE G6A, 76, 72, 160, 82, 128, 70
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
right_shift5:
MOVE G6A, 86, 83, 135, 97, 114, 60
MOVE G6D,113, 78, 145, 93, 93, 60
MOVE G6B, 90, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
right_shift6:
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
backward_walk:
SPEED 5
GOSUB backward_walk1
SPEED 13
GOSUB backward_walk2
backward_walking_loop:
SPEED 7
GOSUB backward_walk3
GOSUB backward_walk4
GOSUB backward_walk5
SPEED 13
GOSUB backward_walk6
SPEED 7
GOSUB backward_walk7
GOSUB backward_walk8
GOSUB backward_walk9
SPEED 13
GOSUB backward_walk2
CH3 = RCIN(2) 'Radio Controller signal decoding
CH2 = RCIN(1) '
IF CH3 > 140 AND CH2 > 140 THEN 'Continue to walk during CH2 stick hold down and RC is ON
GOTO backward_walking_loop
ENDIF
SPEED 5
GOSUB backward_walk1
RETURN
'================================================
backward_walk1:
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk2:
MOVE G6A, 90, 107, 105, 105, 114, 60
MOVE G6D,113, 78, 145, 93, 90, 60
MOVE G6B, 90, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk9:
MOVE G6A, 90, 56, 143, 122, 114, 60
MOVE G6D,113, 80, 145, 90, 90, 60
MOVE G6B, 80, 40, 80, , , ,
MOVE G6C,105, 40, 80, , , ,
WAIT
RETURN
backward_walk8:
MOVE G6A,100, 62, 146, 108, 100, 100
MOVE G6D,100, 88, 140, 86, 100, 100
MOVE G6B, 90, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk7:
MOVE G6A,113, 76, 142, 105, 90, 60
MOVE G6D, 90, 96, 136, 85, 114, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk6:
MOVE G6D, 90, 107, 105, 105, 114, 60
MOVE G6A,113, 78, 145, 93, 90, 60
MOVE G6C,90, 40, 80, , , ,
MOVE G6B,100, 40, 80, , , ,
WAIT
RETURN
backward_walk5:
MOVE G6D, 90, 56, 143, 122, 114, 60
MOVE G6A,113, 80, 145, 90, 90, 60
MOVE G6C,80, 40, 80, , , ,
MOVE G6B,105, 40, 80, , , ,
WAIT
RETURN
backward_walk4:
MOVE G6D,100, 62, 146, 108, 100, 100
MOVE G6A,100, 88, 140, 86, 100, 100
MOVE G6C,90, 40, 80, , ,,
MOVE G6B,100, 40, 80, , , ,
WAIT
RETURN
backward_walk3:
MOVE G6D,113, 76, 142, 105, 90, 60
MOVE G6A, 90, 96, 136, 85, 114, 60
MOVE G6C,100, 40, 80, , , ,
MOVE G6B,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
forward_tumbling:
SPEED 8
GOSUB standard_pose
MOVE G6A,100, 155, 20, 140, 100, 100
MOVE G6D,100, 155, 20, 140, 100, 100
MOVE G6B,130, 50, 85, 100, 100, 100
MOVE G6C,130, 50, 85, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B,170, 10, 100, 100, 100, 100
MOVE G6C,170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B,185, 10, 100, 100, 100, 100
MOVE G6C,185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B,185, 40, 60, 100, 100, 100
MOVE G6C,185, 40, 60, 100, 100, 100
WAIT
MOVE G6A,100, 130, 120, 80, 110, 100
MOVE G6D,100, 130, 120, 80, 110, 100
MOVE G6B,130, 160, 10, 100, 100, 100
MOVE G6C,130, 160, 10, 100, 100, 100
WAIT
MOVE G6A,100, 160, 110, 140, 100, 100
MOVE G6D,100, 160, 110, 140, 100, 100
MOVE G6B,140, 70, 20, 100, 100, 100
MOVE G6C,140, 70, 20, 100, 100, 100
WAIT
SPEED 15
MOVE G6A,100, 56, 110, 26, 100, 100
MOVE G6D,100, 71, 177, 162, 100, 100
MOVE G6B,170, 40, 50, 100, 100, 100
MOVE G6C,170, 40, 50, 100, 100, 100
WAIT
MOVE G6A,100, 62, 110, 15, 100, 100
MOVE G6D,100, 71, 128, 113, 100, 100
MOVE G6B,190, 40, 50, 100, 100, 100
MOVE G6C,190, 40, 50, 100, 100, 100
WAIT
SPEED 15
MOVE G6A,100, 55, 110, 15, 100, 100
MOVE G6D,100, 55, 110, 15, 100, 100
MOVE G6B,190, 40, 50, 100, 100, 100
MOVE G6C,190, 40, 50, 100, 100, 100
WAIT
SPEED 10
MOVE G6A,100, 110, 100, 15, 100, 100
MOVE G6D,100, 110, 100, 15, 100, 100
MOVE G6B,170, 160, 115, 100, 100, 100
MOVE G6C,170, 160, 115, 100, 100, 100
WAIT
MOVE G6A,100, 170, 70, 15, 100, 100
MOVE G6D,100, 170, 70, 15, 100, 100
MOVE G6B,190, 170, 120, 100, 100, 100
MOVE G6C,190, 170, 120, 100, 100, 100
WAIT
MOVE G6A,100, 170, 30, 110, 100, 100
MOVE G6D,100, 170, 30, 110, 100, 100
MOVE G6B,190, 40, 60, 100, 100, 100
MOVE G6C,190, 40, 60, 100, 100, 100
WAIT
GOSUB sit_pose
GOSUB standard_pose
RETURN
'================================================
sit_pose:
SPEED 10
MOVE G6A,100, 151, 23, 140, 101, 100,
MOVE G6D,100, 151, 23, 140, 101, 100,
MOVE G6B,100, 30, 80, 100, 100, 100,
MOVE G6C,100, 30, 80, 100, 100, 100,
WAIT
RETURN
'================================================
'================================================
left_tumbling:
SPEED 8
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
SPEED 3
MOVE G6A,114, 135, 60, 123, 105, 100
MOVE G6D, 88, 110, 91, 116, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
MOVE G6A,114, 135, 60, 123, 105, 100
MOVE G6D,89, 135, 60, 123, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
MOVE G6A,120, 135, 60, 123, 110, 100
MOVE G6D, 89, 135, 60, 123, 130, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,120, 135, 60, 123, 120, 100
MOVE G6D,89, 135, 60, 123, 158, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
SPEED 8
MOVE G6A,120, 131, 60, 123, 185, 100
MOVE G6D,120, 131, 60, 123, 183, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
DELAY 200
SPEED 5
MOVE G6A,120, 131, 60, 123, 185, 100
MOVE G6D,120, 131, 60, 123, 183, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 6
MOVE G6A, 86, 112, 73, 127, 101, 100
MOVE G6D,105, 131, 60, 123, 183, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 3
MOVE G6A, 86, 118, 73, 127, 101, 100
MOVE G6D,112, 131, 62, 123, 133, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 3
MOVE G6A, 88, 115, 86, 115, 90, 100
MOVE G6D,107, 135, 62, 123, 113, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
forward_punch:
SPEED 15
MOVE G6A, 92, 100, 110, 100, 107, 100
MOVE G6D, 92, 100, 110, 100, 107, 100
MOVE G6B,190, 150, 10, 100, 100, 100
MOVE G6C,190, 150, 10, 100, 100, 100
WAIT
SPEED 15
HIGHSPEED SETON
MOVE G6B,190, 10, 75, 100, 100, 100
MOVE G6C,190, 140, 10, 100, 100, 100
WAIT
DELAY 500
MOVE G6B,190, 140, 10, 100, 100, 100
MOVE G6C,190, 10, 75, 100, 100, 100
WAIT
DELAY 500
MOVE G6A, 92, 100, 113, 100, 107, 100
MOVE G6D, 92, 100, 113, 100, 107, 100
MOVE G6B,190, 150, 10, 100, 100, 100
MOVE G6C,190, 150, 10, 100, 100, 100
WAIT
HIGHSPEED SETOFF
MOVE G6A,100, 115, 90, 110, 100, 100
MOVE G6D,100, 115, 90, 110, 100, 100
MOVE G6B,100, 80, 60, 100, 100, 100
MOVE G6C,100, 80, 60, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
righ_tumbling:
SPEED 8
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
SPEED 3
MOVE G6A, 83, 110, 91, 116, 100, 100
MOVE G6D,114, 135, 60, 123, 105, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
MOVE G6A,89, 135, 60, 123, 100, 100
MOVE G6D,114, 135, 60, 123, 105, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
MOVE G6A, 89, 135, 60, 123, 130, 100
MOVE G6D,120, 135, 60, 123, 110, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,89, 135, 60, 123, 158, 100
MOVE G6D,120, 135, 60, 123, 120, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
SPEED 8
MOVE G6A,120, 131, 60, 123, 183, 100
MOVE G6D,120, 131, 60, 123, 185, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
DELAY 200
SPEED 5
MOVE G6A,120, 131, 60, 123, 183, 100
MOVE G6D,120, 131, 60, 123, 185, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 6
MOVE G6A,105, 131, 60, 123, 183, 100
MOVE G6D, 86, 112, 73, 127, 101, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 3
MOVE G6A,112, 131, 62, 123, 133, 100
MOVE G6D, 86, 118, 73, 127, 101, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 3
MOVE G6A,107, 135, 62, 123, 113, 100
MOVE G6D, 88, 115, 89, 115, 90, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
back_tumbling:
SPEED 8
GOSUB standard_pose
MOVE G6A, 100, 170, 71, 23, 100, 100
MOVE G6D, 100, 170, 71, 23, 100, 100
MOVE G6B, 80, 50, 70, 100, 100, 100
MOVE G6C, 80, 50, 70, 100, 100, 100
WAIT
MOVE G6A, 100, 133, 71, 23, 100, 100
MOVE G6D, 100, 133, 71, 23, 100, 100
MOVE G6B, 10, 96, 15, 100, 100, 100
MOVE G6C, 10, 96, 14, 100, 100, 100
WAIT
MOVE G6A, 100, 133, 49, 23, 100, 100
MOVE G6D, 100, 133, 49, 23, 100, 100
MOVE G6B, 45, 116, 15, 100, 100, 100
MOVE G6C, 45, 116, 14, 100, 100, 100
WAIT
MOVE G6A, 100, 133, 49, 23, 100, 100
MOVE G6D, 100, 70, 180, 160, 100, 100
MOVE G6B, 45, 50, 70, 100, 100, 100
MOVE G6C, 45, 50, 70, 100, 100, 100
WAIT
SPEED 15
MOVE G6A, 100, 133, 180, 160, 100, 100
MOVE G6D, 100, 133, 180, 160, 100, 100
MOVE G6B, 10, 50, 70, 100, 100, 100
MOVE G6C, 10, 50, 70, 100, 100, 100
WAIT
HIGHSPEED SETON
MOVE G6A, 100, 95, 180, 160, 100, 100
MOVE G6D, 100, 95, 180, 160, 100, 100
MOVE G6B, 160, 50, 70, 100, 100, 100
MOVE G6C, 160, 50, 70, 100, 100, 100
WAIT
HIGHSPEED SETOFF
MOVE G6A, 100, 130, 120, 80, 110, 100
MOVE G6D, 100, 130, 120, 80, 110, 100
MOVE G6B, 130, 160, 10, 100, 100, 100
MOVE G6C, 130, 160, 10, 100, 100, 100
WAIT
GOSUB back_standing
RETURN
'================================================
back_standing:
SPEED 10
MOVE G6A,100, 130, 120, 80, 110, 100
MOVE G6D,100, 130, 120, 80, 110, 100
MOVE G6B,150, 160, 10, 100, 100, 100
MOVE G6C,150, 160, 10, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B,185, 40, 60, 100, 100, 100
MOVE G6C,185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B,185, 10, 100, 100, 100, 100
MOVE G6C,185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B,170, 10, 100, 100, 100, 100
MOVE G6C,170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B,150, 60, 90, 100, 100, 100
MOVE G6C,150, 60, 90, 100, 100, 100
WAIT
MOVE G6A,100, 155, 25, 140, 100, 100
MOVE G6D,100, 155, 25, 140, 100, 100
MOVE G6B,130, 50, 85, 100, 100, 100
MOVE G6C,130, 50, 85, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
left_attack:
SPEED 7
GOSUB left_attack1
SPEED 12
HIGHSPEED SETON
MOVE G6A, 98, 157, 20, 134, 110, 100
MOVE G6D, 57, 115, 77, 125, 134, 100
MOVE G6B,107, 135, 108, 100, 100, 100
MOVE G6C,112, 92, 99, 100, 100, 100
WAIT
DELAY 1000
HIGHSPEED SETOFF
SPEED 15
GOSUB sit_pose
RETURN
'================================================
left_attack1:
MOVE G6A, 85, 71, 152, 91, 107, 60
MOVE G6D, 108, 76, 145, 93, 100, 60
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
right_attack:
SPEED 7
GOSUB right_attack1
SPEED 12
HIGHSPEED SETON
MOVE G6D, 98, 157, 20, 134, 110, 100
MOVE G6A, 57, 115, 77, 125, 134, 100
MOVE G6B,112, 92, 99, 100, 100, 100
MOVE G6C,107, 135, 108, 100, 100, 100
WAIT
DELAY 1000
HIGHSPEED SETOFF
SPEED 15
GOSUB sit_pose
RETURN
'================================================
right_attack1:
MOVE G6D, 85, 71, 152, 91, 107, 60
MOVE G6A, 108, 76, 145, 93, 100, 60
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
left_forward:
SPEED 7
MOVE G6A, 85, 71, 152, 91, 107, 60
MOVE G6D, 108, 76, 145, 93, 100, 60
MOVE G6B, 130, 40, 80, , , ,
MOVE G6C, 70, 40, 80, , , ,
WAIT
SPEED 12
HIGHSPEED SETON
MOVE G6A, 107, 164, 21, 125, 93
MOVE G6D, 66, 163, 85, 65, 130
MOVE G6B, 189, 40, 77
MOVE G6C, 50, 72, 86
WAIT
DELAY 1000
HIGHSPEED SETOFF
GOSUB sit_pose
RETURN
'================================================
'================================================
right_forward:
SPEED 7
MOVE G6D, 85, 71, 152, 91, 107, 60
MOVE G6A, 108, 76, 145, 93, 100, 60
MOVE G6C, 130, 40, 80, , , ,
MOVE G6B, 70, 40, 80, , , ,
WAIT
SPEED 10
HIGHSPEED SETON
MOVE G6D, 107, 164, 21, 125, 93
MOVE G6A, 66, 163, 85, 65, 130
MOVE G6C, 189, 40, 77
MOVE G6B, 50, 72, 86
WAIT
DELAY 1000
HIGHSPEED SETOFF
GOSUB sit_pose
RETURN
'================================================
'================================================
forward_standup:
SPEED 10
MOVE G6A,100, 130, 120, 80, 110, 100
MOVE G6D,100, 130, 120, 80, 110, 100
MOVE G6B,150, 160, 10, 100, 100, 100
MOVE G6C,150, 160, 10, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B,185, 40, 60, 100, 100, 100
MOVE G6C,185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B,185, 10, 100, 100, 100, 100
MOVE G6C,185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B,170, 10, 100, 100, 100, 100
MOVE G6C,170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B,150, 60, 90, 100, 100, 100
MOVE G6C,150, 60, 90, 100, 100, 100
WAIT
MOVE G6A,100, 155, 25, 140, 100, 100
MOVE G6D,100, 155, 25, 140, 100, 100
MOVE G6B,130, 50, 85, 100, 100, 100
MOVE G6C,130, 50, 85, 100, 100, 100
WAIT
GOSUB standard_pose
RETURN
'================================================
'================================================
backward_standup:
SPEED 10
MOVE G6A,100, 10, 100, 115, 100, 100
MOVE G6D,100, 10, 100, 115, 100, 100
MOVE G6B,100, 130, 10, 100, 100, 100
MOVE G6C,100, 130, 10, 100, 100, 100
WAIT
MOVE G6A,100, 10, 83, 140, 100, 100
MOVE G6D,100, 10, 83, 140, 100, 100
MOVE G6B, 20, 130, 10, 100, 100, 100
MOVE G6C, 20, 130, 10, 100, 100, 100
WAIT
MOVE G6A,100, 126, 60, 50, 100, 100
MOVE G6D,100, 126, 60, 50, 100, 100
MOVE G6B, 20, 30, 90, 100, 100, 100
MOVE G6C, 20, 30, 90, 100, 100, 100
WAIT
MOVE G6A,100, 165, 70, 15, 100, 100
MOVE G6D,100, 165, 70, 15, 100, 100
MOVE G6B, 30, 20, 95, 100, 100, 100
MOVE G6C, 30, 20, 95, 100, 100, 100
WAIT
MOVE G6A,100, 165, 40, 100, 100, 100
MOVE G6D,100, 165, 40, 100, 100, 100
MOVE G6B,110, 70, 50, 100, 100, 100
MOVE G6C,110, 70, 50, 100, 100, 100
WAIT
GOSUB standard_pose
RETURN
'=================================================
Just brought My cheapest China made 4ch FM Transmitter, around 19USD
At first I can manage control the RN together with IR function,
however, I found the channel will affect each other values !! 8O .
causing miss decoding
Anyway, finally using a table mapping method and get RN work!
this need a serious of data collections of each pair of possible "joysticks position", by just using the "ETX 9600, CH1, ..... ETX 9600, CH2, ...." Commands. feedback to my PC and analyzis..... (using VB or anything)
but must note that the ETX and ERX pins on the board is reversed! 8O
my program:
'===============================================
' 23 Sep. 2006 Robonova-I
'
'
'
'===============================================
'== Set Offset values ===========================
ZERO G6A,100, 100, 98, 101, 100
ZERO G6B,100, 102, 100
ZERO G6C, 97, 100, 96
ZERO G6D, 99, 103, 103, 99, 104
'================================================
' templet program
'
' RR : internal parameter variable / ROBOREMOCON / Action command
' A : temporary variable / REMOCON
' A16,A26 : temporary variable
'
'== auto_main ===================================
GOTO AUTO
FILL 255,10000
DIM RR AS BYTE
DIM A AS BYTE
DIM A16 AS BYTE
DIM A26 AS BYTE
CONST ID = 0 ' 1:0, 2:32, 3:64, 4:96,
DIM CH1 AS BYTE 'Radio Controller signal variable
DIM CH2 AS BYTE
DIM CH3 AS BYTE
DIM CH4 AS BYTE
DIM RControl AS BYTE 'zero value => Disabled
'System Initialization
'
RControl = 0
'== Action command check (50 - 82)
IF RR > 50 AND RR < 83 THEN GOTO action_proc
RR = 0
PTP SETON
PTP ALLON
'== motor diretion setting ======================
DIR G6A,1,0,0,1,0,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,1,0
'== motor start position read ===================
TEMPO 230
MUSIC "CDE"
GETMOTORSET G24,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0
'== motor power on =============================
SPEED 5
MOTOR G24
GOSUB standard_pose
'================================================
MAIN:
'GOSUB robot_voltage 'Low voltage Detection
'GOSUB robot_tilt
DELAY 100
CH1 = RCIN(0) 'Radio Controller signal decoding
CH2 = RCIN(1) '
CH3 = RCIN(2) '
CH4 = RCIN(3) '
IF CH3 < 140 THEN GOTO MAIN0 'Detect RC Transmitter Active state and Operation Mode
IF CH4 < 20 THEN GOTO RC_Lmode 'RC - L Mode Detection
IF CH4 > 140 THEN GOTO RC_Rmode 'RC - R Mode Detection, otherwise, Normal Mode
RC_NormalMode:
IF CH1 > 140 AND CH2 < 20 THEN 'Mode6:Turn Left
RControl = 22
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 < 20 THEN 'Mode7:Turn Right
RControl = 24
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 > 140 THEN 'Mode9:Bow * ------ to be changed?
RControl = 1
GOTO RCDecode
ELSEIF CH2 < 20 THEN 'Mode2:Go Forward * ------ to be changed?
RControl = 11
GOTO RCDecode
ELSEIF CH2 > 140 THEN 'Mode3:Go Backward * ------ to be changed?
RControl = 12
GOTO RCDecode
ELSEIF CH1 < 20 THEN 'Mode5:Shift Right * ------ to be changed?
RControl = 13
GOTO RCDecode
ELSEIF CH1 > 140 THEN 'Mode4:Shift Left * ------ to be changed?
RControl = 14
GOTO RCDecode
ENDIF
GOTO MAIN0
RC_Lmode:
IF CH1 > 140 AND CH2 < 20 THEN
RControl = 22 'Mode L6:Turn Left * ------ to be changed?
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 < 20 THEN 'Mode L7:Turn Right * ------ to be changed?
RControl = 24
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 > 140 THEN 'Mode L9:Bow * ------ to be changed?
RControl = 1
GOTO RCDecode
ELSEIF CH2 < 20 THEN 'Mode L2:Roll forward
RControl = 21
GOTO RCDecode
ELSEIF CH2 > 140 THEN 'Mode L3:Roll backward
RControl = 31
GOTO RCDecode
ELSEIF CH1 < 20 THEN 'Mode L5:Roll to Right Direction
RControl = 30
GOTO RCDecode
ELSEIF CH1 > 140 THEN 'Mode L4:Roll to Left Direciton
RControl = 28
GOTO RCDecode
ENDIF
GOTO MAIN0
RC_Rmode:
IF CH1 > 140 AND CH2 < 20 THEN 'Mode R6:Hand up
RControl = 2
GOTO RCDecode
ELSEIF CH1 < 20 AND CH2 < 20 THEN 'Mode R7:Sitdown (Servo power on)
RControl = 3
GOTO RCDecode
ELSEIF CH2 < 20 THEN 'Model R2:Forward fligt
RControl = 29
GOTO RCDecode
ELSEIF CH1 > 140 THEN 'Model R4:Left Fight
RControl = 15
GOTO RCDecode
ELSEIF CH1 < 20 THEN 'Model R5:Right Fight
RControl = 20
GOTO RCDecode
ENDIF
GOTO MAIN0
RCDecode:
ON RControl GOTO MAIN0,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
MAIN0:
'-----------------------------
IF RR = 0 THEN GOTO MAIN1
ON RR GOTO MAIN,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
GOTO main_exit
'-----------------------------
MAIN1:
A = REMOCON(1)
A = A - ID
ON A GOTO MAIN,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
GOTO MAIN
'-------------------------------------------------
action_proc:
A = RR - 50
ON A GOTO MAIN,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K30,K31,K32
RETURN
'-----------------------------
main_exit:
IF RR > 50 THEN RETURN
RR = 0
RControl = 0
GOTO MAIN
'================================================
k1:
GOSUB bow_pose
GOSUB standard_pose
GOTO main_exit
k2:
GOSUB hans_up
DELAY 500
GOSUB standard_pose
GOTO main_exit
k3:
GOSUB sit_down_pose
DELAY 1000
GOSUB standard_pose
GOTO main_exit
k4:
GOSUB sit_hans_up
DELAY 1000
GOSUB standard_pose
GOTO main_exit
k5:
GOSUB foot_up
GOSUB standard_pose
GOTO main_exit
k6:
GOSUB body_move
GOSUB standard_pose
GOTO main_exit
k7:
GOSUB wing_move
GOSUB standard_pose
GOTO main_exit
k8:
GOSUB right_shoot
GOSUB standard_pose
DELAY 500
GOSUB left_shoot
GOSUB standard_pose
DELAY 500
GOTO main_exit
k9:
SPEED 8
GOSUB handstanding
DELAY 1000
SPEED 6
GOSUB standard_pose
GOTO main_exit
k10:
GOSUB fast_walk
GOSUB standard_pose
GOTO main_exit
k11: ' ^ 1
GOSUB forward_walk
GOSUB standard_pose
GOTO main_exit
k12: ' _ 1
GOSUB backward_walk
GOSUB standard_pose
GOTO main_exit
k13: ' > 1
SPEED 8
GOSUB right_shift
SPEED 6
GOSUB standard_pose
GOTO main_exit
k14: ' < 1
SPEED 8
GOSUB left_shift
SPEED 6
GOSUB standard_pose
GOTO main_exit
k15: ' A
GOSUB left_attack
GOSUB standard_pose
GOTO main_exit
k16:
GOSUB sit_down_pose16
GOTO main_exit
k17: ' C
GOSUB left_forward
GOSUB standard_pose
GOTO main_exit
k18: ' E
TEMPO 230
MUSIC "C"
GOTO main_exit
k19: ' P2
GOSUB backward_standup
GOSUB standard_pose
GOTO main_exit
k20: ' B
GOSUB right_attack
GOSUB standard_pose
GOTO main_exit
k21: ' ^ 2
GOSUB forward_tumbling
GOSUB standard_pose
GOTO main_exit
k22: ' *
GOSUB left_turn
GOSUB standard_pose
GOTO main_exit
k23: ' F
TEMPO 230
MUSIC "D"
GOTO main_exit
k24: ' #
GOSUB right_turn
GOSUB standard_pose
GOTO main_exit
k25: ' P1
GOSUB forward_standup
GOSUB standard_pose
GOTO main_exit
k26: ' [] 1
GOSUB sit_down_pose26
GOTO main_exit
k27: ' D
GOSUB right_forward
GOSUB standard_pose
GOTO main_exit
k28: ' < 2
GOSUB left_tumbling
SPEED 10
GOSUB standard_pose
GOTO main_exit
k29: ' [] 2
GOSUB forward_punch
SPEED 10
GOSUB standard_pose
GOTO main_exit
k30: ' > 2
GOSUB righ_tumbling
SPEED 10
GOSUB standard_pose
GOTO main_exit
k31: ' _ 2
GOSUB back_tumbling
SPEED 10
GOSUB standard_pose
GOTO main_exit
k32: ' G
TEMPO 230
MUSIC "E"
GOTO main_exit
'================================================
robot_voltage: ' [ 10 x Value / 256 = Voltage]
DIM v AS BYTE
'Actually this subroutine is no use !
A = AD(6) 'When battery voltage is less than 5.8V,
'the Vcc and the internal reference also changed !!
IF A < 148 THEN ' 5.8v
FOR v = 0 TO 2
OUT 52,1
DELAY 200
OUT 52,0
DELAY 200
NEXT v
ENDIF
RETURN
'================================================
robot_tilt:
A = AD(5)
IF A > 250 THEN RETURN
IF A < 30 THEN GOTO tilt_low
IF A > 200 THEN GOTO tilt_high
RETURN
tilt_low:
A = AD(5)
'IF A < 30 THEN GOTO forward_standup
IF A < 30 THEN GOTO backward_standup
RETURN
tilt_high:
A = AD(5)
'IF A > 200 THEN GOTO backward_standup
IF A > 200 THEN GOTO forward_standup
RETURN
'================================================
sit_down_pose16:
IF A16 = 0 THEN GOTO standard_pose16
A16 = 0
SPEED 10
MOVE G6A, 100, 151, 23, 140, 101, 100
MOVE G6D, 100, 151, 23, 140, 101, 100
MOVE G6B, 100, 30, 80, 100, 100, 100
MOVE G6C, 100, 30, 80, 100, 100, 100
WAIT
'== motor power off ============================
MOTOROFF G24
TEMPO 230
MUSIC "FEDC"
RETURN
'================================================
standard_pose16:
TEMPO 230
MUSIC "CDE"
GETMOTORSET G24,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0
'== motor power on =============================
MOTOR G24
A16 = 1
'================================================
SPEED 10
GOSUB standard_pose
RETURN
'================================================
'================================================
bow_pose:
MOVE G6A, 100, 58, 135, 160, 100, 100
MOVE G6D, 100, 58, 135, 160, 100, 100
MOVE G6B, 100, 30, 80, , , ,
MOVE G6C, 100, 30, 80, , , ,
WAIT
DELAY 1000
RETURN
'================================================
standard_pose:
MOVE G6A, 100, 76, 145, 93, 100, 100
MOVE G6D, 100, 76, 145, 93, 100, 100
MOVE G6B, 100, 30, 80, 100, 100, 100
MOVE G6C, 100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
hans_up:
SPEED 5
MOVE G6A, 100, 76, 145, 93, 100
MOVE G6D, 100, 76, 145, 93, 100
MOVE G6B, 100, 168, 150
MOVE G6C, 100, 168, 150
WAIT
RETURN
'================================================
'================================================
sit_down_pose:
SPEED 10
MOVE G6A, 100, 151, 23, 140, 101, 100
MOVE G6D, 100, 151, 23, 140, 101, 100
MOVE G6B, 100, 30, 80, 100, 100, 100
MOVE G6C, 100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
sit_hans_up:
SPEED 10
MOVE G6A, 100, 151, 23, 140, 101, 100,
MOVE G6D, 100, 151, 23, 140, 101, 100
MOVE G6B, 100, 168, 150
MOVE G6C, 100, 168, 150
WAIT
RETURN
'================================================
'================================================
foot_up:
SPEED 5
MOVE G6A, 85, 71, 152, 91, 112, 60,
MOVE G6D, 112, 76, 145, 93, 92, 60,
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
MOVE G6A, 90, 98, 105, 115, 115, 60,
MOVE G6D, 116, 74, 145, 98, 93, 60,
MOVE G6B, 100, 95, 100, 100, 100, 100,
MOVE G6C, 100, 105, 100, 100, 100, 100,
WAIT
MOVE G6A, 100, 151, 23, 140, 115, 100,
WAIT
DELAY 1000
MOVE G6A, 85, 71, 152, 91, 112, 60,
MOVE G6D, 112, 76, 145, 93, 92, 60,
WAIT
RETURN
'================================================
'================================================
body_move:
SPEED 6
GOSUB body_move1
GOSUB body_move2
GOSUB body_move3
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B, 100, 105, 100, , , ,
MOVE G6C, 100, 105, 100, , , ,
WAIT
MOVE G6A, 104, 112, 92, 116, 107
MOVE G6D, 79, 81, 145, 95, 108
MOVE G6B, 100, 105, 100
MOVE G6C, 100, 105, 100
WAIT
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B, 100, 105, 100, , , ,
MOVE G6C, 100, 105, 100, , , ,
WAIT
MOVE G6D, 104, 112, 92, 116, 107
MOVE G6A, 79, 81, 145, 95, 108
MOVE G6B, 100, 105, 100
MOVE G6C, 100, 105, 100
WAIT
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B, 100, 105, 100, , , ,
MOVE G6C, 100, 105, 100, , , ,
WAIT
GOSUB body_move3
GOSUB body_move2
GOSUB body_move1
RETURN
'================================================
body_move3:
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
'================================================
body_move2:
MOVE G6D,110, 92, 124, 97, 93, 70
MOVE G6A, 76, 72, 160, 82, 128, 70
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
'================================================
body_move1:
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
wing_move:
DIM i AS BYTE
SPEED 5
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
MOVE G6A, 90, 98, 105, 115, 115, 60
MOVE G6D,116, 74, 145, 98, 93, 60
MOVE G6B,100, 150, 150, 100, 100, 100
MOVE G6C,100, 150, 150, 100, 100, 100
WAIT
MOVE G6A, 90, 121, 36, 105, 115, 60
MOVE G6D,116, 60, 146, 138, 93, 60
MOVE G6B,100, 150, 150, 100, 100, 100
MOVE G6C,100, 150, 150, 100, 100, 100
WAIT
MOVE G6A, 90, 98, 105, 64, 115, 60
MOVE G6D,116, 50, 160, 160, 93, 60
MOVE G6B,145, 110, 110, 100, 100, 100
MOVE G6C,145, 110, 110, 100, 100, 100
WAIT
FOR i = 10 TO 15
SPEED i
MOVE G6B,145, 80, 80, 100, 100, 100
MOVE G6C,145, 80, 80, 100, 100, 100
WAIT
MOVE G6B,145, 120, 120, 100, 100, 100
MOVE G6C,145, 120, 120, 100, 100, 100
WAIT
NEXT i
DELAY 1000
SPEED 6
MOVE G6A, 90, 98, 105, 64, 115, 60
MOVE G6D,116, 50, 160, 160, 93, 60
MOVE G6B,100, 160, 180, 100, 100, 100
MOVE G6C,100, 160, 180, 100, 100, 100
WAIT
MOVE G6A, 90, 121, 36, 105, 115, 60
MOVE G6D,116, 60, 146, 138, 93, 60
MOVE G6B,100, 150, 150, 100, 100, 100
MOVE G6C,100, 150, 150, 100, 100, 100
WAIT
SPEED 4
MOVE G6A, 90, 98, 105, 115, 115, 60
MOVE G6D,116, 74, 145, 98, 93, 60
WAIT
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
right_shoot:
SPEED 4
MOVE G6A,112, 56, 180, 79, 104, 100
MOVE G6D, 70, 56, 180, 79, 102, 100
MOVE G6B,110, 45, 70, 100, 100, 100
MOVE G6C, 90, 45, 70, 100, 100, 100
WAIT
right_shoot1:
SPEED 6
MOVE G6A,115, 60, 180, 79, 95, 100
MOVE G6D, 90, 90, 127, 65, 116, 100
MOVE G6B, 80, 45, 70, 100, 100, 100
MOVE G6C,120, 45, 70, 100, 100, 100
WAIT
SPEED 15
HIGHSPEED SETON
right_shoot2:
MOVE G6A,115, 52, 180, 79, 95, 100
MOVE G6D, 90, 90, 127, 147, 116, 100
MOVE G6B,140, 45, 70, 100, 100, 100
MOVE G6C, 60, 45, 70, 100, 100, 100
WAIT
DELAY 500
HIGHSPEED SETOFF
right_shoot3:
SPEED 5
MOVE G6A,115, 76, 145, 93, 102, 100
MOVE G6D, 70, 76, 145, 93, 104, 100
MOVE G6B,110, 45, 70, 100, 100, 100
MOVE G6C, 90, 45, 70, 100, 100, 100
WAIT
RETURN
'================================================
left_shoot:
SPEED 4
MOVE G6A, 70, 56, 180, 79, 102, 100
MOVE G6D,112, 56, 180, 79, 104, 100
MOVE G6B, 90, 45, 70, 100, 100, 100
MOVE G6C,110, 45, 70, 100, 100, 100
WAIT
left_shoot1:
SPEED 6
MOVE G6A, 90, 90, 127, 65, 116, 100
MOVE G6D,115, 60, 180, 79, 95, 100
MOVE G6B,140, 45, 70, 100, 100, 100
MOVE G6C, 60, 45, 70, 100, 100, 100
WAIT
SPEED 15
HIGHSPEED SETON
left_shoot2:
MOVE G6A, 90, 90, 127, 147, 116, 100
MOVE G6D,115, 52, 180, 79, 95, 100
MOVE G6B, 60, 45, 70, 100, 100, 100
MOVE G6C,140, 45, 70, 100, 100, 100
WAIT
DELAY 500
HIGHSPEED SETOFF
left_shoot3:
SPEED 5
MOVE G6A, 70, 76, 145, 93, 104, 100
MOVE G6D,115, 76, 145, 93, 102, 100
MOVE G6B, 90, 45, 70, 100, 100, 100
MOVE G6C,110, 45, 70, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
handstanding:
GOSUB fall_forward
GOSUB standard_pose
GOSUB foot_up2
GOSUB standard_pose
GOSUB back_stand_up
RETURN
'================================================
fall_forward:
SPEED 10
MOVE G6A, 100, 155, 25, 140, 100, 100
MOVE G6D, 100, 155, 25, 140, 100, 100
MOVE G6B, 130, 50, 85, 100, 100, 100
MOVE G6C, 130, 50, 85, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B, 150, 60, 90, 100, 100, 100
MOVE G6C, 150, 60, 90, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B, 170, 10, 100, 100, 100, 100
MOVE G6C, 170, 10, 100, 100, 100, 100
WAIT
SPEED 3
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B, 185, 10, 100, 100, 100, 100
MOVE G6C, 185, 10, 100, 100, 100, 100
WAIT
SPEED 10
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B, 185, 40, 60, 100, 100, 100
MOVE G6C, 185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 100, 130, 120, 80, 110, 100
MOVE G6D, 100, 130, 120, 80, 110, 100
MOVE G6B, 125, 160, 10, 100, 100, 100
MOVE G6C, 125, 160, 10, 100, 100, 100
WAIT
RETURN
'================================================
foot_up2:
SPEED 6
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 110, 30, 80, , , ,
MOVE G6C, 110, 30, 80, , , ,
SPEED 3
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 170, 30, 80, , , ,
MOVE G6C, 170, 30, 80, , , ,
WAIT
DELAY 200
SPEED 6
MOVE G6A, 100, 89, 129, 57, 100, ,
MOVE G6D, 100, 89, 129, 57, 100, ,
MOVE G6B, 180, 30, 80, , , ,
MOVE G6C, 180, 30, 80, , , ,
WAIT
MOVE G6A, 100, 64, 179, 57, 100, ,
MOVE G6D, 100, 64, 179, 57, 100, ,
MOVE G6B, 190, 50, 80, , , ,
MOVE G6C, 190, 50, 80, , , ,
WAIT
DELAY 2000
MOVE G6A, 100, 64, 179, 57, 100, ,
MOVE G6D, 100, 64, 179, 57, 100, ,
MOVE G6B, 190, 50, 80, , , ,
MOVE G6C, 190, 50, 80, , , ,
WAIT
MOVE G6A, 100, 89, 129, 57, 100, ,
MOVE G6D, 100, 89, 129, 57, 100, ,
MOVE G6B, 180, 30, 80, , , ,
MOVE G6C, 180, 30, 80, , , ,
WAIT
SPEED 3
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 170, 30, 80, , , ,
MOVE G6C, 170, 30, 80, , , ,
WAIT
SPEED 6
MOVE G6A, 100, 125, 65, 10, 100, ,
MOVE G6D, 100, 125, 65, 10, 100, ,
MOVE G6B, 110, 30, 80, , , ,
MOVE G6C, 110, 30, 80, , , ,
WAIT
RETURN
'================================================
back_stand_up:
SPEED 10
MOVE G6A, 100, 130, 120, 80, 110, 100
MOVE G6D, 100, 130, 120, 80, 110, 100
MOVE G6B, 150, 160, 10, 100, 100, 100
MOVE G6C, 150, 160, 10, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B, 185, 40, 60, 100, 100, 100
MOVE G6C, 185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B, 185, 10, 100, 100, 100, 100
MOVE G6C, 185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B, 170, 10, 100, 100, 100, 100
MOVE G6C, 170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B, 150, 60, 90, 100, 100, 100
MOVE G6C, 150, 60, 90, 100, 100, 100
WAIT
MOVE G6A, 100, 155, 25, 140, 100, 100
MOVE G6D, 100, 155, 25, 140, 100, 100
MOVE G6B, 130, 50, 85, 100, 100, 100
MOVE G6C, 130, 50, 85, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
fast_walk:
DIM A10 AS BYTE
SPEED 10
MOVE G6B,100, 30, 90, 100, 100, 100
MOVE G6C,100, 30, 90, 100, 100, 100
WAIT
SPEED 7
fast_run01:
MOVE G6A, 90, 72, 148, 93, 110, 70
MOVE G6D,108, 75, 145, 93, 95, 70
WAIT
SPEED 15
fast_run02:
MOVE G6A, 90, 95, 105, 115, 110, 70
MOVE G6D,112, 75, 145, 93, 95, 70
MOVE G6B, 90, 30, 90, 100, 100, 100
MOVE G6C,110, 30, 90, 100, 100, 100
WAIT
SPEED 15
'---------------------------- 4 times
FOR A10 = 1 TO 4
fast_run20:
MOVE G6A,100, 80, 119, 118, 106, 100
MOVE G6D,105, 75, 145, 93, 100, 100
MOVE G6B, 80, 30, 90, 100, 100, 100
MOVE G6C,120, 30, 90, 100, 100, 100
fast_run21:
MOVE G6A,105, 74, 140, 106, 100, 100
MOVE G6D, 95, 105, 124, 93, 106, 100
MOVE G6B,100, 30, 90, 100, 100, 100
MOVE G6C,100, 30, 90, 100, 100, 100
fast_run22:
MOVE G6D,100, 80, 119, 118, 106, 100
MOVE G6A,105, 75, 145, 93, 100, 100
MOVE G6C, 80, 30, 90, 100, 100, 100
MOVE G6B,120, 30, 90, 100, 100, 100
fast_run23:
MOVE G6D,105, 74, 140, 106, 100, 100
MOVE G6A, 95, 105, 124, 93, 106, 100
MOVE G6C,100, 30, 90, 100, 100, 100
MOVE G6B,100, 30, 90, 100, 100, 100
NEXT A10
'------------------------------
SPEED 8
MOVE G6A, 85, 80, 130, 95, 106, 100
MOVE G6D,108, 73, 145, 93, 100, 100
MOVE G6B, 80, 30, 90, 100, 100, 100
MOVE G6C,120, 30, 90, 100, 100, 100
WAIT
fast_run03:
MOVE G6A, 90, 72, 148, 93, 110, 70
MOVE G6D,108, 75, 145, 93, 93, 70
WAIT
SPEED 5
RETURN
'================================================
'================================================
left_turn:
SPEED 6
MOVE G6D, 85, 71, 152, 91, 112, 60
MOVE G6A, 112, 76, 145, 93, 92, 60
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
SPEED 9
MOVE G6A, 113, 75, 145, 97, 93, 60
MOVE G6D, 90, 50, 157, 115, 112, 60
MOVE G6B, 105, 40, 70, , , ,
MOVE G6C, 90, 40, 70, , , ,
WAIT
MOVE G6A, 108, 78, 145, 98, 93, 60
MOVE G6D, 95, 43, 169, 110, 110, 60
MOVE G6B, 105, 40, 70, , , ,
MOVE G6C, 80, 40, 70, , , ,
WAIT
RETURN
'================================================
'================================================
right_turn:
SPEED 6
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D, 112, 76, 145, 93, 92, 60
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
SPEED 9
MOVE G6D, 113, 75, 145, 97, 93, 60
MOVE G6A, 90, 50, 157, 115, 112, 60
MOVE G6C, 105, 40, 70, , , ,
MOVE G6B, 90, 40, 70, , , ,
WAIT
MOVE G6D, 108, 78, 145, 98, 93, 60
MOVE G6A, 95, 43, 169, 110, 110, 60
MOVE G6C, 105, 40, 70, , , ,
MOVE G6B, 80, 40, 70, , , ,
WAIT
RETURN
'================================================
'================================================
forward_walk: 'Edited with walking loop
SPEED 5
MOVE24 85, 71, 152, 91, 112, 60, 100, 40, 80, , , , 100, 40, 80, , , , 112, 76, 145, 93, 92, 60,
SPEED 14
'left up
MOVE24 90, 107, 105, 105, 114, 60, 90, 40, 80, , , , 100, 40, 80, , , , 114, 76, 145, 93, 90, 60,
'---------------------------------------
forward_walking_loop:
'left down
MOVE24 90, 56, 143, 122, 114, 60, 80, 40, 80, , , , 105, 40, 80, , , , 113, 80, 145, 90, 90, 60,
MOVE24 90, 46, 163, 112, 114, 60, 80, 40, 80, , , , 105, 40, 80, , , , 112, 80, 145, 90, 90, 60,
SPEED 10
'left center
MOVE24 100, 66, 141, 113, 100, 100, 90, 40, 80, , , , 100, 40, 80, , , , 100, 83, 156, 80, 100, 100,
MOVE24 113, 78, 142, 105, 90, 60, 100, 40, 80, , , , 100, 40, 80, , , , 90, 102, 136, 85, 114, 60,
SPEED 14
'right up
MOVE24 113, 76, 145, 93, 90, 60, 100, 40, 80, , , , 90, 40, 80, , , , 90, 107, 105, 105, 114, 60,
'right down
MOVE24 113, 80, 145, 90, 90, 60, 105, 40, 80, , , , 80, 40, 80, , , , 90, 56, 143, 122, 114, 60,
MOVE24 112, 80, 145, 90, 90, 60, 105, 40, 80, , , , 80, 40, 80, , , , 90, 46, 163, 112, 114, 60,
SPEED 10
'right center
MOVE24 100, 83, 156, 80, 100, 100, 100, 40, 80, , , , 90, 40, 80, , , , 100, 66, 141, 113, 100, 100,
MOVE24 90, 102, 136, 85, 114, 60, 100, 40, 80, , , , 100, 40, 80, , , , 113, 78, 142, 105, 90, 60,
SPEED 14
'left up
MOVE24 90, 107, 105, 105, 114, 60, 90, 40, 80, , , , 100, 40, 80, , , , 113, 76, 145, 93, 90, 60,
'---------------------------------------
CH3 = RCIN(2) 'Radio Controller signal decoding
CH2 = RCIN(1) '
IF CH3 > 140 AND CH2 < 20 THEN 'Continue to walk during CH2 stick hold up and RC is ON
GOTO forward_walking_loop
ENDIF
SPEED 5
MOVE24 85, 71, 152, 91, 112, 60, 100, 40, 80, , , , 100, 40, 80, , , , 112, 76, 145, 93, 92, 60,
RETURN
'================================================
'================================================
left_shift:
SPEED 5
GOSUB left_shift1
SPEED 9
GOSUB left_shift2
GOSUB left_shift3
GOSUB left_shift4
SPEED 9
GOSUB left_shift5
GOSUB left_shift6
RETURN
'================================================
left_shift1:
MOVE G6A, 85, 71, 152, 91, 112, 60,
MOVE G6D, 112, 76, 145, 93, 92, 60,
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
RETURN
'---------------------------
left_shift2:
MOVE G6D, 110, 92, 124, 97, 93, 70,
MOVE G6A, 76, 72, 160, 82, 128, 70,
MOVE G6B, 100, 35, 90, , , ,
MOVE G6C, 100, 35, 90, , , ,
WAIT
RETURN
'---------------------------
left_shift3:
MOVE G6A, 93, 76, 145, 94, 109, 100,
MOVE G6D, 93, 76, 145, 94, 109, 100,
MOVE G6B, 100, 35, 90, , , ,
MOVE G6C, 100, 35, 90, , , ,
WAIT
RETURN
'---------------------------
left_shift4:
MOVE G6A, 110, 92, 124, 97, 93, 70,
MOVE G6D, 76, 72, 160, 82, 128, 70,
MOVE G6B, 100, 35, 90, , , ,
MOVE G6C, 100, 35, 90, , , ,
WAIT
RETURN
'---------------------------
left_shift5:
MOVE G6D, 86, 83, 135, 97, 114, 60,
MOVE G6A, 113, 78, 145, 93, 93, 60,
MOVE G6C, 90, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
'---------------------------
left_shift6:
MOVE G6D, 85, 71, 152, 91, 112, 60,
MOVE G6A, 112, 76, 145, 93, 92, 60,
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
sit_down_pose26:
IF A26 = 0 THEN GOTO standard_pose26
A26 = 0
SPEED 10
MOVE G6A,100, 151, 23, 140, 101, 100
MOVE G6D,100, 151, 23, 140, 101, 100
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
standard_pose26:
A26 = 1
MOVE G6A,100, 76, 145, 93, 100, 100
MOVE G6D,100, 76, 145, 93, 100, 100
MOVE G6B,100, 30, 80, 100, 100, 100
MOVE G6C,100, 30, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
right_shift:
SPEED 5
GOSUB right_shift1
SPEED 9
GOSUB right_shift2
GOSUB right_shift3
GOSUB right_shift4
SPEED 9
GOSUB right_shift5
GOSUB right_shift6
RETURN
'================================================
right_shift1:
MOVE G6D, 85, 71, 152, 91, 112, 60
MOVE G6A, 112, 76, 145, 93, 92, 60
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
right_shift2:
MOVE G6A,110, 92, 124, 97, 93, 70
MOVE G6D, 76, 72, 160, 82, 128, 70
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
right_shift3:
MOVE G6A, 93, 76, 145, 94, 109, 100
MOVE G6D, 93, 76, 145, 94, 109, 100
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
right_shift4:
MOVE G6D,110, 92, 124, 97, 93, 70
MOVE G6A, 76, 72, 160, 82, 128, 70
MOVE G6B,100, 35, 90, , , ,
MOVE G6C,100, 35, 90, , , ,
WAIT
RETURN
right_shift5:
MOVE G6A, 86, 83, 135, 97, 114, 60
MOVE G6D,113, 78, 145, 93, 93, 60
MOVE G6B, 90, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
right_shift6:
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
backward_walk:
SPEED 5
GOSUB backward_walk1
SPEED 13
GOSUB backward_walk2
backward_walking_loop:
SPEED 7
GOSUB backward_walk3
GOSUB backward_walk4
GOSUB backward_walk5
SPEED 13
GOSUB backward_walk6
SPEED 7
GOSUB backward_walk7
GOSUB backward_walk8
GOSUB backward_walk9
SPEED 13
GOSUB backward_walk2
CH3 = RCIN(2) 'Radio Controller signal decoding
CH2 = RCIN(1) '
IF CH3 > 140 AND CH2 > 140 THEN 'Continue to walk during CH2 stick hold down and RC is ON
GOTO backward_walking_loop
ENDIF
SPEED 5
GOSUB backward_walk1
RETURN
'================================================
backward_walk1:
MOVE G6A, 85, 71, 152, 91, 112, 60
MOVE G6D,112, 76, 145, 93, 92, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk2:
MOVE G6A, 90, 107, 105, 105, 114, 60
MOVE G6D,113, 78, 145, 93, 90, 60
MOVE G6B, 90, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk9:
MOVE G6A, 90, 56, 143, 122, 114, 60
MOVE G6D,113, 80, 145, 90, 90, 60
MOVE G6B, 80, 40, 80, , , ,
MOVE G6C,105, 40, 80, , , ,
WAIT
RETURN
backward_walk8:
MOVE G6A,100, 62, 146, 108, 100, 100
MOVE G6D,100, 88, 140, 86, 100, 100
MOVE G6B, 90, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk7:
MOVE G6A,113, 76, 142, 105, 90, 60
MOVE G6D, 90, 96, 136, 85, 114, 60
MOVE G6B,100, 40, 80, , , ,
MOVE G6C,100, 40, 80, , , ,
WAIT
RETURN
backward_walk6:
MOVE G6D, 90, 107, 105, 105, 114, 60
MOVE G6A,113, 78, 145, 93, 90, 60
MOVE G6C,90, 40, 80, , , ,
MOVE G6B,100, 40, 80, , , ,
WAIT
RETURN
backward_walk5:
MOVE G6D, 90, 56, 143, 122, 114, 60
MOVE G6A,113, 80, 145, 90, 90, 60
MOVE G6C,80, 40, 80, , , ,
MOVE G6B,105, 40, 80, , , ,
WAIT
RETURN
backward_walk4:
MOVE G6D,100, 62, 146, 108, 100, 100
MOVE G6A,100, 88, 140, 86, 100, 100
MOVE G6C,90, 40, 80, , ,,
MOVE G6B,100, 40, 80, , , ,
WAIT
RETURN
backward_walk3:
MOVE G6D,113, 76, 142, 105, 90, 60
MOVE G6A, 90, 96, 136, 85, 114, 60
MOVE G6C,100, 40, 80, , , ,
MOVE G6B,100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
forward_tumbling:
SPEED 8
GOSUB standard_pose
MOVE G6A,100, 155, 20, 140, 100, 100
MOVE G6D,100, 155, 20, 140, 100, 100
MOVE G6B,130, 50, 85, 100, 100, 100
MOVE G6C,130, 50, 85, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B,170, 10, 100, 100, 100, 100
MOVE G6C,170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B,185, 10, 100, 100, 100, 100
MOVE G6C,185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B,185, 40, 60, 100, 100, 100
MOVE G6C,185, 40, 60, 100, 100, 100
WAIT
MOVE G6A,100, 130, 120, 80, 110, 100
MOVE G6D,100, 130, 120, 80, 110, 100
MOVE G6B,130, 160, 10, 100, 100, 100
MOVE G6C,130, 160, 10, 100, 100, 100
WAIT
MOVE G6A,100, 160, 110, 140, 100, 100
MOVE G6D,100, 160, 110, 140, 100, 100
MOVE G6B,140, 70, 20, 100, 100, 100
MOVE G6C,140, 70, 20, 100, 100, 100
WAIT
SPEED 15
MOVE G6A,100, 56, 110, 26, 100, 100
MOVE G6D,100, 71, 177, 162, 100, 100
MOVE G6B,170, 40, 50, 100, 100, 100
MOVE G6C,170, 40, 50, 100, 100, 100
WAIT
MOVE G6A,100, 62, 110, 15, 100, 100
MOVE G6D,100, 71, 128, 113, 100, 100
MOVE G6B,190, 40, 50, 100, 100, 100
MOVE G6C,190, 40, 50, 100, 100, 100
WAIT
SPEED 15
MOVE G6A,100, 55, 110, 15, 100, 100
MOVE G6D,100, 55, 110, 15, 100, 100
MOVE G6B,190, 40, 50, 100, 100, 100
MOVE G6C,190, 40, 50, 100, 100, 100
WAIT
SPEED 10
MOVE G6A,100, 110, 100, 15, 100, 100
MOVE G6D,100, 110, 100, 15, 100, 100
MOVE G6B,170, 160, 115, 100, 100, 100
MOVE G6C,170, 160, 115, 100, 100, 100
WAIT
MOVE G6A,100, 170, 70, 15, 100, 100
MOVE G6D,100, 170, 70, 15, 100, 100
MOVE G6B,190, 170, 120, 100, 100, 100
MOVE G6C,190, 170, 120, 100, 100, 100
WAIT
MOVE G6A,100, 170, 30, 110, 100, 100
MOVE G6D,100, 170, 30, 110, 100, 100
MOVE G6B,190, 40, 60, 100, 100, 100
MOVE G6C,190, 40, 60, 100, 100, 100
WAIT
GOSUB sit_pose
GOSUB standard_pose
RETURN
'================================================
sit_pose:
SPEED 10
MOVE G6A,100, 151, 23, 140, 101, 100,
MOVE G6D,100, 151, 23, 140, 101, 100,
MOVE G6B,100, 30, 80, 100, 100, 100,
MOVE G6C,100, 30, 80, 100, 100, 100,
WAIT
RETURN
'================================================
'================================================
left_tumbling:
SPEED 8
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
SPEED 3
MOVE G6A,114, 135, 60, 123, 105, 100
MOVE G6D, 88, 110, 91, 116, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
MOVE G6A,114, 135, 60, 123, 105, 100
MOVE G6D,89, 135, 60, 123, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
MOVE G6A,120, 135, 60, 123, 110, 100
MOVE G6D, 89, 135, 60, 123, 130, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,120, 135, 60, 123, 120, 100
MOVE G6D,89, 135, 60, 123, 158, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
SPEED 8
MOVE G6A,120, 131, 60, 123, 185, 100
MOVE G6D,120, 131, 60, 123, 183, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
DELAY 200
SPEED 5
MOVE G6A,120, 131, 60, 123, 185, 100
MOVE G6D,120, 131, 60, 123, 183, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 6
MOVE G6A, 86, 112, 73, 127, 101, 100
MOVE G6D,105, 131, 60, 123, 183, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 3
MOVE G6A, 86, 118, 73, 127, 101, 100
MOVE G6D,112, 131, 62, 123, 133, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 3
MOVE G6A, 88, 115, 86, 115, 90, 100
MOVE G6D,107, 135, 62, 123, 113, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
forward_punch:
SPEED 15
MOVE G6A, 92, 100, 110, 100, 107, 100
MOVE G6D, 92, 100, 110, 100, 107, 100
MOVE G6B,190, 150, 10, 100, 100, 100
MOVE G6C,190, 150, 10, 100, 100, 100
WAIT
SPEED 15
HIGHSPEED SETON
MOVE G6B,190, 10, 75, 100, 100, 100
MOVE G6C,190, 140, 10, 100, 100, 100
WAIT
DELAY 500
MOVE G6B,190, 140, 10, 100, 100, 100
MOVE G6C,190, 10, 75, 100, 100, 100
WAIT
DELAY 500
MOVE G6A, 92, 100, 113, 100, 107, 100
MOVE G6D, 92, 100, 113, 100, 107, 100
MOVE G6B,190, 150, 10, 100, 100, 100
MOVE G6C,190, 150, 10, 100, 100, 100
WAIT
HIGHSPEED SETOFF
MOVE G6A,100, 115, 90, 110, 100, 100
MOVE G6D,100, 115, 90, 110, 100, 100
MOVE G6B,100, 80, 60, 100, 100, 100
MOVE G6C,100, 80, 60, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
righ_tumbling:
SPEED 8
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
SPEED 3
MOVE G6A, 83, 110, 91, 116, 100, 100
MOVE G6D,114, 135, 60, 123, 105, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
DELAY 100
MOVE G6A,89, 135, 60, 123, 100, 100
MOVE G6D,114, 135, 60, 123, 105, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
MOVE G6A, 89, 135, 60, 123, 130, 100
MOVE G6D,120, 135, 60, 123, 110, 100
MOVE G6B,100, 120, 140, 100, 100, 100
MOVE G6C,100, 120, 140, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,89, 135, 60, 123, 158, 100
MOVE G6D,120, 135, 60, 123, 120, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
SPEED 8
MOVE G6A,120, 131, 60, 123, 183, 100
MOVE G6D,120, 131, 60, 123, 185, 100
MOVE G6B,100, 165, 185, 100, 100, 100
MOVE G6C,100, 165, 185, 100, 100, 100
WAIT
DELAY 200
SPEED 5
MOVE G6A,120, 131, 60, 123, 183, 100
MOVE G6D,120, 131, 60, 123, 185, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 6
MOVE G6A,105, 131, 60, 123, 183, 100
MOVE G6D, 86, 112, 73, 127, 101, 100
MOVE G6B,100, 120, 145, 100, 100, 100
MOVE G6C,100, 120, 145, 100, 100, 100
WAIT
SPEED 3
MOVE G6A,112, 131, 62, 123, 133, 100
MOVE G6D, 86, 118, 73, 127, 101, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 3
MOVE G6A,107, 135, 62, 123, 113, 100
MOVE G6D, 88, 115, 89, 115, 90, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
SPEED 4
MOVE G6A,100, 135, 60, 123, 100, 100
MOVE G6D,100, 135, 60, 123, 100, 100
MOVE G6B,100, 80, 80, 100, 100, 100
MOVE G6C,100, 80, 80, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
back_tumbling:
SPEED 8
GOSUB standard_pose
MOVE G6A, 100, 170, 71, 23, 100, 100
MOVE G6D, 100, 170, 71, 23, 100, 100
MOVE G6B, 80, 50, 70, 100, 100, 100
MOVE G6C, 80, 50, 70, 100, 100, 100
WAIT
MOVE G6A, 100, 133, 71, 23, 100, 100
MOVE G6D, 100, 133, 71, 23, 100, 100
MOVE G6B, 10, 96, 15, 100, 100, 100
MOVE G6C, 10, 96, 14, 100, 100, 100
WAIT
MOVE G6A, 100, 133, 49, 23, 100, 100
MOVE G6D, 100, 133, 49, 23, 100, 100
MOVE G6B, 45, 116, 15, 100, 100, 100
MOVE G6C, 45, 116, 14, 100, 100, 100
WAIT
MOVE G6A, 100, 133, 49, 23, 100, 100
MOVE G6D, 100, 70, 180, 160, 100, 100
MOVE G6B, 45, 50, 70, 100, 100, 100
MOVE G6C, 45, 50, 70, 100, 100, 100
WAIT
SPEED 15
MOVE G6A, 100, 133, 180, 160, 100, 100
MOVE G6D, 100, 133, 180, 160, 100, 100
MOVE G6B, 10, 50, 70, 100, 100, 100
MOVE G6C, 10, 50, 70, 100, 100, 100
WAIT
HIGHSPEED SETON
MOVE G6A, 100, 95, 180, 160, 100, 100
MOVE G6D, 100, 95, 180, 160, 100, 100
MOVE G6B, 160, 50, 70, 100, 100, 100
MOVE G6C, 160, 50, 70, 100, 100, 100
WAIT
HIGHSPEED SETOFF
MOVE G6A, 100, 130, 120, 80, 110, 100
MOVE G6D, 100, 130, 120, 80, 110, 100
MOVE G6B, 130, 160, 10, 100, 100, 100
MOVE G6C, 130, 160, 10, 100, 100, 100
WAIT
GOSUB back_standing
RETURN
'================================================
back_standing:
SPEED 10
MOVE G6A,100, 130, 120, 80, 110, 100
MOVE G6D,100, 130, 120, 80, 110, 100
MOVE G6B,150, 160, 10, 100, 100, 100
MOVE G6C,150, 160, 10, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B,185, 40, 60, 100, 100, 100
MOVE G6C,185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B,185, 10, 100, 100, 100, 100
MOVE G6C,185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B,170, 10, 100, 100, 100, 100
MOVE G6C,170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B,150, 60, 90, 100, 100, 100
MOVE G6C,150, 60, 90, 100, 100, 100
WAIT
MOVE G6A,100, 155, 25, 140, 100, 100
MOVE G6D,100, 155, 25, 140, 100, 100
MOVE G6B,130, 50, 85, 100, 100, 100
MOVE G6C,130, 50, 85, 100, 100, 100
WAIT
RETURN
'================================================
'================================================
left_attack:
SPEED 7
GOSUB left_attack1
SPEED 12
HIGHSPEED SETON
MOVE G6A, 98, 157, 20, 134, 110, 100
MOVE G6D, 57, 115, 77, 125, 134, 100
MOVE G6B,107, 135, 108, 100, 100, 100
MOVE G6C,112, 92, 99, 100, 100, 100
WAIT
DELAY 1000
HIGHSPEED SETOFF
SPEED 15
GOSUB sit_pose
RETURN
'================================================
left_attack1:
MOVE G6A, 85, 71, 152, 91, 107, 60
MOVE G6D, 108, 76, 145, 93, 100, 60
MOVE G6B, 100, 40, 80, , , ,
MOVE G6C, 100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
right_attack:
SPEED 7
GOSUB right_attack1
SPEED 12
HIGHSPEED SETON
MOVE G6D, 98, 157, 20, 134, 110, 100
MOVE G6A, 57, 115, 77, 125, 134, 100
MOVE G6B,112, 92, 99, 100, 100, 100
MOVE G6C,107, 135, 108, 100, 100, 100
WAIT
DELAY 1000
HIGHSPEED SETOFF
SPEED 15
GOSUB sit_pose
RETURN
'================================================
right_attack1:
MOVE G6D, 85, 71, 152, 91, 107, 60
MOVE G6A, 108, 76, 145, 93, 100, 60
MOVE G6C, 100, 40, 80, , , ,
MOVE G6B, 100, 40, 80, , , ,
WAIT
RETURN
'================================================
'================================================
left_forward:
SPEED 7
MOVE G6A, 85, 71, 152, 91, 107, 60
MOVE G6D, 108, 76, 145, 93, 100, 60
MOVE G6B, 130, 40, 80, , , ,
MOVE G6C, 70, 40, 80, , , ,
WAIT
SPEED 12
HIGHSPEED SETON
MOVE G6A, 107, 164, 21, 125, 93
MOVE G6D, 66, 163, 85, 65, 130
MOVE G6B, 189, 40, 77
MOVE G6C, 50, 72, 86
WAIT
DELAY 1000
HIGHSPEED SETOFF
GOSUB sit_pose
RETURN
'================================================
'================================================
right_forward:
SPEED 7
MOVE G6D, 85, 71, 152, 91, 107, 60
MOVE G6A, 108, 76, 145, 93, 100, 60
MOVE G6C, 130, 40, 80, , , ,
MOVE G6B, 70, 40, 80, , , ,
WAIT
SPEED 10
HIGHSPEED SETON
MOVE G6D, 107, 164, 21, 125, 93
MOVE G6A, 66, 163, 85, 65, 130
MOVE G6C, 189, 40, 77
MOVE G6B, 50, 72, 86
WAIT
DELAY 1000
HIGHSPEED SETOFF
GOSUB sit_pose
RETURN
'================================================
'================================================
forward_standup:
SPEED 10
MOVE G6A,100, 130, 120, 80, 110, 100
MOVE G6D,100, 130, 120, 80, 110, 100
MOVE G6B,150, 160, 10, 100, 100, 100
MOVE G6C,150, 160, 10, 100, 100, 100
WAIT
MOVE G6A, 80, 155, 85, 150, 150, 100
MOVE G6D, 80, 155, 85, 150, 150, 100
MOVE G6B,185, 40, 60, 100, 100, 100
MOVE G6C,185, 40, 60, 100, 100, 100
WAIT
MOVE G6A, 75, 165, 55, 165, 155, 100
MOVE G6D, 75, 165, 55, 165, 155, 100
MOVE G6B,185, 10, 100, 100, 100, 100
MOVE G6C,185, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 30, 165, 155, 100
MOVE G6D, 60, 165, 30, 165, 155, 100
MOVE G6B,170, 10, 100, 100, 100, 100
MOVE G6C,170, 10, 100, 100, 100, 100
WAIT
MOVE G6A, 60, 165, 25, 160, 145, 100
MOVE G6D, 60, 165, 25, 160, 145, 100
MOVE G6B,150, 60, 90, 100, 100, 100
MOVE G6C,150, 60, 90, 100, 100, 100
WAIT
MOVE G6A,100, 155, 25, 140, 100, 100
MOVE G6D,100, 155, 25, 140, 100, 100
MOVE G6B,130, 50, 85, 100, 100, 100
MOVE G6C,130, 50, 85, 100, 100, 100
WAIT
GOSUB standard_pose
RETURN
'================================================
'================================================
backward_standup:
SPEED 10
MOVE G6A,100, 10, 100, 115, 100, 100
MOVE G6D,100, 10, 100, 115, 100, 100
MOVE G6B,100, 130, 10, 100, 100, 100
MOVE G6C,100, 130, 10, 100, 100, 100
WAIT
MOVE G6A,100, 10, 83, 140, 100, 100
MOVE G6D,100, 10, 83, 140, 100, 100
MOVE G6B, 20, 130, 10, 100, 100, 100
MOVE G6C, 20, 130, 10, 100, 100, 100
WAIT
MOVE G6A,100, 126, 60, 50, 100, 100
MOVE G6D,100, 126, 60, 50, 100, 100
MOVE G6B, 20, 30, 90, 100, 100, 100
MOVE G6C, 20, 30, 90, 100, 100, 100
WAIT
MOVE G6A,100, 165, 70, 15, 100, 100
MOVE G6D,100, 165, 70, 15, 100, 100
MOVE G6B, 30, 20, 95, 100, 100, 100
MOVE G6C, 30, 20, 95, 100, 100, 100
WAIT
MOVE G6A,100, 165, 40, 100, 100, 100
MOVE G6D,100, 165, 40, 100, 100, 100
MOVE G6B,110, 70, 50, 100, 100, 100
MOVE G6C,110, 70, 50, 100, 100, 100
WAIT
GOSUB standard_pose
RETURN
'=================================================