TWiki > Rise Web>StickyBotPrivate? >StickyBotForceController (21 Apr 2007, MarkCutkosky)

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

Module Status Current Owner
Display(LED's) Done BarrettHeyneman
Key Press Done BarrettHeyneman
I2C? Done BarrettHeyneman
Serial Need to add servo commands
(all other commands are tested)
SalomonTrujillo
Flash Done BarrettHeyneman
Servo In Progress SalomonTrujillo
File Reader In Progress SalomonTrujillo

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

 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback