Thursday, May 30, 2013

Grading Session

5/30/13 -

Team successfully made it through the grading session and is prepared for the project demo tonight.

Wednesday, May 29, 2013

Pre- Grading Session Update

As of Wednesday, 5/29, all systems are fully functional and should be able to accomplish the tasks outlined for the grading session.

As an update after the last post, the connection LED and ROAMER select switch were implemented, and our POD and ROAMER successfully connect to and run with the PODs and ROAMERs of other teams. The castors (made from PVC) on the bottom of the ROAMER were decreased in height, allowing the ROAMER more flexibility to take bumps on the carpet, and friction problems were addressed in the drive trains; this fix appears to address the issue of difficulty driving on carpet. Gripper height was increased, which fixed the problem of losing the box when dragging it over the door threshold. SPECIAL mount was attached to the top of the ROAMER. The bottom of each castor was sanded. A nonlinear mapping was applied to the incoming voltage received by the ROAMER before outputting the PWM frequency in order to make for increased sensitivity/ turning ability at low voltages. Vinyl was applied. The POD and ROAMER can now drive on carpet, drag a box out of the larger box, and control/ be controlled by other teams' ROAMERs and PODs. POD and ROAMER are ready for grading.

Update 5/27

5/27/12 Update:

The POD and ROAMER have achieved basic functionality, with some adjustments still to be made.

Circuits have been in their final state since 5/23, with a final decision to implement an H-bridge in the gripper circuit to allow additional current to flow for greater grip strength.

Software is largely finished with some minor tweaks to be made. There are still occasional problems upon connection with the ROAMER: the POD does not always register a connection immediately, and the connection occasionally breaks. These issues were largely mitigated, however, in the last couple of days, and additional fixes targeting unwanted incoming signals will be implemented as well. A major bug involving the POD software getting stuck in a while loop during the AD conversion sequence was fixed, eliminating most of the break-mid-connection problems. Connection LED and ROAMER select input will be implemented in the next day or two.

The POD mechanical structure is in its final form. The ROAMER has been built, and minor adjustments outlined after initial testing remain: the ROAMER does not drive well on the carpet, has trouble going up hills, has trouble with fine gripper movements, and fails to drag the box over the door threshold because the gripper height is limited. Fixes will be designed and implemented in the next two days.

Wednesday, May 22, 2013

Pre-checkoff Update

As of Wednesday, May 22, the POD successfully senses analog inputs and forwards the data to the ROAMER. An error in which the POD does not reconnect after a disconnect has been fixed; however, an error remains in which other teams' broadcast signals seem to break the connection.

The SPECIAL communication with the SPECIAL PIC and forwarding to the ROAMER brain was also successfully implemented. Transfer of all circuits to protoboards is nearly complete. Processing and output of commands by the ROAMER is next on the schedule and will be completed for the checkoff tomorrow.

Tuesday Checkoff Success

The team was successfully checked off late on Tuesday. Communication nodes were all successfully implemented with the exception of the SPECIAL PIC, which was tested the previous Thursday. In the state at which the project was in for checkoff, the following items were implemented and functioning:

- The POD brain could successfully sense and send digital inputs and send the state of these digital inputs via SPI to the POD radio PIC. This "command" was implemented using the framework of the communication protocol. The POD brain could also receive the "status" from the E128 (via SPI communication with the POD radio PIC) and successfully execute broadcast/ connect and disconnect actions. In situations where the ROAMER fails to reply, the POD disconnects and puts out its "connect status" light.

- The POD radio PIC could successfully receive the command from the POD brain and simultaneously send the status of the E128 to the POD brain. Upon receiving a command from the brain, the radio PIC would immediately build the data packet and forward to the POD XBee, which would transmit the command to the ROAMER XBee.

- The ROAMER XBee would successfully receive the command from the POD and forward the command to the E128/ brain. At the same time, it would receive the E128 status from the brain and send this information via asynchronous communication to the XBee radio, which would transmit it to the POD.

- At the time of checkoff, the SPECIAL communication was not implemented but was shown to work during the previous checkoff, in which the SPECIAL PIC communicated the status of the SPECIAL to the E128.

Sunday, May 19, 2013

Continuing Soldering

Continued wiring up circuits
Still need to know which pins the E128 data request line to the SPECIAL PIC is and which pins are the SS lines from the PIC in order to solder connections
Need to solder components for gripper
    - One more switch for digital input
    - Need to know what we're using for analog gripper input

Wednesday, May 15, 2013

SPECIAL PIC Programming Complete

The SPECIAL PIC is now programmed to be fully functional in relaying information between the SPECIAL and the E128. There is a currently uncommented "testing block" that is functioning and is designed to work with the ins/ outs and LEDs currently set up on the breadboard. A block of code that is currently commented enables the SPI communication with the E128. Code was nearly identical to the SPI code already in place and will hopefully require minimal debugging. Debugging scheduled for tomorrow.

