Good evening all, first time poster, and pretty excited to try and get my robot to work in more than one joint moves at a time.
I am a relatively new hobbyist owner of a CRS F3 6 axis robot arm. So far with the 20+ year old programs and controller all I have been able to accomplish is single axis moves , one at a time.
I think this robot replaced the CRS A465 ( in ROBODK library) Also If I understand correctly...? The KUKA KR3 is a
RE-badged CRS F3 robot, the exact same in all dimensions and specs (except the controller).
I have a CRS C500C controller, the CRS F3 arm, a CRS STP-500 teach pendant ( with a bad display), and a 20+ year old copy of CRS Robcomm3 software running on a Windows XP laptop. I also have a terminal emulator running on a PUTTY windows 10, and what I hope is a good running copy of ROBODK on the same windows 10 laptop.
I have gone through enough of the ROBODK tutorials that I hope I am ready to try and send a honest to goodness real ROBODK program to the CRS F3. I have prepared a very basic 4 move program in ROBODK using the CRS A465 from the ROBODK library.
I am a little scared to try. I can not seem to find a post processor for the CRS robots.
So my question is . Well I have a bunch of questions. But if / since the CRS A465 is in the library does that mean there is a post processor for it??? The dimensions and movements of the CRS A465, and the CRS-F3 are similar, but not exact. I believe the dimensions and movements of CRS F3 and the KUKA KR3, are an exact match. so if there is not a CRS post processor can anyone help me to make a post processor by combining the CRS A465 (language) and the KUKA KR3 dimensions???
The reason I am a bit scared, is I don't want to mess up the C500C controllers original settings or the original CROS language, as I don't think I am capable of restoring the old settings if I mess them up.
I have tried to use the original CRS Robcomm3 software, but I just can't figure out the correct syntax to get through to the controller I can not seem to get past CRS proprietary language , with users , applications and shells.
to clarify a bit, my robot is the same as the KUKA KR3, NOT the kr3 R540.
I generated the program , and I got the following headers that state the program will not run on the CRS controller. so does this mean I am out of luck??
// *** WARNING: Invalid license or undefined post processor to generate code for CRS A465***
// *** The following program will not work on the CRS A465 controller ***
// *** For more information: http://www.robodk.com/help.php#PostProcessor ***
good morning Albert, thanks for getting back to me. please see linked below all the guides and manuals I have been using. I guess I am a little fortunate that this robot was used as educational quite a bit. The second link I just found a few days ago and I have not explored fully, But it may have the CAD files for the arm. Also I could not get KUKA to admit it, but I still think the KUKA KR3 was made for KUKA by the CRS company in Canada. I am almost 100% sure on that. In the KR3 pictures I have seen the 2 robots are identical except for the paint. So I hope the CAD files for the KR3 will work.
When you say " CAD files for the robot ", you mean the exterior dimensions and movement limits correct?
On the guides. I have been getting little bits of info from almost all of them, but so far the best ones are the applications guides, the C500C, CROS, and the F3 guides, so 3 thru 8 on the index list.
I sent you a picture of my robot on March 5, when I was working with you all to get my ROBODK license.
As I said earlier, I have been getting hung up on the syntax to get through the Robcomm3 language and the terminal. I have made a few terminal programs, and Robcomm3 programs. I failed to get them to load from the terminal or compile in Robcomm3 because of the syntax, I am getting hung up between CROS system shells and applications shells.
It would be great if you can provide the steps you were able to accomplish so we can better understand where you are and what needs to be developed. We'll be able to better help you point in the right direction.
Looking at the information you gave us it would be great if you can provide the following:
Useful terminal commands to interact with the robot
Sample robot programs that you generated from the robot
Does it use an Euler convention to specify target orientation? If so, which one?
You should be able to share files through the forum. We added the CRS F3 robot to our library. It is simply the same as the KUKA robot with different colors (you can change the colors by using Tools-Change color tool).
Hello Albert, thanks for your continued help. I am going to say YES Euler convention applies, if I understand correctly? Is Euler the same as X, Y, Z, ? If so CRS calls it the " world coordinate system " I have not tried to use this type of move yet.
Also you can move single joint at a time by degrees ( move joint 1, 30 ) moves the waist 30 degrees positive, if you repeat you get another 30 degrees. If you want to go back where you started from there, you can use ( move joint 1, -60 ) and that will get you back where you started from.
Also you can use servo motor encoder counts ( motor 1, +4500 ) moves waist 4500 encoder pulses
I think your request for terminal command's might best be from the application shell user guide starting on page 31
the below sample code is a copy from the RAPL-3 user guide page 25. this guide is linked in Post 4 above . The fonts did not copy over so it is easier to read in the actual user guide
a list of system shell commands are on the CROS user guide page 19
a list of some other command language is on page 139 of the RAPL-3 user guide
a list of application shell commands ( I think these are what you want ) starts on page 31 of " application shell user guide " the 90 page version
I hope this is helpful. I am going to look into a world coordinate move later this evening
thanks again for your help
Example 2: Basic Program in Preferred RAPL-3 Style
A basic program can contain
• a main function
• a subroutine
and follow the preferred style of RAPL-3
• explicit declarations of variables, including teachables
sub io(int out_channel, int out_state, int in_channel)
until (in_state) == 1
int i ;; explicitly declare variables
teachable int fast, slow, cycles ;; explicitly declare teachable variables
teachable cloc safe, a, b ;; explicitly declare teachable locations
for i = 1 to cycles ;; use a for loop
;; cycles is teachable, set outside
Our hacklab also has a CRS F3 robot arm that we are trying to make use of.
I'm currently experimenting with ROS MoveIt package, but perhaps we can still help each other.
I don't have any of the associated Windows software available, but through the serial port terminal there is a CROS language compiler available.
My intent is to write a simple program in CROS that can receive coordinates (in joint-space) and move the arm, and then control that from whatever software on PC.
So far I've written some tools to transfer files to the controller (I guess robcomm could do this also).
My work is available here: https://github.com/PetteriAimonen/crs-c500c-utils
Regarding the controller software, it has a battery backed SRAM ramdisk, and a flash chip.
Mine seems to have all the basic utilities in flash, and if it loses the battery or you mess up, you can restore from there.
hi JPA, sorry for the delay. i guess i did not see your reply last time i checked in on this. i had to back burner my CRS F3 work for a bit. i guess i did not provide enough information to the ROBODK team for them to help with a post processor. I have a ROS friend, who tried to help a bit, but from what i understood, making a whole new set of reverse kinematics for ROS would be a fair amount of work, and i did not want to have to duplicate that work, Since i think i have those kinematics stored in the CROS.
i did manage to get a copy of Robcomm3 and CROS. BUT i can't get that to work, as there is a version mismatch between my new copy of CROS , and what CROS is already installed on my controller. The guy that supplied the software said to never ever update my CROS on my controller. i assume that mucking about with the already installed version of CROS on my C500C could wipe out my copy of my kinematics. I am not proficient enough with computers , so this effectively scared me off from trying to re-load a new CROS copy on my C500C.
What i think needs to happen , for me; is i need a matched copy of CROS on the controller and the programming computer which i have, but i am afraid to try and install on my C500C because of the potential to lose the kinematics
i have a acquaintance in NZ who is in the same predicament, but he was willing to try the CROS update on his controller, I have not heard back if he had any success.
so for now i can write programs on Robcomm3, or a PUTTY serial emulator, but the programs will not send to the controller because of a version mismatch message.
So in maybe even a working ROBODK post processor might not work for me .
Do you have access to the CRS user guides? let me know how you get on with this, as i still want to get my arm to do some work. also i want it to work with G-code as well
(09-05-2019, 04:54 PM)roboterxj Wrote: I have a ROS friend, who tried to help a bit, but from what i understood, making a whole new set of reverse kinematics for ROS would be a fair amount of work, and i did not want to have to duplicate that work, Since i think i have those kinematics stored in the CROS.
i did manage to get a copy of Robcomm3 and CROS. BUT i can't get that to work, as there is a version mismatch between my new copy of CROS , and what CROS is already installed on my controller.
The guy that supplied the software said to never ever update my CROS on my controller. i assume that mucking about with the already installed version of CROS on my C500C could wipe out my copy of my kinematics. I am not proficient enough with computers , so this effectively scared me off from trying to re-load a new CROS copy on my C500C.
Do you have access to the CRS user guides?
ROS has quite generic kinematics generator for robot arms. I had to convert a 3D model for it and make an XML description file with the exact positions of the axes. Because CRS F3 is mechanically the same as original Kuka KR3, I found the 3D model on Kuka site. The model for ROS is available here: https://github.com/ros-industrial/kuka_e...l/pull/159
I still have a bit of trouble with bytes getting lost in the serial communication for some reason. After that, implementing the side for ROS to control the robot should be quite straightforward. Then I'll still need to implement something to read G-code and pass it to ROS, as it seems there isn't anything ready made for that.
If you have a serial terminal, you can just use that to copy RAPL-3 files to the robot, compile them with r3c there and run, no need for robcomm3. The way I've done it is to first copy uudecode.r3 utility to the built-in editor, and after that it is easier to paste other files by uuencoding them first.
It'll probably take a few months more before I'll have anything complete, but I intend to write a tutorial on this eventually. I've collected all the manuals I've found here: http://jpa.kapsi.fi/stuff/other/crs_robot/