1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

What control engineer should know

  1. Apr 10, 2015 #1


    User Avatar

    I search after information that can explain to me more about what a control engineer in robotics company should to know how to do in these areas:
    1. Choose the right controler
    2. Control methods and analysis
    3. Write the code for all the robot include sensors, motors, drivers, hydraulic and pneumatics, data structure, operating system, signals, electronics circuit, communication or other
    What more maybe need to know a good control engineer that work in robotics applications?
    If you know about company that produce a controller and this company wrote a book \ booklet about how to wrote the code for the controller that they did so I will glad if you can wrote a link to this website also any other website that can be good for this information that I search
  2. jcsd
  3. Apr 13, 2015 #2
    I will try to give you a start.

    First, document your application requirements. Topics should "what" the application requires. It is usually expressed as the functions expected of a system in the view of an actor outside of the system (customer, operator, maintainer). Ex: Move the robot, left/right/up/down. It could be that the robot is the one that moves things. Ex: Pick item up/put/down/divert it, etc. Describe this in abstract terms, the best way you can. Do not include any descriptions of "how" one may go about it. Leave that for a later stage of planning. This is the most important step. If you do not have a description of your requirements, you will never know when you are done.

    Second, make an itemized list of "how" the requirements must be satisfied. These are the implementation requirements. For example: IR object detection needs certain sensors vs acoustic object detectors; acceleration/deceleration controls, steering controls, action actuators/effectors. This step requires some decisions regarding cost vs. capability of components and how the physical form factors may offer constraints to the overall design. For example, one cannot put a desktop or laptop computer on a tiny robot or the robot cannot be tiny because the requirements cannot be satisfied by anything smaller than a multi-core SOC controlling 150 servo motors and 300 sensors. The requirements will dictate how the details will come to light. Remember, you MUST satisfy the requirements. When your planning satisfies those goals, the second step is ready for the next step.

    Third. determine, the best way you can, which hardware platform will best satisfy the implementation requirements. You may have information from the research performed during the previous phase, but eventually you will have to match hardware requirements to each product to determine the best match. For example if you need more than a simple PWM output to control a motor you may have to select an SOC with extensive logic support for virtual DA conversion capabilities. I have experience with the Atmel AVR family of small MCUs and Altera SOC products. As alternatives, the TI DSP products and Xilinx family are good products and have sound solutions to offer.

    Fourth, control system design can be established that must be realized in code. One of the primary steps is to incorporate an OS or write your own. You should decide if an interrupt driven system will satisfy the implementation functionality, a periodic sampling method or a combination of both.

    Last, still last and must remain last, select the software development toolset and language to use to code the application. ALL of the previous phases should cause you to focus on this. No matter how much you may love a specific language or compiler or IDE, NEVER let your desire to code a certain way using a certain tool, dictate how your project is executed.

    I hope that whatever words I have written are not so confusing that you do not focus on the process of development from general to specific. I am not the most knowledgeable or most capable but I do want you to learn how to accomplish what you want.

    Good luck,
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook