Closed multisystem closed 5 years ago
Hi François. RC7 doesn't have the best SCARA support. I've done a lot of patching of SCARA over the last few months, as I've been helping to develop a SCARA machine with the MakerArm Kickstarter. So I recommend you test RCBugFix
and start there.
I haven't really touched the so-called "calibration" options, but I have tweaked the kinematics. Starting from RCBugFix
we can work on it further to ensure that it works as it should.
I just checked more closely, and, indeed, I did patch M360
, etc., in RCBugFix
so they add the home_offset
(as set by M206
) onto the destination. However, M206
doesn't apply to the SCARA angles (A and B). Instead it applies to the cartesian space. This makes M206
more consistent, so it works in the same manner on all types of machines, and it's a necessary change, because so many parts of the code rely on this.
So, the question now is, how are we supposed to configure the "home position" and fix the angles for a SCARA?
I believe the key is to figure out where on the XY plane the nozzle ends up when G28
is done, then set this position as your MANUAL_X_HOME_POS
and MANUAL_Y_HOME_POS
.
When figuring out the "home position" consider X0 Y0 to be the fulcrum of the shoulder joint, and measure from that point to the nozzle position.
Give this technique a try and see if it holds.
If that turns out to be too difficult, complicated, or unreliable, then I don't mind adding new offsets for Theta and Psi that can be set with M206
, but which will specifically apply to the arm angles. However, it would be preferable to drop these angular "fudge-factors" and simply map the XY plane to the normal SCARA kinematic angles.
Hello, Thank you for your reply :)
Currently I am working on a Scara robot fablab Montpellier LABSud. for now it's just a test box quickly built. http://forum.labsud.org/viewtopic.php?f=51&t=248 https://www.youtube.com/watch?v=H5ieboKMeLQ&feature=youtu.be
if it works well I will do later versions 2, a small robot to do the writing, and a 3D printer scara single-arm open-source hardware will ongoing reflection for future version: https://3dwarehouse.sketchup.com/model.html?id=cc442b8e-7abc-49f7-93c9-3c832633214f
RCBugFix I test, I made you a test back later.
Sorry for my English ... Brooken Regards François
Hello, I just tested with Marlin-RC BugFix, I had nothing happens ... move the engines do not work G28 key just 1 time 1 arm and the end position and stops and everything is blocked ...
SENDING:G28
echo:busy: processing
echo:busy: processing
echo:busy: processing
echo:busy: processing
echo:busy: processing
move does nothing and returns:
SCARA Theta:-126322568.00 Psi+Theta:-126322568.00
I also tested with:
#define MAKERARM_SCARA
Return ==> exit status 1
/tmp/arduino_build_997282/sketch/Marlin_main.cpp.o: In function `do_homing_move':
/tmp/arduino_build_997282/sketch/Marlin_main.cpp:2434: undefined reference to `inverse_kinematics(float const*)'
/tmp/arduino_build_997282/sketch/Marlin_main.cpp.o: In function `Planner::buffer_line_kinematic(float const*, float const&, unsigned char)':
/tmp/arduino_build_997282/sketch/planner.h:309: undefined reference to `inverse_kinematics(float const*)'
/tmp/arduino_build_997282/sketch/Marlin_main.cpp.o: In function `get_cartesian_from_steppers()':
/tmp/arduino_build_997282/sketch/Marlin_main.cpp:8613: undefined reference to `forward_kinematics_SCARA(float const&, float const&)'
/tmp/arduino_build_997282/sketch/Marlin_main.cpp.o: In function `Planner::buffer_line_kinematic(float const*, float const&, unsigned char)':
/tmp/arduino_build_997282/sketch/planner.h:309: undefined reference to `inverse_kinematics(float const*)'
/tmp/arduino_build_997282/sketch/planner.h:309: undefined reference to `inverse_kinematics(float const*)'
/tmp/arduino_build_997282/sketch/planner.h:309: undefined reference to `inverse_kinematics(float const*)'
/tmp/arduino_build_997282/sketch/planner.h:309: undefined reference to `inverse_kinematics(float const*)'
/tmp/arduino_build_997282/sketch/planner.cpp.o: In function `Planner::set_position_mm_kinematic(float const*)':
/tmp/arduino_build_997282/sketch/planner.cpp:1320: undefined reference to `inverse_kinematics(float const*)'
/tmp/arduino_build_997282/sketch/ultralcd.cpp.o:/tmp/arduino_build_997282/sketch/planner.h:309: more undefined references to `inverse_kinematics(float const*)' follow
collect2: error: ld returned 1 exit status
Utilisation de la bibliothèque U8glib prise dans le dossier : /home/frafa/Bureau/firmware-ok/libraries/U8glib (legacy)
exit status 1
Erreur de compilation pour la carte Arduino/Genuino Mega or Mega 2560
Sorry about that. The code for MAKERARM_SCARA
is not published yet, and I'm not free to release the code at this time, as I'm still under contract with MakerArm.
If your SCARA is similar, then I can offer guidance. At the moment SCARA is not very well supported in Marlin. The code I've implemented for MakerArm is more complete and deals with more SCARA-related issues.
I wasn't able to tell from your video, but does your SCARA have end-stops? And how are they arranged?
Hello Detail of my setup http://www.openhardware.eu/tmp/Scara.png
multisystem Hello,
I just tested with Marlin-RC BugFix, I had nothing happens ...
move the engines do not work
G28 key just 1 time 1 arm and the end position and stops and everything is blocked ...
SENDING:G28
move does nothing and returns:
SCARA Theta:-126322568.00
Psi+Theta:-126322568.00
I have the same! It is a pity that it is not running the new firmware!
I wish I had a SCARA to test with. If I try to address this stuff I'm afraid I will just be shooting in the dark. Do you have anyone local to your area who could get into the code and figure out the issue while having access to your machines?
Marlin-RC6 Scara works good. Just does not work #define REPRAP_DISCOUNT_SMART_CONTROLLER (not compiled). Marlin-RC7, BugFix: G28 Home all- XY trailer to go together and then Z. Then X and Y axes are not moving. Only works Z. SCARA Theta:-126322568.00 Psi+Theta:-126322568.00 BugFix: work #define REPRAP_DISCOUNT_SMART_CONTROLLER
Hi @Grean2007 Yes it is a small bug If you comment in the file ... / ultralcd.cpp on all version 1.1.xxx, after that compiles
#if ENABLED(SCARA)
//MENU_ITEM_EDIT(float74, MSG_XSCALE, &axis_scaling[X_AXIS], 0.5, 2);
//MENU_ITEM_EDIT(float74, MSG_YSCALE, &axis_scaling[Y_AXIS], 0.5, 2);
#endif
@thinkyhead I have 2 types of scara robots for testing, 1 Scara Morgan type http://www.openhardware.eu/tmp/Scara.png 1 scara 1 arm (kinematics invert) http://www.openhardware.eu/tmp/Scara/DSCN0637.JPG
I can help debugger, the hardest for me is English...
Thank you! Working REPRAP_DISCOUNT_SMART_CONTROLLER (Marlin-RC6 Scara) My 3D Printers: SCARA https://www.youtube.com/watch?v=V-ltmE66adw https://www.youtube.com/watch?v=QEI8J-BrP04 H-Bot https://www.youtube.com/watch?v=V5eOtMyqQfA https://www.youtube.com/watch?v=jQFdguE94N4 Delta https://www.youtube.com/watch?v=3RIY7qQ7zt4
Help run on SCARA Marlin-RC7, BugFix.
I hope to work on SCARA problems soon. A lot of bugs and glitches to work on now that RC8 is getting public testing…
Marlin-RC8. На Scara не работает. То же самое G28 Home all- оси X и Y идут к концевикам вместе и доходят до первого (X или Y). Затем идет Z. После этого оси X и Y не двигаются. Работает только ось Z. SCARA Theta: -13134457.00 Psi+Theta: -13134457.00
Hello, I have been working on a SCARA project for several months and I can not solve the problems of 'homing'; The coordinates after the homing do not match those expected and parameterized in MANUAL_X / Y_HOME_POS The new version of Marlin-RC seems to fix some problems, but homing does not start on X and Y (Z works)... Thank you again for the outstanding work Pat
http://invent2main.org/armoni.html https://vimeo.com/183643279 http://forums.reprap.org/read.php?110,521712,page=3
has SCARA not been removed from marlin? is so we could close this one
@multisystem have you tried with the latest bugfix 2.0?
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Hello,
I can not run a calibration with Marlin-1.1.0 RC7 (1.0.xxx OK) and Scara kinematic I made a
G28
thenM360
to move Theta 0 ° position a look backM114
(SCARA Cal - Theta: -17.82) aM206 X-17.82
if the value is negative, the offset if i remade aM360
is not considered? If the offset is a positive exampleM206 X17.82
it works Do you have any idea why it is not possible to put a negative offset?Sorry for my broken English (i'm French) google translate use ... Regards François