CURRENT ISSUE
Contests
Feature Article
|
|
Issue #200 March 2007
Inertial Rolling Robot
by Jeff Bingham & Lee Magnusson
Start | Electronics | Drive Motor | Servo Motor | Pressure Sensor | Software | DC Drive Motor Control | Servo Motor Control | Mechanical Components | Manufacturing | Assembly | Findings | Sources & PDF
SOFTWARE
The software provides the basic drivers necessary to read sensor information
and to control the two motors. The drivers are set up to run in interrupt
loops or operate continuously. (Continuous conversions are set up for
the A/D sensor readings.) Communication with these low-level drivers is
available via function calls. Application functionality is available by
programming the desired robot behavior in the main function and calling
low-level driver function calls.
For our robot, the main function contains a simple sinusoidal trajectory of the drive motor and the steering servo motor, followed by a straight trajectory. This trajectory demonstrates some basic capabilities of the robot. Details about the low-level drivers and the complete source listing are posted on the Circuit Cellar FTP site.
We experimented with the pressure sensor, but it was not used in the application due to the difficulty of debugging. Sample code is provided, which should theoretically enable the robot to switch from a straight trajectory to a sinusoidal trajectory when an obstacle is hit and thus change direction.
|