Skip to content

System Capabilities

Lucas edited this page Aug 14, 2020 · 12 revisions

sciencebot Capabilities

XY Goal Seeking

Capable of consistently reaching within a 20 cm radius of a target XY location. Able to chain multiple waypoints in succession. Can be further tuned to a 15 cm radius for specific distances, but other target distances will suffer. Example: Can use a specific setup to move back and forth between targets that are 50cm away from each other more accurately, but an ask to move to a target that is only 25 cm away will require a different set of parameters. This is due to an imperfect translation from desired velocity - to desired wheel spin rate - to real vehicle movement.

Large barrier to improvement is the granularity of the DWM1001 positioning sensor network. To a lesser degree, delay between motor command send and real motor response is also a barrier.

multi

Heading Goal Seeking

Capable of turning to +- 5 degrees of a target heading. sciencebot uses a skid steer drivetrain for turning, which enables the sciencebot to turn in place for extreme maneuverability in tight spaces. However, the skid steer can be difficult to be precise with, especially considering real frictional forces. See skid steer wiki page for more details. IMU heading can give highly accurate information, but smarter software or better wheels / motors are required for higher precision.

turn

Automatic Correction

Thanks to sciencebot's PID Controllers, sciencebot has a continuously modulated response during goal seeking. This not only improves the efficiency and accuracy, but also means that disturbances from external forces during execution will be corrected for automatically.

truck rope

Vehicle Speeds

Measured to be capable of real movement speeds between .75 m/s to 1.1 m/s. Stronger motors / better wheels needed for improved functionality.

Sensor Capabilities

DWM1001 Positioning Modules

10Hz maximum rate. Accuracy < 10 cm (+-5cm). Tested with one tag, one initiator, and 2 anchors. Anchors and initiator arranged along an isosceles right triangle with identical leg lengths of 2 meters. Optionally can have more tags and / or anchors in the system. Full datasheet , Performance Overview

BNO055 IMU

Many functionalities, including heading, can be sampled at 100Hz. angle measurements accurate to .1 degrees, possibly more accurate. More info

Power

18650 Batteries

3x commodity level 18650 batteries were capable of running the RPi and Arduino for less than 30 minutes. As the battery profile degrades over this 30 minutes, the motor performance begins to suffer. If just powering the motors, about an hour of moderate usage is possible.

USB Battery Pack

Longer operational time was achieved by having the 3x 18650s only power the Arduino micro-controller, and instead having a separate USB battery pack to power the Raspberry Pi. USB power pack has 10k range mAH charge, greatly increasing operational time. This tandem approach allows for over an hour of moderate usage, though the 18650s will again be a limiting factor, as the motor performance will suffer. The USB Battery pack was capable of powering the Pi for several hours of code development / web browsing, although this will be considerably shorter with heavy download / upload or extensive project building. In any case, wall power is recommended during development.

The DWM1001 sensors also require power. They are outfitted with a micro USB port, and can be plugged into wall power. However, USB battery packs can be used to increase mobility. The DWM1001 draws very little power, and thus the battery packs are able to sustain many hours of operation on a single charge. It consumes so little power that the draw is often below the threshold for "smarter" battery packs, and one may notice that the battery stops supplying energy after a short time. The current work-around is to plug another device into the battery pack to increase the total draw. (Alternatively, find "dumb" battery packs that do not have a special threshold shut-off)

Operation time could be further increased with better (and more costly) powering options. One should also be careful of the corresponding weight increase.

Tips for Power

Try to keep the batteries at full charge, and do not run them all the way to zero during operation. This will extend battery lifetime as much as possible.

When the motors do not have sufficient juice, the PWM will emit an often audible "whine" which does not correspond to the vehicle actually moving. This may indicate a need to re-charge. However, this may also be indicative of a communication error between the Pi and Arduino. Check the voltage of the batteries with a multimeter.

The Raspberry Pi consumes considerably more energy. When nearing the lower limit, the Pi will still turn on (external LEDs will be on), but the Pi itself will just repeatedly enter a reboot cycle, never fully turning on. This can be difficult to identify, as the remote VNC will not be yet established, so a physical connection to the HDMI of the Pi may be needed to identify this problem.