Chris, many thanks for the reply. I am indeed planning on using computer vision to set targets for the robot arm to move to. Thanks for sharing the link to MoveIt. One solution could be to have my computer vision code send the waypoints I want to MoveIt, which would plan the path, and then send the path to LinuxCNC.
In this scenario, I'm imagining I'd run the computer vision code and MoveIt on a higher end workstation with a GPU (I can write gpu-accelerated computer vision code), and then send the results perhaps over gigabit ethernet using UDP (since it's faster than RS485 or CAN) to a separate computer running LinuxCNC in real time. The second computer doesn't need to be as powerful in terms of CPU and GPU which is nice. I had no idea about the learning curve on MoveIt. I looked around and found that the authors just published a nice set of video tutorials <https://www.youtube.com/channel/UCF7Yy57ZE2WNYeeXKEu8JQA/videos> on MoveIt 2 so I'll start there. I really appreciate the kind and helpful responses here, y'all are great! Ian On Wed, Nov 17, 2021 at 8:54 PM Chris Albertson <albertson.ch...@gmail.com> wrote: > On Wed, Nov 17, 2021 at 3:07 PM theman whosoldtheworld < > bleachk...@gmail.com> > wrote: > > > wow movelt ..... and there are some ethercat connection on movelt? > thanks a > > lot > > > > As you plow through the stacks of documentation, you find that MoveIt > outputs a "joint trajectory" Which is a set of messages with (time, x, x', > x'') The hardware interface is up to the user. MoveIt stops short of the > device drivers. > > This is why I said a hybrid with LCNC might be interesting. LCNCis goodat > low levelmotor control andhas the Mesa FPGA ecosystem that work very well. > > MoveIt is complex and has a really steep learning curve. It is built on > top of ROS and ROS has a steep learning curve. I'd guess the stack is a > couple orders of magnitude more complex than LCNC. It all runs on Linux > and if you are not a Linux software developer then you have ever more to > learn. It takes most new people about a year to come up to speed. A > Movit-based 6-DOF robot arm is a tough introduction. You are best off > starting with basic ROS tutorials and making system that can print "Hello > World" to the screen. > > Also note the current transition from ROS-1 to ROS-2. New projects really > should be using ROS-2. So check that you are reading the correct > tutorials. Many are not labeled 1 or 2 because there was no need back when > only ROS-1 existed. So look for explicit labeling as "2". > > > > > > > Il giorno mer 17 nov 2021 alle ore 18:22 John Dammeyer < > > jo...@autoartisans.com> ha scritto: > > > > > Very cool. Thanks for the link. > > > John > > > > > > > -----Original Message----- > > > > From: Chris Albertson [mailto:albertson.ch...@gmail.com] > > > > Sent: November-17-21 8:45 AM > > > > To: Enhanced Machine Controller (EMC) > > > > Subject: Re: [Emc-users] LinuxCNC with Robot Arm Setup > > > > > > > > If you are taking the right approach or not depends on the tasks you > > want > > > > this robot arm to reform. Are they entirely scripted such that you > can > > > > write G-code to control the arm? Or is this arm using a camera and > > > vision > > > > system to pick up randomly placed objects? > > > > > > > > If the former, LCNC will work fine and self-collision is a > > > > non-issue because you programmed the G-code so as not to let that > > happen. > > > > But if the arm's path through space is determined in real-time and is > > not > > > > pre-programmed, LCNC is not the best tool, and you should be looking > at > > > > "MoveIt". https://moveit.ros.org/ > > > > > > > > But I think it is possible to build a hybrid system that uses BOTH > > > software > > > > systems. There is a part of LCNC that does motion control and has > > > > programmatic API and this could be used to build an arm controller. > > > MoveIt > > > > then computes a trajectory. > > > > > > > > For LCNC experts not familiar with MoveIt... MoveIt outputs a > series > > of > > > > "target points". for each motor. A joint has the following > information > > > > > > > > - Time this target point shall be reached > > > > - The location of the point > > > > - The velocity > > > > - The acceleration > > > > > > > > Question. Given that you have a user space process running that has > > that > > > > above information how to best pass this to LCNC so that LCNC can > output > > > the > > > > stepper pluses or whatever is needed to drive the hardware. > > > > > > > > On Tue, Nov 16, 2021 at 9:12 PM Ian Charnas <ian.char...@gmail.com> > > > wrote: > > > > > > > > > Hi everyone. I'm new to LinuxCNC but I'm an engineer with a > > background > > > in > > > > > software and cnc machining so I'm hoping I'll learn quickly. > > > > > > > > > > I'm interested in setting up LinuxCNC to run a robot arm. From > what I > > > can > > > > > tell, the wise approach is to follow this guide > > > > > <http://linuxcnc.org/docs/2.8/html/motion/dh-parameters.html> to > > > setting > > > > > up > > > > > my modified DH parameters, and to use this guide > > > > > <http://linuxcnc.org/docs/2.8/html/gui/vismach.html> to setting > up a > > > > > visual > > > > > representation of the arm - either by importing STL files or by > > drawing > > > > > graphics primitives. > > > > > > > > > > My first question: am I heading down a wise path or are there other > > > > > better options that I'm unaware of? > > > > > > > > > > My second question: Can LinuxCNC prevent the robot arm from > crashing > > > into > > > > > itself, and if so how does it know when a crash would occur? Does > it > > > use > > > > > the geometry of each link that I provide in vismach? > > > > > > > > > > many thanks for any tips and advice, > > > > > Ian > > > > > > > > > > -- > > > > > Ian Charnas | Engineer | iancharnas.com <http://www.iancharnas.com > > > > > > > > > > > > _______________________________________________ > > > > > Emc-users mailing list > > > > > Emc-users@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > > > > > > > > > > > > > > > -- > > > > > > > > Chris Albertson > > > > Redondo Beach, California > > > > > > > > _______________________________________________ > > > > Emc-users mailing list > > > > Emc-users@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > > > > > > > > > > _______________________________________________ > > > Emc-users mailing list > > > Emc-users@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > > > > > _______________________________________________ > > Emc-users mailing list > > Emc-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > > > -- > > Chris Albertson > Redondo Beach, California > > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > -- Ian Charnas | Engineer | iancharnas.com <http://www.iancharnas.com> Email me when Ian makes a new project <https://iancharnas.com/#getupdates> _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users