Skip to content

Issues and Solutions

markmaker edited this page Apr 7, 2023 · 28 revisions

What is it?

OpenPnP is complex to set up and the more flexibility and optimization is added, the more the complexity grows. Over time it became apparent, that it is easier to program an automatism to propose the proper setup than to document or provide support for it.

Hence, the Issues & Solutions system was born. It has these features:

  1. Tracks your progress in the machine setup process (Milestones).
  2. Detects issues and (most of the time) proposes a solution.
  3. Lists issues from the next step to setup a new machine, suggestions for optimization, to fixing mistakes.
  4. The user is the boss: proposed solutions can be accepted or dismissed.
  5. Accept solutions, explore them and undo them, if you don't like them.
  6. Significantly lowers the required expertise of users. Solutions generate machine-specific, ready-to-use Gcode commands and regular expressions.
  7. Removes former need for manual machine.xml hacking.
  8. Each issue/solution is accompanied by an Info page, often linking to this Wiki.

General Usage

Top Bar

Issues and Solutions

Find Issues & Solutions Scans your whole machine configuration for Issues & Solutions. The found issues will be listed below.

Include Solved?: Includes issues in the list that already have been accepted as a solution before. This only works for issues that can be revisited, most notably calibration solutions.

Include Dismissed?: Includes issues in the list that have been dismissed before. You can then reopen them and revisit the reported issue or proposed solution.

Info Goes to the Milestone Wiki page.

Issues

Each issue points to a problem or task at hand. Select it in the list to see the details in the area below the list.

Some issues just alert you to problems or tasks, i.e. you have to resolve it yourself, by configuring OpenPnP settings or for instance by setting your motion controller up right. Other issues propose a ready-made solution, and you can just accept it to be automatically applied to your machine setup. If you don't like the proposed solution, you can alternatively dismiss it and resolve the issue manually.

Info Links to the Wiki or other sources for guidance regarding this issue. Note, the issue specific button is the one at the bottom.

Accept Accepts the proposed solution to be applied to your machine configuration. Important: immediately after doing that, there is a window of opportunity to safely inspect the applied solution and perhaps to even try it out. The solution can then still be undone by pressing Reopen. However, as soon as you press Find Issues & Solutions again, the changes will be permanent.

Dismiss Dismisses the reported issue or proposed solution. Caution: unless the reported issue is a false alarm (which it rarely is), the underlying problem will not magically go away, just by pressing Dismiss! Be sure to really understand what you are dismissing, and that you have provided a better, alternative resolution, or that you are sure it is a false alarm.

Reopen Reopens an issue that has previously been accepted or dismissed. As long as you haven't pressed Find Issues & Solutions in the meantime, the former state of your machine configuration will be restored.

Severity

Issues are classified and color-coded by Severity.

  • Fundamental: Issues that must be resolved up-front. They represent fundamental building blocks that lay the foundation for further work. Only when the answer to that issue is provided, can the Issues & Solutions system go on to find more solutions.
  • Information: Issues that provide information, guidance to go on with the process.
  • Suggestion: Issues that point to configuration that may be missing or can likely be improved. If you hand-tuned your configuration, and are sure about it, you may choose Dismiss to override the suggestion.
  • Warning: Issues that point to configuration that is likely wrong or missing.
  • Error: Issues that point to configuration that is almost certainly wrong or missing.

Milestones / Tracking Progress

Issues & Solutions has Milestones to track the progress when building and configuring a machine. Only the Issues & Solution due for the current and previous milestones will be shown. Some solutions will be adaptive to the targeted milestone, proposing simpler solutions for earlier milestones. These will be revisited when you proceed to later milestones.

For troubleshooting, you can also go back to earlier milestones. Issues & Solutions will then sometimes propose taking back more advanced choices you already made. This way you can try to solve a problem by starting from a safer base.

The last issue per milestone will always be the Milestone Issue, giving you the option to proceed or go back:

Milestone issue

The Milestones

Welcome Milestone

The Welcome milestone allows you to get to know OpenPnP with a simulation machine. Furthermore, you can use Issues & Solutions to choose between common head / nozzle topologies: standalone nozzles, pairs of nozzles with shared Z and negation, pairs with shared Z and cam. Using a multiplier you can tell OpenPnP how many standalone nozzles or nozzle pairs you want. Issues & Solutions then creates all the required axes, nozzles and actuators, and wires them up.

Nozzle Solutions

Even complex nozzle solutions are created with a few clicks:

Complex nozzle solution

You can even revisit the solution i.e. change the number and type again and again. Issues & Solutions will carefully re-use any nozzles, axes and actuators it finds and only add new ones as needed. On reused components the detail configuration is preserved (except for names).

Connect Milestone

The Connect milestone handles the conversion from the simulated machine to a real connected machine with motion controller and USB cameras. It also tests the driver connection and tries to discover the firmware of your controller. If the firmware cannot be detected, there is the option to use generic G-code.

Connect Firmware

Basics Milestone

The Basics milestone handles moving around the machine manually a.k.a. jogging, switching vacuum and lights. It makes sure all axes have letters and are mapped to drivers. In case you use a G-code motion controller, it generates most G-code snippets, regular expressions etc. to talk to your motion controller.

Kinematics Milestone

The Kinematics milestone defines the kinematic profile of your machine, used for automatic motion: Safe Z, soft limits, motion control model, feed-rates, acceleration limits etc. See the Kinematic Solutions page for more information.

Vision Milestone

The Vision milestone sets up the cameras for Computer Vision. A calibration rig is used to calibrate the camera lenses and optical properties such as the true spacial position and imaging scale of the camera. See the Vision Solutions page for more information.

Calibration Milestone

The Calibration milestone brings Kinematics and Vision together to calibrate the machine. Nozzle head offsets, backlash compensation etc. See the Calibration Solutions page for more information.

Production Milestone

The Production milestone handles recurrent configuration tasks such as feeder setup as well as production issues such as board, placement and job handling.

Advanced Milestone

The Advanced milestone, while also serving as a production milestone, finally exposes all the advanced features, such as advanced driver settings, motion planner, asynchronous driver, contact probing nozzle etc.

Replace GcodeDriver

For the most problematic of these settings, Issues & Solutions will propose taking them back when going back to earlier milestones.

Video

Outdated: For a quick Demo, watch the video. Please disregard any mention of "testing version", "migration" etc. the system is now integrated into regular OpenPnP 2.0 and covers both new or changed machines and machines migrated from earlier versions.


Previous Step Jump To Next Step
Computer Vision Table of Contents Next Steps

Advanced Motion Control Topics

Motion Control

Machine Axes

General

Clone this wiki locally