Software / Control
Are you (or anyone else here) able to provide a tutorial or some good references to get started with programming this robot and how you controlled this robot with the gamepad in your video.
I would really like to start learning how to control the robot now so that once I have finished building it I can actually use it 🙂
Hello, a good question.
- Go to github page and download a RoboDk postprocessor.
- Extract the file Arctos.py in RoboDK installation folder.
- Here is mine location: F:\RoboDK\Posts
- Make a program for desired trajectories in RoboDK
- Right click on Prog1 (in design tree) and choose "Select a Post Processor" and then select Arctos
- Right click on Prog1 and select "Generate robot program"
It will open a Visual Studio Code with the g-code.
It should look something like this:
G90 X 39.85 Y-26.32 Z -20.15 A 41.39 B 92.60 C 56.24
G90 X -16.52 Y-20.62 Z -38.41 A -74.55 B 96.52 C -58.13
G90 X 0.00 Y0.00 Z 0.00 A 0.00 B 0.00 C -0.00
G90 X 0 Y 0 Z 0 A 0 B 0 C 0
- Download and install the UGS (Universal Gcode Sender)
- Connect the robot by selecting propper COM port and baudrate: 115200
- For the configuring the joystick go to: Tools>Options>UGS>Joystick and
check the Activate joystick. You can also configure what each button does.
This really needs a propper tutorial as you suggested.
Thank you for the instructions, exactly what i was after 🙂
Do you have a robot file for RoboDK? or do you just use the online library for robots and choose a similar model?
If you do choose a similar model, do you have to set limits for the robot? like how far it can move in each direction?
Two questions:how does the arm find its zero position? There are no end stops, and if I see this correctly, the motor drivers don't have feedback either?
Also, is there an Inverse Kinematics model or formula yet? Do you have the distances and orientations of all six axes?
1. Since I wanted to make something quick and to upgraded as the project envolves I excluded the limit switches (also I hoped that the homing will be solved with the encoders). Later as I discussed with some other robot builders I came to the conclusion that encoders (MKS Servo42C) will be suitable just for the skipped steps, but not the actual error the robot will make. So for that reason at this stage robot is completely open loop. Knowing that I marked all axis with arrows and axis name for each joint. And I manually move the axis untill the arrows meet, so that I know I'm in the zero position. After that I just zero position in UGS and work from that. Unexpectedly all axis (except axis 5) stays at that position even after the power is switched off.
2. I made some inverse and forward kinematics by hand (which are not tested yet) and I can provide them.
Also I just made update on github repository https://github.com/ArctosRobotics/RoboDK and added a robot station.
Just download it and import in robodk and you are good to go.
Also here is the DH parameters if you plan to use other software.
@digitalvulcan don't know if you'll get notification, but I just made a reply down there.
Thank you @admin this is very informative, exactly what I was after. Now i just need to figure out why my arduino wont talk to UGS, it works when i open the serial monitor in arduino IDE and i can see grbl prmpt and get/send commands, but when i click connect in UGS it just stays on connecting with 0x18 in the console 🙁
You are welcome.
Make sure that you have closed the arduino ide. Maybe the arduino is trying to communicate to the two apps at once.
Worked it out, for some reason i have to press the reset button on the Arduino after connecting to it with UGS...