What are the must have skills for Robotics field?

  • WhyDoesMyRobotHateMe

    Nope being totally serious.......have a read of panic mode post #13, remember we are talking about robotics here and not some mobile phone app that makes a monkey dance around on a bungee when you receive a text.

    Oh and not forgetting, robots can cause some serious damage as well as injury and harm as it is the program that drives it.

  • Yes, I only mentioned it as it lay in the same bracket as my reply.

    I still slip up in my posts from time to time, and I have a very good female friend involved in robotics who keeps pulling me up over it.

    It's on the increase too, so watch out fellas, there are some very clever ladies continuing to join the industry now and well deserved too, it's about time the engineering doors are becoming universally opened, may it long to continue.

  • That's like 70% of professional software development - why would you re-write something if it already exists and is offered open-source and working?

    It is because of "professionals" like that so much of software is complete and utter garbage. And people have literally died because of such "professionalism". This includes not just robotics or automation, it is practically in every field...


    Transportation (boat, cars, aviation, rail)

    Medicine (just look up Therac-25, typical copy and paste)

    Nuclear and Chemical (i don't want to mention anything since i signed some papers)

    Chemical (just like Nuclear)

    Military,

    Banking,

    and the list goes on and on...


    The point is so many incompetent or negligent people are out there. But the things are usually swiftly covered up so that general population has impression that things are fine.


    xkcd: Voting Software

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • I've just been reading the wiki on Therac-25, very interesting and a bit of an eye opener, but also probably not the whole story.

    As you say, this occurs in all fields and the fact we don't hear publicly about these situations can often make people naïve to think it's all ok.


    I remember being called in to troubleshoot a problem by the end user on a new install that was common across 8 individual Kawasaki robot systems, alongside the PLC programmer who had coded the PLC's (Siemens).

    Profinet comms would not come back up after a Robot Power cycle without unplugging the RJ45 connection and re-connecting it again.


    Without going into too much detail, the problem lay in the 'file' he was using to configure the PLC in TIA.

    I re-configured the PLC from scratch and fixed the problem, then loaded the 'file' they were using, and the problem returned.

    The PLC programmer could not configure this from scratch as they had always used the 'file' (which someone else gave them) to do it as it was quicker.


    The PLC programmer was very open and honest with this and also stated on the last installation they did, they had the same issue which was never resolved.

    So we spent sometime going through the 'file' to locate the issue and resolve it.

    All the 8 robots were resolved and also the last installation happened to be on the same site, so we resolved that too.


    The point of this, is that without knowing the fundamentals, it makes it extremely difficult to troubleshoot things when they don't work.


    An old teacher of mine had a very good representation of this:

    You cannot build a wall from a photograph using the correct equipment without first understanding the foundations (you can't see) the whole thing sits on.

    If you decide to adopt this philosophy, whatever you do, will eventually collapse and possibly be fatal.

  • Are you joking? That's like 70% of professional software development - why would you re-write something if it already exists and is offered open-source and working?

    :sadsmiley:

    Believe in me.....I'm passing the last 6 months to try to debug a two-robots plant in wich the old "programmer" choosed the copy and paste solution.

    And still I will face another, at least, month to complete the work ( of course because the line is working, I can't stop it and resolve immediatly).


    A large amount of the code that is written in robot environment is custom, I mean written specifically for that robot( think about the position for example), hardly exportable to other. There are very few lines, that needs a very good software skills, that you could share with other robots(of course from the same model company).

    Well in this case I could partially agree with you re-write those shareable lines is pointless....but still I create those lines, I know how to manipulate it, probably they will move a 225Kg robot.....personally I can give you that code only as reference example not as a standard solution.

  • Looking at other programs and copying them can get you started faster and help learning (if you copy from a competent programmer). If you copy and paste the burden is now on you to make the effort to understand each line of code you copied.


    I see this happen not just in programming but other areas, mechanical, electrical.


    "Why doesn't it work.. I just copied it :loudly_crying_face:"


    A good programmer will not put into production copied code without fully understanding how it works.

  • A good programmer will not put into production copied code without fully understanding how it works.

    Oh I agree, using code you don't understand is one thing for sure - but after working as a dev for a few years, hell - it's just a better use of a coder's time to not fiddle with an algorithm that is already on github and (obviously) open source. That's why its integrated into Visual Studio nowadays.

    And realistically its the only way to learn more as well.

    Programming a robot is different, jobs are different, robots are different from each other, so yeah - to just steal a program and run it is reckless and stupid. My original point was just responding to the comment that programmers don't copy and paste.

    I like writing code, that's why I got into coding - but there are elements of it that I don't enjoy and am not adept at - so my ethos is code whenever I can otherwise find someone offering it who already did it better than I ever could.

  • I've just been reading the wiki on Therac-25, very interesting and a bit of an eye opener, but also probably not the whole story.

    As i recall they tried to make "economy" version of the existing product.


    That meant that bunch of things got stripped out like hardware interlocks etc. And the whole "make it cheaper" thing was done by one person that did not review the code or made necessary changes to replace missing hardware interlocks. Also there was no peer review or proper safety evaluation. All of things in regulations we are annoyed by were made necessary because of creations like that.


    At that time, main input device was the keyboard and some of the key combinations used for debugging by initial developers were similar to key combinations used for actual operation. So from time to time, user error would press wrong key combination and radiation dose was excessive. Since it was only occasional, it was not easy to reproduce and thought was that patients were maybe making it up so some were sedated and restrained.


    In the end several people were literally cooked up... scary...


    Then one just need to think about software uses and competence and diligence of people around us. And when you see how poor literacy of new generation is, makes you wonder how future will look like.


    there was a joke about sales persons in the past doing calculations on a piece of paper

    to make things faster and easier, adding machine was invented. but it could not multiply so tax was added manually using value from table or chart

    then to make things easier, new cash register was invented that could do multiplication as well. skill level of user was of course hitting new low but at least they still had to calculate change.

    then the electronic register did that too so that sales clerk really did not need to do any mental effort. economy was booming, machines were easy to reproduce and got better. nowadays sales clerk just matches shoppers so self-checkout. and there is fewer people that knew how the machine operates.

    one day there will be only one person alive to know how to make or repair those machines. when that person dies, civilization will collapse...


    now sad thing is that this is not just a joke, it is reality. just in last few days i had to tell people to not plug network cable into first port on the controller that looks like a possible fit... reading (and thinking) seem to be thing of a past.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • panic mode

    Yes, very scary indeed regarding your follow up, don't know which put the frighteners in me more....the wiki, or your description....:icon_eek:

    Makes you think just how much equipment is in use today that hasn't come to light with some fundamental issues buried deep and just a few incorrect key strokes could turn it all upside down.


    Technology at present, very much reminds me of the Johnny Depp film - 'Transcendence'

    so we are just talking to ourselves now.

    Yes and thanks to the forum, I've managed to stop talking to myself....although, I have no alternative now as the other day my reflection in the mirror turned round and walked off.

  • Now that I'm getting into robotics the same applies; when I get a program dialed in for a specific part-type that works I will absolutely copy it and modify it for a similar part. No question. It would be silly at that point to start from scratch when almost all the functions I will need are right there.

    Oh, don't get me wrong, I am a big advocate of re-usable code and modular code. It would be silly not to re-use it and I do so all the time. I just take the additional time to understand what the code does.


    I see too many times where people re-use code without any clue to what that code is supposed to do. Re-using the code is the right thing to do, they just didn't take the time to understand it, often missing key pieces required to make it work. For example a robot program may require a user frame or tool frame to be setup a certain way, or possibly a background program to be running.


    it's just a better use of a coder's time to not fiddle with an algorithm that is already on github and (obviously) open source.

    I agree with this as well. I don't think you should be fiddling with the code, just understand generally how it works, what are its dependencies, inputs, outputs, limitations.

Advertising from our partners