maxosprojects / open-dobot

open-dobot - Open Firmware, Driver and SDK for Dobot Arm
MIT License
141 stars 64 forks source link

Feature request: support for limit switch/photointerrupter #2

Closed maxosprojects closed 8 years ago

maxosprojects commented 8 years ago

There are no sensors to enable completely automatic arm initialization. As a simplest solution to that problem support for limit switch/photointerrupter is proposed.

Here is an outline of a proposed solution:

  1. Add a command to start base rotation at specified speed that must automatically stop the arm upon a pin state change 1.1. Desired end state change specified in the command 1.2. Desired pin to be polled specified in the command out of predefined unused set of pins available on Arduino
  2. Add a command to poll for desired pin state to find when the the traverse finishes
  3. Add a command to cancel any traverse commands currently being executed
NikolasE commented 8 years ago

I'd implement it slightly different: The user specifies two speeds (fast and slow). (If the endstop is not already triggered,) the robot moves with the fast velocity until the endstop is triggered. It then changes the direction of the movement and moves with the slow speed until the endstop is released. This should speed up the homing sequence while producing a good accuracy even if the pin has to be polled.

maxosprojects commented 8 years ago

Agreed

maxosprojects commented 8 years ago

Pushing this to 0.5.0 to release SDK initialization from accelerometers. Initializing arm from specific pose wasn't a feasible requirement to comply with and was a huge impediment to do ANYTHING.

Will add endstop support first thing for 0.5.0