POD CAD Components

Created all CAD Components for POD, now need to put them all together and organize structure.

Tuesday, May 14, 2013

ROAMER Drive Test

Attempted driving over carpet (6.7V applied to TLE-5206 H-brdige)
Able to drive over hard ground
Unable to climb onto carpet
Very slow/sometimes stops moving while on carpet

Solution: Chain two batteries to apply 14.4V supply voltage

Monday, May 13, 2013

Making Circuits

Wired up perfboard with ROAMER circuit board
Put regulator, place for E128 ribbon cables, ROAMER select switch Molex
Wired up servo for turning SPECIAL

SPECIAL and XBee comm working

Monday, May 13 -

First two parts of the check-off completed... XBee radios and their respective PIC/ E128 are sending input information to each other and displaying states on output LED lines. The SPECIAL PIC constantly reads battery charge and charging state along with LED status info from the SPECIAL. When a button is pressed (analogous to E128 lowering line to request Special info) "status LEDs" are lit to display current SPECIAL status and updated battery info can be read in the debugger registers. Moving on to Brain state machines tomorrow.

Saturday, May 11, 2013

Code for XBee Radio PICs

Saturday, May 11

Programming for the POD XBee PIC was completed to a level that demonstrates radio functionality and the ability to communicate with another radio. Additional cases (e.g., an incoming command from the Brain is received before transmission is complete) were not yet covered but are noted in the code and will be developed once all conditional cases are worked out as they relate to the Brains. With no receiving radio, the PIC successfully sends the command on its input lines using the Communications Protocol as its structure, then receives and processes a no ACK. Currently, it does this indefinitely.

Programming for the E128 XBee communication is nearly complete and should be functional shortly.

A state machine was developed for the SPECIAL PIC to be programmed in Assembly, and detailed pseudocode was written out that can be translated relatively easily into software. Development and debugging of this code is scheduled for tomorrow.

Wednesday, May 8, 2013

CADing the gripper and SPECIAL

Worked on CAD of top half of ROAMER

Have dropdown level from top to hold door lock motor
Currently, gripper is flush against top plate
  If we find that the pin that attaches the gripper to the motor likes to turn from vertical, we can drop the gripper down 1/4" and add a piece of loose Duron between the top plate and the gripper (with a hole in the Duron to stay on the pin/screw)

State Machines

Wednesday, May 8

State machines were developed for the PICs communicating with the XBee radios on both the POD and ROAMER sides. It was decided to aim for early check-off and demonstrate communication functionality between the two radios using two input lines and two output LEDs each - then move forward with programming the Brains.

Tuesday, May 7, 2013

Design Review

Tuesday, May 7

Went over design proposal and slides with Ed and Jeff
General mechanical design and communications layout approved
Communications layout:
- POD side: Two PICs (One serving as the Brain in order to increase output pins, one communicating with the XBee to relay data between Brain and XBee); Two PICs communicate through SPI
- ROAMER: Two PICs (One relaying data between XBee and E128 via EUSART, one relaying data between SPECIAL and E128 via SPI) and one E128. E128 communicates with XBee PIC via EUSART and with SPECIAL PIC via SPI

***Update 5/11: It was decided that the ROAMER XBee will be accessed directly from the E128 using EUSART, as the relay PIC can be eliminated with no issues, and the SPECIAL PIC can use Slave Select to communicate via SPI with both the E128 and the SPECIAL.

Monday, May 6, 2013

Discussion of Drive Train

Discussion of Drive Train Design Decisions:
Decided on wheels to be purchased - 4 in. diameter wheels from ServoCity
Clearance under drive train estimated at 1.25 in. - should allow for surface compression estimated at 1 in.
Decided to re-use 218b project components: brackets, wheel mounts, axles
Discussed advantages of two sliders versus one slider (i.e., three points of contact) - three sliders means no chance of full weight of ROAMER being placed only on sliding supports
Bottom-mounted drive trains will allow maximum clearance and additional room for electronics components resting on base

Prototyping Driving Input

Hooked up LM324 to buffer motor
LM324 rails at ~3.8V
Using LM324 to buffer line to a set voltage (~1.9V)
Use as one side of motor with simple voltage divider as other side
Run voltage divider side of motor to op-amp to amplify signal
Able to use output as 0-3.8V analog signal to send to control drive motors

Team Meeting

Decided on first iteration of design

Two wheel drive (4" wheels) with sliding casters
Extended gripper controlled by servo to close
Rotating camera on spinning table controlled by servo

Rolling wheels on DC motors to generate voltage to control the left and right drive wheels
Button for connection
Servo to illustrate battery life remaining
Rotating potentiometer to control camera rotation
Grip sensor from fall term project to control closing gripper

Initial Design

Friday, May 3, 2013

Team Meeting

Discussed high level functionality and basic inputs to the POD
Decided that we wanted to have force, position, acceleration sensing
Narrowed drive down to treads and 2 wheels with sliders