Interoperability with URDF / Gazebo and modelling of Robots
-
Hi,
I have used OpenJScad 1.0 extensively to model various object for laser cutting or 3d printing in the past
I have recently come across Gazebo and URDF I am wondering if anybody else has and I am looking for ways to move between the two
URDF is <XML/> (Universal Robot Description Format) and could potentially be transformed into JSCON and a procedural JavaScript for JSCAD
Gazebo brings the robot to life via simple controls or a complete ROS brain
obviously with Gravity Friction and Physics Kinematics/Dynamics etc etcThere is a nice drop and drag editor for assembling geometry to make the robot
Please let me know if there is interest and how I might contribute as I will have time as I transition to retirement
Kind Regards
And
Thanks In AdvanceLaust
-
@Jason-Sprouse Not a problem. As you mentioned, the engine has to be taught first. How can we make that happen?
FYI, if the results are saved and made available on the web, then the design can be posted to the JSCAD website. I do this for my designs at Thingiverse.
https://www.openjscad.xyz/?uri=https://www.thingiverse.com/download:9621826
-
@hrgdavor Thanks for the info.
-
@RelatingData that is openscad syntax, not jscad.
-
I'm here for Generative Ai purposes, but have exposure to robotics and ROS too.
I haven't seen if this script works, but here is what I promted....."Build a motorized wake board frame in jscad."
module motorized_wakeboard_frame { // Define the dimensions of the frame. const width = 200; const height = 100; const thickness = 10; // Create the base of the frame. translate([0, 0, -thickness]) { cube([width, height, thickness]); } // Create the two uprights. translate([0, height / 2, 0]) { cylinder(h = thickness * 2, r = width / 2); } translate([width, height / 2, 0]) { cylinder(h = thickness * 2, r = width / 2); } // Create the two supports for the motor. translate([width / 2, height / 2, thickness]) { cube([width / 4, thickness, height - thickness * 2]); } translate([width / 2, height / 2, height - thickness]) { cube([width / 4, thickness, height - thickness * 2]); } }
This code creates a basic motorized wakeboard frame. The frame is made of four pieces: a base, two uprights, and two supports for the motor. The base is a rectangular prism with dimensions of width x height x thickness. The uprights are cylinders with a radius of width / 2. The supports for the motor are cubes with dimensions of width / 4 x thickness x height - thickness * 2.
Here are some additional things you could add to this code to make it more realistic:
- Add a motor to the frame.
- Add a propeller to the motor.
- Add a battery to the frame.
- Add a controller to the frame.
- Make the frame watertight.
-
@RelatingData Cool stuff! I'm sure there are a few robot fans in the user group.
And hopefully, JSCAD can help to put together some cool tools. Please let us know of anything needs to change, or if some extra functionality would be helpful