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
For stimuli to sharp, clear thinking and good intuition also about money do a bit of G15 PMN programming daily, 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. LIST IS UPDATED AT LEAST YEARLY {ie, we have other things to do} 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. We first list 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. THE G15 PMN approach to robotics is in a development where we want to do things right, rather than achieve some operational goals fast. And at present, as you can quickly verify by glancing at the often-updated app page for G15 PMN FCM, namely there are many other programming projects going on at the same time. The development of a set of apps for gradually expanding set of robots will come after we've done more groundwork also in game and FCM programming, drawing also on the Elsketch Design program, ideas created in the G15 PMN FCM Spreadsheet program, and more. The status of the present packages which can run with G15ROBOT is that of prototype--to check some of the connectivity and some of the flow of operations. These use the AL5D SSC32U robotic arm expanded with a camera. 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. PROTOTYPE ONLY. Released in seasons to come as it is more and more complete: App# 1618999 for Lynxmotion AL5D SSC32U robotic arm w/extra camera: 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. So, the software in the triplet above concerns this excellent standard robotic arm from Lynxmotion. This robotic arm as it comes can lift sheets of paper but not many more grams; however it is a low-priced excellent example to begin work with: THE LIST Note that the list is meant to stimulate. It is not at all intended to be a comprehensive list. Worthy new projects of this kind are created all the time, and it's coincidental whether we snatch them up and put in a link here to them, sooner or later.,52447.msg374201.html#msg374201!