theAgingApprentice / HexaFloorRide

Arduino based six legged robot project
MIT License
0 stars 0 forks source link

Make code changes to accommodate different chassis & leg dimensions #83

Open nerdoug opened 1 year ago

nerdoug commented 1 year ago

The existing code is based on the previous version of the chassis and legs, which had different dimensions. As well, changes to reduce the radial load on the hip servos will impact the software. Need to identify the areas that are impacted, and develop new code. Also need to standardize the symbols representing chassis dimensions, and where they're located in the source code.

nerdoug commented 1 year ago

Areas impacted:

nerdoug commented 1 year ago

Survey of locations in source code that have references to physical robot dimensions:

configDetails.cpp

flows.h

flows.cpp

mqttBroker.cpp

Dumb question: are servos mounted differently, so rotation is in different direction for some?

As discussed in issue 17:

Issue 118, gets the dimension parameters defined and initialized in the right place. This issue, 83, addresses all the changes needed in the areas outlined above.

I'm about to add /physicalDesign/otherDesignInfo/dimensions-230209.ods/pdf which is a spreadsheet with the key physical measurements defined and recorded.

nerdoug commented 1 year ago

This has been implemented, but not tested. Basically re-used existing code with small changes:

nerdoug commented 1 year ago

need to do testing to see if the algorithms still work before closing

nerdoug commented 1 year ago

noted that our existing movement scripts are no longer totally valid, although they made still work reasonably well. They specify most toe positions as absolute numbers, in either local or global coordinates, which may no longer apply. For example, many scripts start in the neutral stance, by specifying the toe position coordinates when the servos are all centered. However, because the dimensions of the robot have changed, going to the coordinates in the script will no longer get the neutral stance, and the servos will be slightly off center (knee and foot, anyway).

I don't think there's a way to do a program controlled conversion of the movement scripts, because it's hard to deduce what the original intention was.

Hmmm, one thing we need to do is update the movement script compiler. For example, it has a command something like "go to the home position" which now means a different set of coordinates. I'll try to put an issue in the right repository for that.

nerdoug commented 1 year ago

compiler issue for adjustments due to new dimensions is #52 in the compiler repository