-
0.18.0 and GCODE devices Alpha interface released!
05/20/2016 at 17:12 • 0 commentsGood News Everyone! BowlerStudio 0.18.0 is released and posted at http://neuronrobotics.com and supports GCODE devices (kinda). You can connect a gcode device and use it as a bowler device. This means you can use it in scripts, and it is fully integrated into the LinkFactory, meaning you can make creatures with its links. In fact you can connect any 3d printer, then open the CNC controller creature and use its controls to jog your printer around!
Now the downsides. It assumes your controller is running at 115200 baud as hard-coded for now (when connecting through the UI, you can change this in the script demo). Sometimes my Marlin locks up and i don't know why. It's most likely my fault, but i can't find the bug... And the big one, all motors are limited by the max speed of your slowest stepper, that is your z stepper. This is a GCODE coordinated motion "feature" thats kinda a pain when you want to just use the steppers as a robot.
I have added a tutorial step in the hardware tutorial for the gcode devices: http://neuronrobotics.com/Bowler-Studio-Hardware/GCODEDevices/
-
Now supporting GCODE devices and the problems of GCODE as a protocol
05/14/2016 at 15:36 • 1 commentSO i have all of the basic code in to connect to GCODE devices and use them as bowler devices. I have come across a few problems. The First and biggest is that coordinated motion across more than one axis is possible, but only up to 4 axis (for Marlin) and any more axis than that need "5th axis" and "6th axis" (and so on) machining capabilities. Otherwise, no matter how many steppers your controller can drive, you will be limited to 4 by the GCODE "protocol".
Next issue is how the gcode controllers handle coordinated motion. feed rates are fed in, but used to calculate the linear translation speed of the tip. in non-cartesian situations,such as an arm, this sort of coordination can be tricky to work around. For instance, since the z motor has a much higher steps per mm, any motion that used that stepper gets speed limited to the z's max speed. This isn't a blocking issue, but it is a configuration "gotcha"
Finally, both of the issues are for standard Marlin gcode firmware. If you want to get the most out of a 3d printer controller board, a different command protocol is needed besides GCODE. I will try to put a Bowler Protocol stack into Marlin next to see how well that works.
There are still a few bugs in the gcode bridge (mostly the async position updates) and published for you all to try out in the next week or so. -
New User Interface in 0.17.0!
05/03/2016 at 20:16 • 0 commentsI have re-worked the user-interface layout system to load the FXML files using the side-load from git model i used to load the images. This should mean that the UI starts getting better much faster than before.
-
Physics Engine and Icons 0.15.11
04/17/2016 at 16:49 • 0 commentsThis release now integrates the physics engine throughout the system. Creatures can launch a physics simulation, and step through it. Icons are also featured, and are side-loaded from a git repo. At the time of release the icons are blank, but that will change over time. Send PR's to https://github.com/madhephaestus/BowlerStudioImageAssets for Icon suggestions! If you fork the repo and push your icons, BowlerStudio is smart enough to look at your icons and load them, so you can change icons and see the changes without having to recompile BowlerStudio, you can do this right from the release binary version.
-
Now you can load Git repos, not just Gist!
04/12/2016 at 00:03 • 0 commentsI added to the menues for github a set of crawlers that will show you all of your projects., watched, and personal repositories. It will clone them to the disk, then show you any files BowlerStudio cna run (based on file extention). I also added special loaders for JSON and STL files so you can load them out of the menue. I also added a feature where you cna define a new scripting langauge on the fly, but thats more of a incedental to the rest of the updates.
-
A database for Vitamins
04/06/2016 at 23:12 • 0 commentsSo i have added a new sub-system that combines the git loading and the JSON parser to load, modify and publish sets of measurements that correspond to specific parts in the real world. I have servos, steppers, bearing belts nuts and it all was compiled by Steve Kelly for a totally different programmatic cad package. Because it was isolated well, i was able to load in directly and start using the parts.
here is an example of the syntax https://gist.github.com/madhephaestus/033482ccab38baa08d9e84bf224e7823
this should be availible in the 0.15.7 release.
-
BowlerStudio on Mac
03/05/2016 at 19:11 • 0 commentsI have *finally* retrieved my mac from the box it was packed in during the move of our makerspace. Having gotten a chance to do some testing and debugging, i have finally fixed the .app for Mac OS 10.7+. I have tested it on El Capitan and the .app can e used to load BowlerStudio. You need to hold <ctrl> when clicking it because i dont yet have an apple developer ID and its unsigned.
-
A small addition of the JMF
02/06/2016 at 16:20 • 0 commentsI added the Java Media Framework to the kernel and Bowler Studio. I needed this for a script that saved a collection of images to a video file (for a security camera at our makerspace). This will also be useful for collecting sample and log data of a running robot. These log videos can also be fed back in as testing data, although i will need to add a video file image provider.
-
Re wrote the introduction tutorial
02/05/2016 at 17:57 • 0 commentsI re-wrote the first few tutorial steps that a user sees. The first few concepts relate to how the scripts run and talk to each other. Then you get introduced to devices, then some of the supporting libraries such as cad, physics and audio playback.
http://neuronrobotics.com/BowlerStudio/Welcome-To-BowlerStudio/
-
Jbullet was surprisingly easy to hook up
02/02/2016 at 03:23 • 0 commentsI updated all of the introduction tutorials and reordered them a bit. i want to give you an ide of how the system works and how you would build things with it more slowly before introduciing specific library features.
I just added a new step to the intro. If you already have BowlerStudio, just navigate here:
http://neuronrobotics.com/BowlerStudio/JBulletPhysics/
I never thought i would be so amused by a bouncing ball...
And run it. You should see a Sphere created by JavaCad animated by the physics engine. I have a lot of work to do to define chains automatically from th DH system, but i think i could model a rigid body comprised of spheres representing feet for the walking robots. If i manage to carve out some time, this library might get us a fully integrated physics engine for robot modeling with just a week or two of dedicated work.
Any physics and Java nerds want to try to do something awesome? It should be possible to implement this entirely with scripts, no editing the BowlerStudio source.
I also noticed it can run the simulation MUCH faster than real-time. I have to add a pretty serious delay to make it run a loop as slow as the simulation is sampling. I think that means doing predictive balance catching is a real possibility. As in, in this configuration, will it tip over?
This is a key piece for a robotics development platform, and i am excited to see what this makes possible.