Nothing on MovIt, but the following recent article in Servo Magazine provides a cookbook for building a ROS based system that addresses several of the features you mention (at least conceptually), out of a Roomba and an Xbox Kinect for vision.  I appreciate examples like this that steps one through an otherwise complicated install procedure allowing you to get something working with minimal time and mental investment.  Once I get the overall concepts down, and some hands on skills,  it's much easier to dig deeper into specific documentation rather than feeling the need to try to understand it all before I can even begin.

https://www.servomagazine.com/magazine/article/a-self-guiding-robot-build-using-ros-and-a-single-board-computer

Brent

On 11/17/2021 7:43 PM, Ian Charnas wrote:
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





_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to