Open Robotics with Open Electronics & Open Software The G15 Open Robotics Manifest: "Robots aint smart, only handy" "A pretty robot is an ugly robot" "Only an ugly robot is good-looking" "Human jobs are exclusively for humans; the only jobs robots can do are the inhumane ones" "Robots don't understand--ever They just react" --S.R.Weber [formulated in 2016, see also FCM] It follows from the manifest that humans must have first-hand control over what goes on inside the controlling computers of robots and that, therefore, we can speak of Open Robotics and generally follow the principle of having Personal Computers cabled to the robotic motors and sensors, these PC's equipped with human- understandable software. a no-nonsense practical text & link page, but also with original open source downloads, unique new relevant robotics programs by S.R. Weber in the elegant programming language G15 PMN mostly English, some Deutsch also!
For stimuli to sharp, clear thinking and good intuition also about money do a bit of G15 PMN programming daily, here's full version G15 PMN for Microsoft Windows: Those who wish more features should get the G15ROBOT package linked to below. It is exactly the same G15 PMN, but it also can control hardware in various ways; and it also has image-conversion utilities and can easily make screencopies and is a useful supplement for those who use G15 PMN on a home personal computer in any case. Open robotics is about first-hand thinking not just about electronics, not just about programming, not just about chips, but about the whole detailed control of robotic motors and sensors in a safe, holistic way, that stimulates us in education situations; that is useful in hobby and in professional situations; and that engages a non-hyped scientifically cool language without talking blah-blah about 'self-awareness' and 'intelligence' or 'learning' when it comes to these little algorithms. When the commercial inexpensive robots are easily available, we must protect the openness--noncommercial meaningful programming languages having open and good control over what goes on in the robots--and not accept that closed packages, closed hardware, closed control system are going to dominate. We want control via the normal standard classical PC, PC laptop or PC desktop, in some way, rather than merely poking into a little chip. Our own programming language, G15 PMN, is of course intended to be at the center of our own works in robotics, by open source FCM programming there. The core package is G15ROBOT and listed first; and apps for FCM control of the most standard available robotarm and full-robot products for eg hobby/educational/research use, and for nice definite professional ethical tasks. After this, the socalled 'wild' list. Note that the concept "open robotics"--though it has been used by many--is, of course, a concept which is in continual change, it is open, and is part of an exploration. Our own approach, of course, is that of first-hand connectedness to what is done, and a non-hyped cool language, not glorifying nor mystifying what computers are all about--and a willingness to say that robots are there to serve life, not imitate life; so they shouldn't look bionic, they shouldn't ever be 'android'; they should be programmed to work in definite contexts, where definite rules apply, and in an ethical context; and looking like robots--squarish and nice. Belted wheels, rather than imitation legs; control by PC and by menues, not by voice commands nor by overcooked specialised computers inside them.'s Open Robotics Maintained by S.R. Weber
Links in the 'wild list' are (mostly) in coincidental sequence. Hope they are useful! You can suggest more links: s r w @ a v e n u e g e . c o m Link-list updated occasionally. Aristotle would have agreed to the following sentence: the wild list is a wild list for it's kind of logic he would easily agree to. Ie--to translate logic into semanics: it's very useful indeed to research in. The wild list beneath is a potpouri. Check quality yourself. Some are oriented towards those who are building stuff, mechanical and electronics. Some of it is software oriented; some of it extremely specific. Some nearly toys, some as costly as cars; and interesting stuff exists on the continuum in between and beyond. Proudly, we list first the G15 PMN programming language expanded at some points to enable hardware control of robots in Windows: Please read beneath in the hints list for how to best put the stuff, including the background loops for image conversion, to use, and note the 'workaround' (or what we shall call it) mentioned there, which is relevant for some Windows systems. The two next .zip links form a triplet with the above language package. So, here put G15ROBOT to use via an RS232 module we have made for G15ROBOT and which connects especially easy to the standard SSC32U robot controller card. Explanation follows. In the first G15 PMN app for G15ROBOT, we connect to the standard robotic lightweight arm Lynxmotion "AL5D SSC32U without software" from You also need to mount a light camera on it, as the first essential input mechanism that the G15 PMN FCM app assumes. To run any such G15 PMN app for AL5D SSC32U and similar you need a general RS232-package (it works over USB cable thanks to this inbuilt feature of the elegant SSC32-U card). We have made such a package here--read its al5app_readme.txt (click) first. Here's the RS232 package itself--can be used for many other purposes, contexts and languages. The is unzipped into same folder as the G15ROBOT above, please read the readme.txt before unzipping it: Hints: when you have rebooted your PC, and you're about to plug in the recently powered-up SSC32U card--or another robotics device like it-- then, here are some hints. But before you use any of these hints, and also any of the G15ROBOT software, remember that you do this on your own responsibility. A robot-arm may or may not jerk in wierd positions when you experiment with software for it. For robot-arms that not made to handle these positions, they may come to damage. "Dry-try" all extreme positions before you plug it in. * let Windows start up fully before you connect any robotics USB to it. * if you use a USB-splitter, eg one that gives you four USB female connections, it may be that Windows more quickly will enable it if you use it for other things than the controller card and have it plugged in during power-up. * when you plug in the USB cable, the little leds at the (SSC32U) card near the USB plug should give a blink. If they don't, unplug, and after some seconds plug it in again. They must blink for the card to be ready to communicate. Plug it in snappily, that's the best way in general with USB. * when you start up software to connect to the card, then, if there is no connection, unplug it, wait a little, and plug it again (as you would with a pendrive). * for still more refresh without rebooting Windows, after unplug of the robotic device, power it off, then on again after enough seconds, and replug it. * when you use the G15ROBOT.ZIP with the AL5APP.ZIP RS232-package, with the USB-cable to the SSC32U card, then you do NOWCOMUP each time you replug it, and COMDONE before you unplug a working connection to it. * if the robot-arm gets overloaded, the leds on the SSC32U card will start to blink, indicating that some refresh of the arm is required. When this is the case, don't use COMDONE, because it will too easily jerk the arm to an extreme position. Rather, with great care (and, if you wish to do it the safest way, with powered off robot-arm), lead it back to approximately its 'home' position. Then--though it may still jerk to an extreme position, sometimes--do NOWCOMUP. Obviously, good robotic programming is also about knowing what combinations the servos and motors are best handling, and in what situations. To increase the gram-handling capacity of the AL5D arm, you can put some counter-weight (see image of it below) on the other side of the robotic elbow. * NOWCOMUP can be done twice, when the first seems to nearly contact it. * And, very valuably: NOWCOMUP can even be done while a G15ROBOT program runs in the background, to re-establish contact with the robotic, supposing that it is more or less in its home position. It can even b e called from the G15ROBOT program when, through the camera, it is clear that eg a robotic arm is not responding, though it may need external help so that it gets back to its home position. * by analogy for other robotic parts and equipment * only when the robotic equipment is still performing well should COMDONE be performed, and then only for such equipment that should have its home (or 'middle') position called on * obviously, sometimes, it's best to power off the PC as well as the controller card and do it over again. * when there's a really light robotic element and you take responsibility yourself and you have experience you'll find that such as the AL5D SSC32U can get back into track by manually correcting the position of the arm towards the home (or 'rest', as we call it) position And here's a workaround or what we call it for the G15ROBOT's CAMBMP3: * when you use the G15ROBOT.ZIP and its CAMBMP and CAMBMP3, then there are repeated calls to a conversion of camera input. One of these conversion routines, bmpgreenx3, is called from CAMBMP3 again and again. When that many calls, in loop, goes to a program that normally works quite perfectly every time, then, for some programs, made in some ways, there's a slight memory-gobbling effect, when performed in a Terminal in this way (leading to 'runtime error 5' or the like). This, however, isn't really an error since the loop has many more conversion calls than necessary pr minute, and since by far most of these calls work perfectly fine. In other words, the memory issue is self-solving and that 'runtime error 5' in one of the background Terminals performing a really perfectly functioning loop can simply be ignored. * when you use a slow PC with these routines, check out the slightly modified .bat files included with the app listed just next * this app listed next has also some extra hints in its included documentation and has programs that are written for pedagogical clarity as to FCM content, with many comments Thirdly, get a suitable G15 PMN app to work with G15ROBOT and the RS232 connection above. The G15 PMN app contains G15 PMN source code, which is compiled at the moment you wish to perform it. This app is ALSO unzipped into the same folder as above. The al5app_readme.txt should suffice to get you going, where the documentation inside the app should contain whatever is necessary of additional info. Released gradually as it is more and more complete, but you can begin to work with this robotics software already now: App# 1618999 for Lynxmotion AL5D SSC32U robotic arm w/extra camera: PROGRESS: In its present release, 18. December 2016, the programs to check, first the individual servos, then also the assembled AL5D kit, with or without extra balancing material mounted on the arm are done. At K:5000 there's an FCM pattern matching program in progress, with the elegant FCM interface which is part of Third Foundation G15 PMN (included). The app# 1618999 with G15 PMN's FCM in the Third Foundation is an example of the combination of strength and flexibility that FCM provides, a truly level-network oriented type of process programming, beyond the old boundries of object oriented hierarchical programming altogether. K:5000 is written so that it can be of value to those who wish to learn to make FCM programs, and things are kept simple and with comments all along. K:5000 involves the possibility of entraining the robotic arm and camera to fit a particular task you wish it to do, on simple premises suitable for pedagogical learning of FCM programming. Once you have entrained your Lynxmotion AL5D arm with camera with this program to do a simple task, it may look rather like the data which comes along with K:6000. K:6000 is the same program as K:5000, but with data that tells the arm to pick up a cookie, check that it got it, and put it somewhere else. The simple pattern matching included with this program blazes the trail for more advanced FCM pattern matching in which there is a bit more independence from the exact environment features here matched upon. The app#1618999 is the first G15 PMN app for Lynxmotion AL5D. It has FCM and it involves simple pattern matching and task organisation suitable for this extremely lightweight arm; and the program is adaptable to arms which can handle kilograms with the same ease as AL5D handles grams--for which we will release separate apps, in due course. This is how the initial checking of the servos (ie, robotic motors with servo mechanisms inbuilt) may look, before you have screwed together the AL5 robotic arm kit itself--note the G15 PMN display in the background, relaying input from camera, and giving instructions to the servos to vary their movement freely (one of the servos is on top of a rotating one, a big one is resting on the laptop itself, and a couple more servos are hidden between the PC and the front servos--but they all move as the G15 PMN program at K:1000 in the app#1618999 performs): Here's the assembled AL5D SSC32U to which we have added a light camera and some balancing elements (of wood), and we're running the second program in the 1618999 G15 PMN app, which gently varies the servos independently and according to how much they ought to be varied when screwed in place in the arm: Then we start up the FCM part of G15 PMN and put something of the camera input to symbolic form on top of the FCM foundries, this is the starting-point of the K:5000 program when the camera is correctly adjusted in the 1618999 G15 PMN app: This triplet (the three .zip's just linked to above) can, with modifications, which are to some extent fairly straightforward, be obviously of use also to those who use the splendid and versatile SSC32U controller board in other robotic connections. Robotic arms like AL5 are obviously not as strong as industrial robotic arms, which also are listed on this page (but most of those of industrial capacities typically cost twenty to thirty times as much). An AL5D handles 50 gram in all main positions and some times that when programmed with insight into gravitation and how forces distributed and such. We will go up considerably in strength of robotic arm after we've also got tracked wheels on this one, and pair the AL5D robotic with this strong robotic arm for professional production work such as when we want to make Avenuege fashion items. Expect a lot more G15 PMN apps, with FCM all the way!!! The completed G15 PMN apps for robotics are both on this page and on our There are a couple further robotics news links somewhere on our search engine portal page. So, the software in the triplet above concerns this excellent standard robotic arm from Lynxmotion: The big list comes next--and note that our own comments above as to what we consider to be the most meaningful approach to robotic design may or may not have anything to do with each listed element in what follows! The wild list -- have fun with it!,52447.msg374201.html#msg374201! Francais: (There are also French etc versions of many of the above websites, available as links inside them.) Dutch: Svensk: Norsk: