‎04-11-2026 01:15 AM
Hello, I'm currently working on code to allow a robotic arm to move its 3 different motors automatically once it reads the input a user types. I currently have it so that it can move manually, but not automatically, through 3 different DQ assistants attached to build arrays and switches, in a while loop. It also reads the arm's current position through a DQ Assistant and displays three different outputs: height, in/out, and rotation, also in a different while loop. Can I get some pointers or example code on how to write part 2 of the code that will read 3 different inputs and move the arm accordingly? Having trouble finding resources.
‎04-11-2026 07:02 AM
Robotic programming is always a bit tricky. But my first recommendation would be to actually learn DAQmx programming and forget about those DAQ Assistant Nodes. They are great to begin doing a single task without knowing anything about programming but they quickly detoriate into an uncontrollable mess once you need to do more than one thing simultanously.
‎04-11-2026 10:44 AM - edited ‎04-11-2026 11:05 AM
@MFedu wrote:
Hello, I'm currently working on code to allow a robotic arm to move its 3 different motors automatically once it reads the input a user types. I currently have it so that it can move manually, but not automatically, through 3 different DQ assistants attached to build arrays and switches, in a while loop. It also reads the arm's current position through a DQ Assistant and displays three different outputs: height, in/out, and rotation, also in a different while loop. Can I get some pointers or example code on how to write part 2 of the code that will read 3 different inputs and move the arm accordingly? Having trouble finding resources.
This seems like an architectural nightmare, but we can't really tell from your description what you are actually doing.
For motor control, one would typically use NI-motion. I have never head of "DQ assistants". Can you explain your hardware?
You cannot "built arrays and switches in a while loop". Can you show us your code drafts so we can get a clearer picture?
Can you explain the three user inputs? Why do they need to be different? Do they just define e.g. an xyz position? If this is a robotic arm, you might need to solve inverse kinematics. Have you worked out all the math based on the arm geometry?
‎04-11-2026 04:58 PM
@MFedu wrote:
It also reads the arm's current position: height, in/out, and rotation ...
I'm guessing that "position" is being specified in cylindrical coordinates, with "height" being "z" along the cylinder's axis, "in/out" being "radius" in the x-y plane at height z, and "rotation" being the "angle" (from "x") in the XY plane.
My first LabVIEW project involved "sound localization in large primates" (primarily BME undergraduates) that involved a vertical motor that rotated (±30°) a 2-meter arm (fixed "radius" of 2 m) on which was mounted a vertical track holding a speaker that could move vertically ("height") about a meter. Fortunately, one axis (call it X) was fixed (2 meters), and we mostly just moved the vertical (rotatory, Z) axis, so only had to deal with one degree of freedom (at a time).
Bob Schor
‎04-11-2026 08:47 PM
This is the current setup. It controls the arm manually, by pressing the buttons and displays the current position of the arm, just needs pointers on to making to make it move automatically. Like any examples or references that could help. I have also measured the dimensions of the arm.