Skip to content

Commit 7b53a85

Browse files
committed
Missed in previous commit
1 parent c045ffa commit 7b53a85

File tree

4 files changed

+15
-93
lines changed

4 files changed

+15
-93
lines changed

hardware/Laser-Scanner/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### Directory Contents
44

5-
This directory contains number of simple sketches for testing the laser scanner.
5+
This directory contains a number of simple sketches for testing the laser scanner.
66

77
#### laser_moto_test_1
88

hardware/Motors/OminTestSoftware_3/OminTestSoftware_3.ino

-64
This file was deleted.

hardware/Motors/OmniTestSoftware_1/OmniTestSoftware_1.ino

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
// Attempt to make each encoder yield the same number of ticks over time and
33
// hopefully move in a straight line.
44
//
5-
// We reset the encoder counts every 'delayTime' milliseconds, and reset the
6-
// counters, but we keep a running total, i.e., we adjust speed based on the
7-
// counts for the last period
5+
// We reset the encoder counts every 'delayTime' milliseconds, but we keep a running total,
6+
// i.e., we adjust speed based on the counts for the last period
87
//
9-
// ** This does not seem to work and the total accounts diverge.
8+
// ** This does not seem to work and the total counts diverge.
109
//
1110

1211
int D1 = 4// direction

hardware/Motors/README.md

+11-24
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,23 @@
1-
## laser scanner
1+
## Motors
22

33
### Directory Contents
44

5-
This directory contains number of simple sketches for testing the laser scanner.
5+
This directory contains a number of simple sketches for testing the main motors of the robot.
66

7-
#### laser_moto_test_1
7+
#### OmniTestSoftware_1
88

9-
This sketch checks that the DC motor & encoder are working. The function `encoderIS()` handles the encoder interrupts. There should be 3360 per revolution of the laser scanner. The sketch also contains code to drive the DC motor at different speeds.
9+
This sketch drives the two motors connected to one Uno and effectively moves the Robot diagonally. *Note that we keep the speed of motor `M1` fixed and vary the speed of motor `M2`*.
1010

11-
#### laser_moto_test_2
11+
This sketch attempts to make each encoder yield the same number of ticks over time and hopefully move in a straight line. We reset the encoder counts every `delayTime` milliseconds, but we keep a running total, i.e., we adjust speed based on the counts for the last period
1212

13-
This is essentially the same as `laser_moto_test_1` except that it stops after 15 revolution of the laser scanner.
13+
**This does not work and the total counts diverge**.
1414

15-
#### laser-single-distance
15+
#### OmniTestSoftware_2
1616

17-
This example is supplied by the manufacturer.
17+
This sketch is similar to `OmniTestSoftware_1`, but we adjust the motor speeds based on the total number of ticks and not just the number in each period.
1818

19-
#### laser-continuous-distance
19+
**This works much better than `OmniTestSoftware_1`**.
2020

21-
This example is supplied by the manufacturer.
21+
#### OmniTestSoftware_2
2222

23-
#### laser-continuous-distance-interrupt
24-
25-
This is a modification of `laser-continuous-distance` that uses interrupts to determine when a new reading has arrived.
26-
27-
#### combined_test_1
28-
29-
This is a combined test of the laser and DC motor, i.e., the head rotates and laser fires continuously. **This sketch needs more work.**
30-
31-
### Issues
32-
33-
1. It is essential that we handle every interrupt generated by the encoder. **How can we assure that this happens even when other code is executing? For example, does the `Serial` library interfere with interrupts, e.g., by disabling them at any stage?**
34-
1. Using `laser_moto_test_2` it is clear that the head does not finish in same position as it started. **Why?**
35-
1. The `combined_test_1` sketch does not perform very well; it behaviour is some what erratic. This probably due time issues and lost interrupts.
36-
1. **If the inaccuracies in the rotation the the scanner and the laser range finding are significant what can we do in software to improve accuracy? **
23+
Again, this sketch is similar to `OmniTestSoftware_1`, but its main use is to check that we are using the correct encoders, i.e., if we switch one motor on, then that motor's encoder should have a non-zero count. *Note that the other motor should have a zero count and if it does not, then there is something wrong with the hardware*.

0 commit comments

Comments
 (0)