twins-controller issueshttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues2021-01-20T15:27:23+11:00https://code.research.uts.edu.au/bigprint/twins-controller/-/issues/17Catch failed trajectory movement2021-01-20T15:27:23+11:00Jayant KhatkarCatch failed trajectory movementSometimes The trajectory fails to start because it is not at the right position.
- [x] catch this error in feedback and stop the print
- [x] print out which trajectory failed (so print can be manually continued from that point)
- [x] if...Sometimes The trajectory fails to start because it is not at the right position.
- [x] catch this error in feedback and stop the print
- [x] print out which trajectory failed (so print can be manually continued from that point)
- [x] if failure is caught, plan and move to start of location and try again to avoid manual stopSingle Arm PrintingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/16Shear Calibration2021-01-15T14:18:56+11:00Jayant KhatkarShear CalibrationThere is some z axis offset which isn't linear across the print bed, meaning it isn't a fault of the calibration process. When drawing a straight line on a single bed, the print tip will rise a fair bit off the bed and then come back dow...There is some z axis offset which isn't linear across the print bed, meaning it isn't a fault of the calibration process. When drawing a straight line on a single bed, the print tip will rise a fair bit off the bed and then come back down within the same line, same bed.
Calibration still needs to be done more accurately but currently the whole thing is too fragile to spend too much time on calibrating.
Potential causes:
- Print bed is not planar
- Forces on arm by the things like the wires to the extruder are not linear throughout space (unlikely, arm takes a lot of force to move)
- Calibration error
- Arm ik/fk does not match reality
Planned solution
1. Create a shear calibration process (grid of maybe 5x5 or higher storing z offset at each point) (estimate 4h)
2. During plan execution:
3. Do FK to find where the print tip want to be
4. Apply z offset for that x-y point
5. do IK and updated print tip point
6. save to JointTrajectory (this step would probably be done during Jtraj2ROS). (estimate 4h)Single Arm PrintingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/13Get reasonable speed for trajectories between contours2021-01-18T15:57:52+11:00Jayant KhatkarGet reasonable speed for trajectories between contourswant to be as fast as possible while being safe.
Linked to [#twins-planner/50](https://code.research.uts.edu.au/bigprint/twins-planner/-/issues/50)
- [x] Create a couple of trajectories to test with
- [x] Run these on real hardware wit...want to be as fast as possible while being safe.
Linked to [#twins-planner/50](https://code.research.uts.edu.au/bigprint/twins-planner/-/issues/50)
- [x] Create a couple of trajectories to test with
- [x] Run these on real hardware with various time multipliers to find good speed
- [x] find good time multiplier to apply for the planner to useSingle Arm PrintingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/12Execute test plan on hardware and test calibration2021-01-06T14:15:31+11:00Jayant KhatkarExecute test plan on hardware and test calibrationShould be fairly simple moving from #11
- [x] document connection process
- [x] document calibration process
- [x] re calibrate and recreate plan
- [x] run with real hardware instead of moveit demo
- [x] test calibration (move to origi...Should be fairly simple moving from #11
- [x] document connection process
- [x] document calibration process
- [x] re calibrate and recreate plan
- [x] run with real hardware instead of moveit demo
- [x] test calibration (move to origin) - this is not yet fixedSingle Arm PrintingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/11Execute Test plan for single arm in MoveIt2021-01-04T12:12:42+11:00Jayant KhatkarExecute Test plan for single arm in MoveIt- [x] read test plan
- [x] convert to ROS message
- [x] test by sending ROS message to MoveIt environment
- [x] Send JointTrajectories one after another as soon as one ends to execute plan- [x] read test plan
- [x] convert to ROS message
- [x] test by sending ROS message to MoveIt environment
- [x] Send JointTrajectories one after another as soon as one ends to execute planSingle Arm PrintingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/10Extrude and move arm at the same time, in time2021-01-18T15:31:33+11:00Jayant KhatkarExtrude and move arm at the same time, in timeDepends on #11
- [x] Send trajectory and monitor feedback
- [x] Control extruder and motion simulataneously
- [x] Extrude at fixed rate while moving
- [x] Fix any timing issues (extrusion must start exactly/before arm movement)
- [x] E...Depends on #11
- [x] Send trajectory and monitor feedback
- [x] Control extruder and motion simulataneously
- [x] Extrude at fixed rate while moving
- [x] Fix any timing issues (extrusion must start exactly/before arm movement)
- [x] Execute multiple contours with extrusion
- [x] Fix any extract/retract issues (these will need to be accounted for by the planner)
- [ ] ~~Change to better extrusion method if not good enough~~
- [x] Check extrusion over multiple layers
- [ ] ~~Multiple layer print on multiple parts of the print bed (with both arms individually)~~Single Arm PrintingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/8Create a test plan to follow2021-01-03T21:30:23+11:00Jayant KhatkarCreate a test plan to followTest plan with 3 or so contours for the arm to follow and test extrusions on.Test plan with 3 or so contours for the arm to follow and test extrusions on.Single Arm PrintingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/5multiple arms following plan created by twins-planner2022-10-19T10:07:18+11:00Jayant Khatkarmultiple arms following plan created by twins-planner- [x] make rostopic names robot specific
- [x] make node name different for each arm so both can be done connections can run simultaneously
- [x] document process for connecting to both arms simultaneously
- [x] make MoveIt package for c...- [x] make rostopic names robot specific
- [x] make node name different for each arm so both can be done connections can run simultaneously
- [x] document process for connecting to both arms simultaneously
- [x] make MoveIt package for controlling both arms simultaneously
- [x] edit MoveIt package to hook into real controllers (with robot specific names)
- [x] Create controller object for controlling both arms and extruders from python
- [x] Create safe trajectories for both arms to execute simultaneously
- [x] main loop controlling both arms simultaneously
- [x] execute some safe trajectories to test main loop control
- [x] read feedback from arms on arm positions etc
- [x] Time arms to see time offset over both arms executing a single trajectory
- [x] Time arms to see time offset over multiple trajectories
- [x] Design workarounds for time offsets if excessive
- [x] Execute long plan for both arms without extrusion
- [x] Connect multiple Extruders simultaneously
- [x] Extrude simultaneouslyTwo arms printingJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/3Control both arms simultaneously2020-12-21T12:12:35+11:00Jayant KhatkarControl both arms simultaneouslyconnect to and control both arms in the same loop, tested with safe trajectoriesconnect to and control both arms in the same loop, tested with safe trajectoriesTwo arms printinghttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/20Extrusion stops working for really long extrusions2021-02-17T16:38:25+11:00Jayant KhatkarExtrusion stops working for really long extrusionsCurrently failing on a 1974mm extrusion.
- [x] test what point the extrusion fails at
- [x] split contours before planning if extrusion greater than that amount
- [x] also remove contours with less than 1mm of extrusion before planning ...Currently failing on a 1974mm extrusion.
- [x] test what point the extrusion fails at
- [x] split contours before planning if extrusion greater than that amount
- [x] also remove contours with less than 1mm of extrusion before planning (up to 20% of contours are less than 1mm of extrusion)
- [ ] change Marlin max Extrusion to 5000 and put it on the arduinosHardware improvementsJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/18Improved calibration process2022-10-19T10:06:59+11:00Jayant KhatkarImproved calibration processThe current calibration process is too slow - need a faster way to calibrate and test calibration:
- [x] Automatically calculate ik for (1cm above) next calibration point
- [x] move to next calibration point automatically
- [x] update t...The current calibration process is too slow - need a faster way to calibrate and test calibration:
- [x] Automatically calculate ik for (1cm above) next calibration point
- [x] move to next calibration point automatically
- [x] update to using Cartesian path for safety
- [x] safety process for going to slightly above the desired point
- [x] safety process to display trajectory before confirming
- [x] slow down trajectory execution
- [ ] ~~if necessary: safety process for going up in between (maybe just going home) if really unsafe~~
- [x] Create calibration testing plan quickly with updated calibration files.Hardware improvementsJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/19First Print2022-10-19T10:07:00+11:00Jayant KhatkarFirst Print- [x] Re-calibrate both arms (create new points to calibrate with)
- [x] test calibrations of arms
- [x] fix calibration if necessary
- [x] Create gcode for an stl which isn't huge but spread over multiple plates and has at least 10 laye...- [x] Re-calibrate both arms (create new points to calibrate with)
- [x] test calibrations of arms
- [x] fix calibration if necessary
- [x] Create gcode for an stl which isn't huge but spread over multiple plates and has at least 10 layers.
- [x] Create plan with dec-mcts
- [x] run plan with execution on both armsJayant KhatkarJayant Khatkarhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/4integrate extrudeX module to start controlling extrusion2020-12-17T15:25:21+11:00Jayant Khatkarintegrate extrudeX module to start controlling extrusionhttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/2Create way to configure the transformation of the arms2020-12-17T15:25:15+11:00Jayant KhatkarCreate way to configure the transformation of the armshttps://code.research.uts.edu.au/bigprint/twins-controller/-/issues/1Create method to calibrate print tip transformation2020-12-17T15:25:13+11:00Jayant KhatkarCreate method to calibrate print tip transformation