Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 33 additions & 31 deletions docs/tutorials/basic-movement.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,30 @@ from sbot import *
r = Robot()

while True:
r.motor_boards[0].m0.power = 0.5
r.motor_boards[0].m1.power = 0.5
r.motor_board.motors[0].power = 0.5
r.motor_board.motors[1].power = 0.5
r.sleep(3)

r.motor_boards[0].m0.power = 0
r.motor_boards[0].m1.power = 0
r.motor_board.motors[0].power = 0
r.motor_board.motors[1].power = 0
r.sleep(1.4)

r.motor_boards[0].m0.power = -0.5
r.motor_boards[0].m1.power = -0.5
r.motor_board.motors[0].power = -0.5
r.motor_board.motors[1].power = -0.5
r.sleep(1)

r.motor_boards[0].m0.power = 0
r.motor_boards[0].m1.power = 0
r.motor_board.motors[0].power = 0
r.motor_board.motors[1].power = 0

r.sleep(4)
```

You're familiar with the first few lines; in fact, the only lines you may not be familiar with are the `r.motor_boards...` lines. For a comprehensive reference to the `motor` object, see [`motor` API](../api/motor-board.md) page.
You're familiar with the first few lines; in fact, the only lines you may not be familiar with are the `r.motor_board...` lines. For a comprehensive reference to the `motor` object, see [`motor` API](../api/motor-board.md) page.

But, to summarise:

`r.motor_boards.m0.power = 0.5` sets the target power of the motor connected to output 0 on the first [motor board](../kit/motor-board.md) to half speed forwards (i.e. a duty-cycle of 0.5 forwards). As you would expect, then, `-0.5` will put the this motor into reverse at half power.
`r.motor_boards.m0.power = 0` will brake the motor and stop it.
`r.motor_board.motors[0].power = 0.5` sets the target power of the motor connected to output 0 on the first [motor board](../kit/motor-board.md) to half speed forwards (i.e. a duty-cycle of 50% forwards). As you would expect, then, `-0.5` will put this motor into reverse at half power.
`r.motor_board.motors[0].power = 0` will brake the motor and stop it.

So, if you put the above code on your robot, you should be able to see a motor spin forwards, stop, spin backwards, stop, and then repeat...

Expand All @@ -55,56 +57,56 @@ from sbot import *
r = Robot()

while True:
r.motor_boards[0].m0.power = 0.5
r.motor_boards[0].m1.power = 0.5
r.motor_board.motors[0].power = 0.5
r.motor_board.motors[1].power = 0.5
r.sleep(3)

r.motor_boards[0].m0.power = 0
r.motor_boards[0].m1.power = 0
r.motor_board.motors[0].power = 0
r.motor_board.motors[1].power = 0
r.sleep(1.4)

r.motor_boards[0].m0.power = -0.5
r.motor_boards[0].m1.power = -0.5
r.motor_board.motors[0].power = -0.5
r.motor_board.motors[1].power = -0.5
r.sleep(1)

r.motor_boards[0].m0.power = 0
r.motor_boards[0].m1.power = 0
r.motor_board.motors[0].power = 0
r.motor_board.motors[1].power = 0
r.sleep(4)

# ^^ code from before ^^

# power up to 0.7 (from 0.1)
for pwr in range(10, 80, 10):
r.motor_boards[0].m0.power = pwr / 100.0
r.motor_boards[0].m1.power = pwr / 100.0
r.motor_board.motors[0].power = pwr / 100
r.motor_board.motors[1].power = pwr / 100
r.sleep(0.1)

# power down from 0.7 (to 0.1)
for pwr in range(70, 0, -10):
r.motor_boards[0].m0.power = pwr / 100.0
r.motor_boards[0].m1.power = pwr / 100.0
r.motor_board.motors[0].power = pwr / 100
r.motor_board.motors[1].power = pwr / 100
r.sleep(0.1)

# set power to 0 for a second
r.motor_boards[0].m0.power = 0
r.motor_boards[0].m1.power = 0
r.motor_board.motors[0].power = 0
r.motor_board.motors[1].power = 0
r.sleep(1)

# power up to -0.7 (from -0.1)
for pwr in range(-10, -80, -10):
r.motor_boards[0].m0.power = pwr / 100.0
r.motor_boards[0].m1.power = pwr / 100.0
r.motor_board.motors[0].power = pwr / 100
r.motor_board.motors[1].power = pwr / 100
r.sleep(0.1)

# power down to -0.1 (from -0.7)
for pwr in range(-70, 0, 10):
r.motor_boards[0].m0.power = pwr / 100.0
r.motor_boards[0].m1.power = pwr / 100.0
r.motor_board.motors[0].power = pwr / 100
r.motor_board.motors[1].power = pwr / 100
r.sleep(0.1)

# set power to 0 for a second
r.motor_boards[0].m0.power = 0
r.motor_boards[0].m1.power = 0
r.motor_board.motors[0].power = 0
r.motor_board.motors[1].power = 0
r.sleep(1)
```

Expand Down