Your comments
3.mp4
Here is example with codesys with forted code from github, all kinematics is open-source
https://cloud.mail.ru/public/Vtia/rKNetzYVN
if just teaching robot programming basics , can try this
https://www.hyundai-robotics.com/english/customer/customer4_view.html?no=94
https://www.hyundai-robotics.com/english/include/downloaddoc.html?docid=253
codesys kinimatik is not open source and program planer for linear movment is not clear .. but can try codesys example with codesys win 64 softmotion runtime, it limit for 2working hour, then need restarting.
or can implement code from github in unity
trying to add one ethercat axis, (in project it is virtual, working good to)
- connected by Modbus TCP. Unity as Slave with 6 float registers for Axis angels
- yes inverse kinematics calculated by codesys, raspbery pi3, 10us cycle. Not sure about DH parameters for robot , looks like ABB IRB2600 , on X , Y, Z moving calculation for axies is correct.
https://cloud.mail.ru/public/NX8a/PooBj2PGp - here is unity runtime with robot.
https://cloud.mail.ru/public/VKLn/hyHuLNvhc - it is project archive for codesys 3.5.16, need change ip for modbus master to unity PC address.
And in source script need add
newrigid.mass = Mass;
newrigid.interpolation = RigidbodyInterpolation.Interpolate;
some like this working
void Start()
{
_distancepos = transform.position;
..........
if (true) //speed != 0)
{
mov = (transform.position - _distancepos) + TransportDirection * Time.fixedDeltaTime * speed *
Game4AutomationController.SpeedOverride /
Game4AutomationController.Scale;
_rigidbody.position = (_rigidbody.position - mov);
_rigidbody.MovePosition(_rigidbody.position + mov);
_distancepos = transform.position;
}
Here in transport surface need add absolute moving of transport surface byself + Transportdirection moving (in script only transport direction, and no moving of surface byself , rotation and linear) Have no idea yet how add surface object moving. Any idea?
if (speed != 0)
{
mov = TransportDirection * Time.fixedDeltaTime * speed *
Game4AutomationController.SpeedOverride /
Game4AutomationController.Scale;
_rigidbody.position = (_rigidbody.position - mov);
_rigidbody.MovePosition(_rigidbody.position + mov);
}
if (speed == 0)
{
mov = TransportDirection * Time.fixedDeltaTime * 100 *
Game4AutomationController.SpeedOverride /
Game4AutomationController.Scale;
_rigidbody.position = (_rigidbody.position - mov);
_rigidbody.MovePosition(_rigidbody.position + mov);
}
I send on email. it is same problem on DemoChain scen,Cans not moving in horisontal direction..
Customer support service by UserEcho
Can share source code?