Development Roadmap
From
Milestones
- First full physical implementation
Automated frame factory prototype- Reduction of vitamins components
- Community bazaar
- VR pathfinder
- part choice, translation, rotation, enumeration
- implement verbs
- app store applications
- grid
- pickling, i/o - ser
- animation - tweening
- physics
environment models, soundscontroller modelsCSGtext edit control
- EDA tooling
- netlist
- component libraries
- package model (3D), pad shape (2D, multiple layers - including vias), wiring pinout (list), art (2D)
- Debian package
Goals
- Make Replimat Tractors
- Source components
- Write documentation
- Draw CAD
- Make Replimat controllers
- Design controller boards
- Write software stack
- Enhance wifi based on these examples: https://github.com/esp-rs/esp-wifi/tree/main/examples-esp32c3/examples
- Rewrite NopSCADlib in Rust
- Determine part data and structure
- Write exploded / non exploded views and define exploded axis and distance per part
- Define default rendering scene and colors
- MCAD equivalent functions
- Render subassemblies and assemblies exploded and non with instructions interspersed as markdown
- Translate included models / constants into Implicit3D syntax
- Mod 1 rack profile
- rack T slot profile
- pneumatic distribution block
- endstop brackets
- linear axis motor, bearing, bearing brackets
- feet
- clamp pads
- backstop spacers
- sharp angle brackets
- openbuilds plates
- nema-14/17/23/34 motor mount
- nut block
- triangular brackets
- Make Replimat frames and plates
- Gather the required materials for making Replimat frames and plates such as metal, tools, and fasteners.
- Metric frame widths: 20mm, 40mm, 80mm, 100mm
- Inch frame widths: 1 inch, 1.5 inch, 2 inch, 3 inch, 4 inch
- 2, 3, 4, 5, 10, 15, 20, 25, 30 holes long
- carbon based powder coat
- Gather the required materials for making Replimat frames and plates such as metal, tools, and fasteners.
Tasks
New contributors
This list of items is curated especially for new contributors to the project, to provide introductory projects with which to familiarize themselves with the project infrastructure, function, and development process.
- Install the replimat software and clone the replimat git repo
- Expand ferrule.scad to produce all ferrules in the accompanying datasheet
Interns
- Become familiar with the production toolchain
- Load production code and operate production equipment
- Attend group work and regular company meetings
- Outreach prep
Video production
- workstation bringup
- web dev bringup
- video production bringup
- creating / updating a project
Segments
- production montage
- cnc router
- chop saw
- packing
- use montage
- building a project
- driving a cargo cycle
- disassembly and packing away
- philosophy / voice over
- closing statement
- introduction
- pitch
- motion graphics and overlays
Director / Interviewer
- lead ins
- points of interest
Experienced contributors
- finish converting CNC router to grbl/Candle
- python script to convert FreeCAD file to STEP / STL
port CAD library to nopscadlib- implement .glb file export for OpenSCAD
implement 40mm standardmodel perforated T slot aluminum- automatic nut/bolt height adjustment when mounting plates
- add scale to renders
- parts should be indexed at first mounting hole, at origin
- model HGH20CA linear bearing as nopscadlib part
- model / find model for bicycle crank, arms, pedals
nopscadlib translation and rotation functions - translate_x, translate_y, translate_z?- nopscadlib lumber library
- implement cord library - point-to-point, curves, wires, hoses - based on NopSCADlib belt(); or sweep();
- implement fabrics library - curved flats for seats, etc
- implement linear axes in nopscadlib
- NESE module
- charge controller
- inverter / motor controller
- power cube assembly
solar panel - standard sizeshydraulic parts- acquired from OSE, need to be imported fully- motor - existing file
- VR CAD
part STL model loadingpart model positioningpart model physicshand modeling and basic controls- snap part models to grid
- enumerate loaded parts, parameters, and write out to file
- load file, placing and parameterizing parts
- load assembly of parts, snap to grid, and avoid loading any part which clobbers an existing one.
Tim
- contact Ashton about 40mm square tube
- reverse DNS
wiki script to walk the database and read every current page contentsbackup every video
- wiki script to submit an edit
- wiki plugin hooking edits for processing
Forest
Hardware:
- realtime Ethernet (UDP and maybe PTP) on microcontrollers
- implementing a DDS/DDA (numerically controlled oscillator essentially) on a microcontroller with high performance
- implementing a realtime Ethernet system on an FPGA, ideally without relying on a soft processor to handle packets
I do have a lot of ideas about using soft processors on FPGAs too, but I don't want it to be a complete crutch nor threaten the main realtime datapath
- there are a lot of PCBs that need to be designed, most of which are relatively simple or even trivial
- a lot of FPGA cores use the WishBone bus, but a lot of them also use the AXI bus (derived from ARM). I am not familiar with either one, but it seems like the AXI bus is a bit more complicated and easier to crash if you use it improperly
Software:
- I really really want to write EDA software, but it can't be our first project unless it somehow will directly generate revenue
- learn more about OpenGL to where we can write an efficient CNC toolpath previewer
- implement a non-linear constraint solver for parametric 2D CAD
- create a GUI to display/edit parametric constraints/dimensions similar to Fusion 360, SolidWorks, FreeCAD, SolveSpace, etc.
- implement a traveling salesman algorithm for toolpath generation (Tim's used space curves before to approximate it)
- implement a trajectory planner that does acceleration and maybe jerk limiting. We don't necessarily need to limit ourselves to outputting lines and arcs only, because we are in control of the hardware, not to mention you can always approximate as arcs (or lines) at the final step of post-processing
- write a replacement for dxflib for importing DXFs, and use that replacement library to implement a reusable DXF geometry importer (better than the current ones out there...)