This offset approach is proving harder than I expected.  I think it is because 
I'm
using the PID-driven stepgen approach generated by pncconf (7i92 board).  The
original relevant hal logic is:

net t-pos-cmd       =>  pid.t.command
net t-vel-cmd       =>  pid.t.command-deriv
net t-pos-fb        =>  pid.t.feedback
net t-output        =>  pid.t.output

net t-pos-cmd    <= joint.0.motor-pos-cmd
net t-vel-cmd    <= joint.0.vel-cmd
net t-output     <= hm2_7i92.0.stepgen.00.velocity-cmd
net t-pos-fb     <= hm2_7i92.0.stepgen.00.position-fb
net t-pos-fb     => joint.0.motor-pos-fb

Putting offset into the position command and position feedback nets gives:

net t-pos-cmd-off   =>  pid.t.command
net t-vel-cmd       =>  pid.t.command-deriv
net t-pos-fb        =>  pid.t.feedback
net t-output        =>  pid.t.output

net t-offset      motion.analog-out-00
net t-offset      offset.0.offset

net t-pos-cmd    <= joint.0.motor-pos-cmd
net t-pos-cmd    => offset.0.in
net t-pos-cmd-off <= offset.0.out

net t-vel-cmd    <= joint.0.vel-cmd
net t-output     <= hm2_7i92.0.stepgen.00.velocity-cmd

net t-pos-fb     <= hm2_7i92.0.stepgen.00.position-fb
net t-pos-fb     => offset.0.fb-in
net t-pos-fb-off <= offset.0.fb-out
net t-pos-fb-off => joint.0.motor-pos-fb

I think the velocity gets messed up by the step function in position,
and the pid loop is using velocity.  Any further suggestions for
achieving my invisible 90 degree rotations?

Thanks again,
-- Ralph


________________________________________
From: Ralph Stirling [[email protected]]
Sent: Thursday, March 15, 2018 11:29 AM
To: Enhanced Machine Controller (EMC)
Subject: Re: [Emc-users] joint/axes question (2.8-pre)

I like that. I can't do it in world mode because tan(pi/2) is a problem...

Offset is a real clean solution.

-- Ralph

On Mar 15, 2018 11:06 AM, andy pugh <[email protected]> wrote:
On 15 March 2018 at 17:56, Ralph Stirling <[email protected]> wrote:

>  I would like to be able to rotate the table a 1/4 turn
> after each job is run.  Ideally, I would love to just switch
> from world to joint (teleop) mode with a G code, but that
> doesn't seem to be an option

You could use the offset HAL component between joint.0.motor-pos-cmd
and the stepgen/pid.

Then the kinematics would have no idea that the rotary had moved.

Drive the offset with a G-code analogue out.

--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to