Trajectory Planner using Ruckig Lib

More
2 years 4 months ago #302816 by akg1904
Replied by akg1904 on topic Trajectory Planner using Ruckig Lib
Hi,

Greetings to all.

I installed Grotius Repo and tried to run TpMod_Scurve in "axis_mm INI" but I keep getting error:

LINUXCNC - 2.10.0~pre0
Machine configuration directory is '/home/ethereal-abhi/linuxcnc/configs/sim/axis'
Machine configuration file is 'axis_mm.ini'
Starting LinuxCNC...
(time=1718094964.010793,pid=40867): Registering server on TCP port 5005.
(time=1718094964.011063,pid=40867): running server for TCP port 5005 (connection_socket = 3).
linuxcnc TPMOD=tpmod_scurve HOMEMOD=homemod EMCMOT=motmod_scurve
Note: Using POSIX realtime
tpmod_scurve: dlopen: /home/ethereal-abhi/linuxcnc/rtlib/tpmod_scurve.so: cannot open shared object file: No such file or directory
<commandline>:0: waitpid failed /home/ethereal-abhi/linuxcnc/bin/rtapi_app tpmod_scurve
<commandline>:0: /home/ethereal-abhi/linuxcnc/bin/rtapi_app exited without becoming ready
<commandline>:0: insmod for tpmod_scurve failed, returned -1
Note: Using POSIX realtime
task: machine: 'LinuxCNC-HAL-SIM-AXIS'  version 'unknown'
Found file(lib): /home/ethereal-abhi/linuxcnc/lib/hallib/core_sim.hal
motmod_scurve: dlopen: /home/ethereal-abhi/linuxcnc/rtlib/motmod_scurve.so: cannot open shared object file: No such file or directory
/home/ethereal-abhi/linuxcnc/lib/hallib/core_sim.hal:7: waitpid failed /home/ethereal-abhi/linuxcnc/bin/rtapi_app motmod_scurve
/home/ethereal-abhi/linuxcnc/lib/hallib/core_sim.hal:7: /home/ethereal-abhi/linuxcnc/bin/rtapi_app exited without becoming ready
/home/ethereal-abhi/linuxcnc/lib/hallib/core_sim.hal:7: insmod for motmod_scurve failed, returned -1
Shutting down and cleaning up LinuxCNC...
/home/ethereal-abhi/linuxcnc/scripts/linuxcnc: line 668: /home/ethereal-abhi/linuxcnc/scripts/axis-remote: cannot execute: required file not found
(time=1718094964.421738,pid=40867): Deleting 3 channels from the NML_Main_Channel_List.
(time=1718094964.421764,pid=40867): Deleting emcCommand NML channel from NML_Main_Channel_List.
(time=1718094964.421785,pid=40867): deleting NML (1)
(time=1718094964.421801,pid=40867):  delete (CMS *) 0x5597399a3300;
(time=1718094964.421829,pid=40867): rcs_shm_close(shm->key=1001(0x3E9),shm->size=8192(0x2000),shm->addr=0x7f246a56e000)
(time=1718094964.421859,pid=40867): deleting CMS (emcCommand)
(time=1718094964.421888,pid=40867): free( data = 0x5597399a4030);
(time=1718094964.421913,pid=40867): Leaving ~CMS()
(time=1718094964.421922,pid=40867):  CMS::delete(0x5597399a3300)
(time=1718094964.421934,pid=40867):  CMS::delete successful.
(time=1718094964.421967,pid=40867): Leaving ~NML()
(time=1718094964.421976,pid=40867): NML channel deleted from NML_Main_Channel_List
(time=1718094964.421986,pid=40867): Deleting emcStatus NML channel from NML_Main_Channel_List.
(time=1718094964.421993,pid=40867): deleting NML (2)
(time=1718094964.422001,pid=40867):  delete (CMS *) 0x5597399a9510;
(time=1718094964.422011,pid=40867): rcs_shm_close(shm->key=1002(0x3EA),shm->size=20480(0x5000),shm->addr=0x7f246a569000)
(time=1718094964.422035,pid=40867): deleting CMS (emcStatus)
(time=1718094964.422043,pid=40867): free( data = 0x5597399aa220);
(time=1718094964.422054,pid=40867): Leaving ~CMS()
(time=1718094964.422064,pid=40867):  CMS::delete(0x5597399a9510)
(time=1718094964.422073,pid=40867):  CMS::delete successful.
(time=1718094964.422089,pid=40867): Leaving ~NML()
(time=1718094964.422096,pid=40867): NML channel deleted from NML_Main_Channel_List
(time=1718094964.422113,pid=40867): Deleting emcError NML channel from NML_Main_Channel_List.
(time=1718094964.422118,pid=40867): deleting NML (3)
(time=1718094964.422123,pid=40867):  delete (CMS *) 0x5597399af900;
(time=1718094964.422144,pid=40867): rcs_shm_close(shm->key=1003(0x3EB),shm->size=8192(0x2000),shm->addr=0x7f246a567000)
(time=1718094964.422177,pid=40867): deleting CMS (emcError)
(time=1718094964.422188,pid=40867): free( data = 0x5597399b0620);
(time=1718094964.422198,pid=40867): Leaving ~CMS()
(time=1718094964.422204,pid=40867):  CMS::delete(0x5597399af900)
(time=1718094964.422210,pid=40867):  CMS::delete successful.
(time=1718094964.422217,pid=40867): Leaving ~NML()
(time=1718094964.422227,pid=40867): NML channel deleted from NML_Main_Channel_List
(time=1718094964.422240,pid=40867): deleting NML (1)
(time=1718094964.422248,pid=40867): Leaving ~NML()
(time=1718094964.422256,pid=40867): NML::operator delete(0x5597399a3090)
(time=1718094964.422263,pid=40867): NML channel deleted from Dynamically_Allocated_NML_Objects
(time=1718094964.422278,pid=40867): deleting NML (2)
(time=1718094964.422287,pid=40867): Leaving ~NML()
(time=1718094964.422293,pid=40867): NML::operator delete(0x5597399a9340)
(time=1718094964.422317,pid=40867): NML channel deleted from Dynamically_Allocated_NML_Objects
(time=1718094964.422326,pid=40867): deleting NML (3)
(time=1718094964.422339,pid=40867): Leaving ~NML()
(time=1718094964.422347,pid=40867): NML::operator delete(0x5597399af6d0)
(time=1718094964.422355,pid=40867): NML channel deleted from Dynamically_Allocated_NML_Objects
USRMOT: ERROR: command 31 timeout
emcTrajSetJoints(3) returned -2
emcMotionInit: emcTrajInit failed
Note: Using POSIX realtime
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/ethereal-abhi/linuxcnc_debug.txt
and
    /home/ethereal-abhi/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal


