Using Duet to control robot arm
-
Hey guys,
I have been asked to design a system that will work with a robot arm as pictured below. This robot arm will be used as a 3d printer. Do you think this is possible?
A Chinese company has contacted me because they saw my Vcore printer on youtube and they want me to create a robot arm with the same capabilities as my printer.
I thought this might be doable with your hardware as I will need many axis to complete the project.
I am not a software engineer, so this won't be easy no matter how I do it. My background is electrical engineering. I should have learned python as well...
-
@jered What is the interface you use to control the robot arm?
I'm going to assume you aren't going to replace all the motors in the arm with stepper motors, so you'll need to somehow send commands to the robot to move the joints.
It seems to me that you;ll probably have a PC that reads GCODE and generates motion profiles for each of the joints.
Some (most?) robots can be put in a mode where the movement commands are relative to the end effector so if you can do that it will be excellent. Then you just have to interpret the GCODE, create the motion profiles for just the end effector and the robot's controller will do all the rest to generate the joint motion itself.
-
@alankilian Thanks for your feedback. I didn't even think about the motors being servos. I can get hybrid stepper/servo drives that will work with the 1XD boards. That's what I use on my cnc.
I am going to ask this company some more questions.
-
-
@jered if you use Duet hardware with RRF firmware and the hardware is a serial robot like on your image, I currently finish a beta version for robot kinematics support, which is planned to be integrated into the RRF 3.5 version and will support this type of robots (and many other).
There is a long thread already discussing planning
https://forum.duet3d.com/topic/17421/robotic-kinematics/285and some documentation how the configuration can be done. Starting page of documentation is
https://docs.duet3d.com/User_manual/Machine_configuration/Configuring_RepRapFirmware_for_a_Robot_printer
which has a robot tag, connected to several other pages for specialized information.Your robot image seems to be a 6 axis robot, which will be supported. The 4th axis is different from a normal industrial robot, but configuration can set every axis individually by using Denavit-Hartenberg parameters (this is described on a documentation page also).
Axes 2, 3 and 4 will probably be used suboptimal with the current firmware implementation, because they are parallel, so a change to the firmware may be necessary to balance its usage, but this will be possible to be implemented. A balancing solution can be to change angles of the three axes a similar amount each for every movement, but the angle restrictions being respected.
I am not sure whether behind the filament roll is another axis. At industrial robots, there is the 4th axis, so your robot would be a 7 axis robot. This would be supported also, but 7 axis robots have more axes than degrees of freedom. I have not implemented algorithms of taking care how to optimize them yet.
-
@joergs5 Thank you, I will keep looking into this.
-
@jered said in Using Duet to control robot arm:
I can get hybrid stepper/servo drives that will work with the 1XD boards. That's what I use on my cnc.
The MB6XD board may be a better choice now, if most or all of the motors will need step/dir signals.