Force-Feedback Control
Lab Meeting Presentation
--
SalomonTrujillo - 20 Oct 2006
Firmware Snapshot
This is a snapshot of the current source code.
--
SalomonTrujillo - 22 Sep 2006
Controller Architecture
The Stickybot Force Controller broken into a single high-level controller and multiple lower-level controllers which are each associated with a state (i.e. stroke, flight...). Each leg is always in one of the states, and is thus assigned to the corresponding low-level controller. The high-level controller handles the leg's transistion from one state to another. Thus, the high-level controller is responsible for overall behavior.
--
SalomonTrujillo - 14 Jul 2006
Central Pattern Generator (Phase Adjustment)
To handle inter-leg cooridination in flight, as well as triggering attachment and detachment, we are going to implement a central pattern generator. Note, this is not going to handle inter-leg cooridination in stance. That task is handled by the grasp-based force controller. The detail on the CPG are here:
CentralPatternGenerator?
--
SalomonTrujillo - 27 Jul 2006
Software Architecture
Servo.c
Private PWM()(UART Receive?)
SetServo(#, val)
SetServos(vals)
Initialize()
- Grab home and limit values
- Start at home values
ServoEnable()
- Turn on the 20 ms interrupt to call PWM()
ServoDisable()
- Turns off the 20 ms interrupt to zero all servo lines
FileReader.c
getHome(array)
getUpperLimit(array)
getLowerLimit(array)
--
SalomonTrujillo - 18 Jul 2006
Gait File Format
The first version of the controller will only handle one gait. The comm protocol is used to download this single gait into a prescribed position in program memory. Thie
GaitFileFormat? page has the details on the format of this file.
--
SalomonTrujillo - 14 Jul 2006
PC to PIC Communication protocol
The first version of the protocol will only upload a file of data to the PIC in 128 byte blocks. These will be saved into the program memory. If the file is not completely divisible by 128, pad the memory with 0xFF's (since all 1's represent a null write to flash memory.)
CommProtocolCommands?
Port settings:
Speed: 9600 bps
Parity: No
Bytes: 8
Stop bits: 1
--
SalomonTrujillo - 10 Jul 2006
Controller Firmware Modules
These are the headers for the completed (or so we think) C modules for the Stickybot controller firmware. The headers themselves are pretty well commented, so no explanation is included here.
--
BarrettHeyneman - 10 Jul 2006
Hall Effect Sensors
We are experiementing with using a hall effect sensor as a linear position sensor:
HallEffectSensorDetails?
--
SalomonTrujillo - 07 Aug 2006