Can anyone help me out with this.
I really want to try this TP on my machine

Regards
Abhishek

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #302818 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi Rod,

Milltask is compiled as executable. It's in the bin folder, the code has a main() function.
It does quite a lot.
- reading the interpreter rs274, turn them into canon commands, add them to a interp_list.
- is director of linuxcnc's program flow, is connected to nml server. (status channel, command channel)
- emcmot_command_t is the struct it uses to update the lcnc shared memory, the same is used by hal realtime motdot.so

Until now this is a valid G9 gcode :=9ptG9 X11 Y22 Z33 P0.1 Q0.2 R44.5 L321 E123.33 (L=integer type)
Where we could say G9 is a universal gcode where L stands for primitive-type.
Then primitive-type can be one of : line G0, line G1 , arc G2, arc G3, spline, nurb, clothoid etc, just a enum
that can accept all types of primitives. This would save us much coding work.

For a clothoid, we only need the endpoint xyz. The rest is done by the trajectory planner.
G9 L6 X10 Y10 Z0 (where L is the clothoid's enum)
G9 L0 X10 Y10 Z0 (where L is the line's G0 enum)
end so on.




 

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #302822 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
@Abhishek,
Currently you can not run it. You have to wait until i have tested new codebase.
This can take day's to weeks. We don't know at the moment.
The following user(s) said Thank You: akg1904

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago - 2 years 4 months ago #302848 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi,

Sample gcode :
Warning: Spoiler!


Interpreter output:
Warning: Spoiler!


Then tomorrow GENERAL_MOTION() will print values.
Now the interpreter part is almost done. The sai test program works ok finally.

Some notes to get this working :

File Attachment:

File Name: interprete...otes.txt
File Size:2 KB


This was a hard day off coding !! Hopely tomorrow straight to the finish line where we have to add code to the
realtime part of linuxcnc up to the trajectory planner.
Last edit: 2 years 4 months ago by Grotius.
The following user(s) said Thank You: robh, tommylight, Clive S, pommen, yrsiddhapura, Unlogic

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #302906 by Becksvill
Replied by Becksvill on topic Trajectory Planner using Ruckig Lib
Awesome can't wait to test it
The following user(s) said Thank You: Grotius

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #303009 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi,

The G9 is working. It is now running in the TPMOD from Rob Ellenberg.
It's showing a line, as i told the python part in lcnc to draw a line if it see's a G9.

Now the framework for a general motion is working!
Coding this, was not easy. But afterwards you can search for : GENERAL_MOTION and almost everything that
i coded into the source will appear.

To finalize it, i will also include I, J, K letters to pass into the G9. Extra variable letters already included are P,Q,R,L

The following user(s) said Thank You: tommylight, tivoi, Unlogic

Please Log in or Create an account to join the conversation.

Time to create page: 1.854 seconds
Powered by Kunena Forum