- Thank you received: 0
ROS LinuxCNC Link
- thefabricator03
- Topic Author
- New Member
-
Also I have a copy of RoboDK that might be able to help us generate test robot programs.
Please Log in to join the conversation.
- thefabricator03
- Topic Author
- New Member
-
- Thank you received: 0
Grotius wrote:
Maybe something to think about :
I would like to start with a sps channel (safety channel) that start's when pc boots. Just like the ethercat starts at boot
and the mac adress is configured at boot time.
The attached ROS industrial PDF might be helpful in regards to safety standards. I think what you are proposing is a very good idea.
Please Log in to join the conversation.
rodw wrote: Grotius, I think you should devote 3-5 days learning Python by following the Google Python tutorials. I find I don't use it enough so its hard for me but when I do get it, I can write in 100 lines of Python what would take 1000 lines in C.
xkcd.com/353/
Please Log in to join the conversation.
Grotius wrote: Hi Rod,
Just pointing to the fact that the linuxcnc emergency button is not enough. In software design state,
it's maybe just important that software works. It's a quite early state to talk about this.
A file called sps.sub is a file wich run's separate from the program. It locks the safety magnet on door etc.
This is done outside the robot program. If linuxcnc would freeze or something would happen.
This would be not involved. The safety door would unlock when emergency is triggered.
This is how Kuka robotics work.
I know I don't know anything about robots but...
Somewhere there is a program executing the script surely? Does the same environment run the robot program? If thats the case, linuxcnc with seperate threads should satisfy requirements. If you need to worry about Linuxcnc freezing, you should not be trusting it with any motion project. The Linuxcnc architecture is very robust and each component is essentially firewalled from all the other ones. Seperate threads takes this to another level again. Does the ethercat environment generate a watchdog in the same way the mesa cards do?
At some point control needs to be passed from the operating system to an executing program.
I would have thought safety starts well before a computer boots. I know we don't discuss safety circuits much here but a ISO 13849-1 compliant safety relay appears mandatory. I bought a couple of these www.tro-pacific.com/collections/safety-r...ock-switches-enablin but I have not started to play with them yet. I would think this circuit would manage all the interlocks and guards. I also purchased a 24V DC 3 phase contactor which also has a set of auxiliary contacts for logic control. I eventually got the right one on their third attempt.. Somwhere, Linuxcnc needs to tell the Safety circuit that all is good on startup. This could be dropped if a watchdog event ocurred.
Please Log in to join the conversation.
Does the same environment run the robot program? If thats the case, linuxcnc with seperate threads should satisfy requirements
I think that would be oke, because twinsafe can be connected to hal.
Hi Andy,
Nice link. I don't understand it. You mean Python is hard to learn?
Maybe we first try to link Ros to Linuxcnc. And if that work's, see how the performance is.
Please Log in to join the conversation.
- thefabricator03
- Topic Author
- New Member
-
- Thank you received: 0
One thing I have been trying to work out is how we can do it with LinuxCNC without the HAL ring buffer. From my limited understanding, Machinekit sends and receives joint positions to ROS via the HAL ring buffer. Do you have an idea of a way to do this currently, or will we need to make some kind of ring buffer component?
Please Log in to join the conversation.
- thefabricator03
- Topic Author
- New Member
-
- Thank you received: 0
github.com/PickNikRobotics/ros_control_boilerplate
wiki.ros.org/ros_control_boilerplate
Please Log in to join the conversation.
Please Log in to join the conversation.
Ambiguous project. Four 5 axis mill's off dmg mori would be a million's project.
Today i am starting to create a Linux embedded version. Just because i am interested in it. I have no goals.
Will take a bootstrap, a kernel and a qt program to run within a x window manager maybe sddm.
So no dekstop environment is loaded normally. It can be done by starting it manually as sys admin.
It should just boot up a qt program that display's a cnc program. For example it could display a robot teach pendant.
Let's find out. Have a nice day !
Please Log in to join the conversation.
After some reading, trail and error the principle works.
What we have is a embedded linux os starting a qt application. For the rest it does nothing at the moment.
To be clear, there is no desktop environment.
It's only one app that run's at the moment. Just like a apple phone. Everything is closed source. :woohoo:
It seem's closed source company's make big money.
Spec's :
1. It's booting into the qt app without login window. ( I bypassed this for now, login for user level can be activated. )
2. It's not using any window-manager like sddm etc. ( It uses a Xorg package and a libqt5widgets5 package from sid )
3. It uses systemd. Nothing is demolished after the debootstrap. So i coded in today's standard's.
4. Kernel : Linux debian10 5.10.0-6-rt-amd64 #1 SMP PREEMPT_RT Debian
5. Process documentation is hosted at : github.com/grotius-cnc/Linux-Embedded/releases/tag/1.0.0 -> howto.txt
6. First preview attached :
Wow... fckng hell.
Attachment not found
7. Iso runtest ok.
I got a lot of idea's now.
Ok, next thing is to get some kind of hal layer working. Maybe strip down lcnc?
Maybe begin a lcnc module format. For the Ros we only need hal at the moment.
We need some kind of graphical artist.
If someone can build the teach pendant layout's in qt creator. That would be nice.
Only the layout with button's, labels, etc. is good. The signal and slot's will come later on.
Naming the buttons and labels following a coding style is important. I leave always the orginal name at the
beginning of the widget. A button begin's with "button-stop" for example. A label is "label-dro-xmax" for example.
Keep low letters to stay uniform. Use mid stripes to stay uniform. etc. Use color-template's for machine's.
We could add different types of pendant's. I suppose a mill is different then a robot.
Ok i have no goal. We will see how it goes. If there are helper's we can make progress.
Here is the iso to test out the software, just grab a old hard-drive and put it on. Check if your left over data usb's are removed for sure.
github.com/grotius-cnc/Linux-Embedded/re...0/Linux-Embedded.iso
The "normal install" is a auto installer. You don't have to do anything. It's using a preceeding technique.
After install it does a power down.
When you press the power button. The pc will boot straight into the embedded robot program. Ok have fun !!
Please Log in to join the conversation.
