Skip to content

Commit

Permalink
updated all pathes
Browse files Browse the repository at this point in the history
  • Loading branch information
jgrizou committed Apr 17, 2015
1 parent 7ae0893 commit dec1692
Show file tree
Hide file tree
Showing 13 changed files with 258 additions and 3 deletions.
8 changes: 8 additions & 0 deletions hardware/parts/BOM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
| Part Name | Quantity v1 | Quantity v2 | Note |
| --------------:|:-----------:|:-----------:|:--------:|
| base | 1 | 1 | |
| U_horn_to_horn | 1 | 1 | |
| horn_to_horn | 2 | 2 | |
| three_ollo | 2 | 0 | |
| side_to_side | 0 | 2 | |
| pen_holder | 1 | 1 | Optional |
5 changes: 5 additions & 0 deletions hardware/parts/U_horn_to_horn.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include <../poppy_4dof_arm_mini_def.scad>

use <../robotis-scad/frames/U_horn_to_horn_frame.scad>;

U_horn_to_horn_frame(A);
5 changes: 5 additions & 0 deletions hardware/parts/base.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include <../poppy_4dof_arm_mini_def.scad>

use <../specific_frames/base_frame.scad>;

circular_base_frame(BaseRadius, BaseHeight);
21 changes: 18 additions & 3 deletions hardware/parts/generate_stl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,21 @@ scadArg="\$fn=$fn"
# create the stl folder if it does not exist
mkdir -p stl;

# should be automated for all file in the folder
echo "Generating partName..."
openscad -o stl/partName.stl partName.scad -D $scadArg
# should be automated
echo "Generating base..."
openscad -o stl/base.stl base.scad -D $scadArg

echo "Generating side_to_side..."
openscad -o stl/side_to_side.stl side_to_side.scad -D $scadArg

echo "Generating U_horn_to_horn..."
openscad -o stl/U_horn_to_horn.stl U_horn_to_horn.scad -D $scadArg

echo "Generating horn_to_horn..."
openscad -o stl/horn_to_horn.stl horn_to_horn.scad -D $scadArg

echo "Generating three_ollo..."
openscad -o stl/three_ollo.stl three_ollo.scad -D $scadArg

echo "Generating pen_holder..."
openscad -o stl/pen_holder.stl pen_holder.scad -D $scadArg
6 changes: 6 additions & 0 deletions hardware/parts/horn_to_horn.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
include <../poppy_4dof_arm_mini_def.scad>
include <../robotis-scad/ollo/ollo_def.scad>

use <../robotis-scad/frames/horn_to_horn_frame.scad>;

horn_to_horn_side_branch(C);
5 changes: 5 additions & 0 deletions hardware/parts/pen_holder.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include <../poppy_4dof_arm_mini_def.scad>

use <../specific_frames/pen_holder_frame.scad>;

pen_holder_frame(D);
5 changes: 5 additions & 0 deletions hardware/parts/side_to_side.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include <../poppy_4dof_arm_mini_def.scad>

use <../robotis-scad/frames/side_to_side_frame.scad>;

side_branch(B2);
5 changes: 5 additions & 0 deletions hardware/parts/three_ollo.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include <../poppy_4dof_arm_mini_def.scad>

use <../robotis-scad/frames/three_ollo_frame.scad>;

three_ollo_side_branch(B);
79 changes: 79 additions & 0 deletions hardware/poppy_4dof_arm_mini.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
include <robotis-scad/ollo/ollo_def.scad>
include <robotis-scad/dynamixel/xl320_def.scad>
include <poppy_4dof_arm_mini_def.scad>

use <robotis-scad/dynamixel/xl320.scad>;

use <specific_frames/base_frame.scad>;
use <specific_frames/pen_holder_frame.scad>;

use <robotis-scad/frames/side_to_side_frame.scad>;
use <robotis-scad/frames/U_horn_to_horn_frame.scad>;
use <robotis-scad/frames/three_ollo_frame.scad>;
use <robotis-scad/frames/horn_to_horn_frame.scad>;

use <MCAD/rotate.scad>;


module poppy_4dof_arm_mini_v1() {
circular_base_frame(BaseRadius, BaseHeight);
xl320();
translate_to_xl320_top()
verticalize_U_horn_to_horn_frame(A){
U_horn_to_horn_frame(A);
xl320_two_horns();
translate_to_box_back()
translate([0,OlloSpacing/2,0])
rotate([180,90,0])
add_three_ollo_frame(B)
rotate([0,-90,0])
translate([0,MotorLength-MotorAxisOffset-ollo_nLayer_thickness(1),0]){
xl320_two_horns();
rotate([0,-90,90])
add_horn_to_horn_frame(C)
rotate([180,-90,0]){
xl320_two_horns();
translate_to_box_back()
translate([0,OlloLayerThickness,0])
rotate([0,90,180])
pen_holder_frame(D);
}
}
}
}

module poppy_4dof_arm_mini_v2() {
circular_base_frame(BaseRadius, BaseHeight);
xl320();
translate_to_xl320_top()
verticalize_U_horn_to_horn_frame(A){
U_horn_to_horn_frame(A);
xl320_two_horns();
rotate([180,0,0])
add_side_to_side_frame(B2)
rotate([0,-180,0]){
xl320_two_horns();
rotate([0,-90,90])
add_horn_to_horn_frame(C)
rotate([180,-90,0]){
xl320_two_horns();
translate_to_box_back()
translate([0,OlloLayerThickness,0])
rotate([0,90,180])
pen_holder_frame(D);
}
}
}
}
// Testing
echo("##########");
echo("In poppy_4dof_arm_mini.scad");
echo("This file should not be included, use ''use <filemane>'' instead.");
echo("##########");

p = 1;
if (p==1) {
poppy_4dof_arm_mini_v1();
translate([100,0,0])
poppy_4dof_arm_mini_v2();
}
12 changes: 12 additions & 0 deletions hardware/poppy_4dof_arm_mini_def.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
include <robotis-scad/ollo/ollo_def.scad>
include <robotis-scad/frames/frame_def.scad>
include <specific_frames/specific_frame_def.scad>

BaseRadius = CircularBaseFrameRadius;
BaseHeight = CircularBaseFrameHeight+FrameTolerance;

A = 25;
B = 51;
B2 = 81;
C = 102;
D = OlloSpacing+FrameTolerance;
65 changes: 65 additions & 0 deletions hardware/specific_frames/base_frame.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
include <specific_frame_def.scad>

include <../robotis-scad/frames/frame_def.scad>

include <../robotis-scad/dynamixel/xl320_def.scad>
include <../robotis-scad/ollo/ollo_def.scad>
include <../robotis-scad/ollo_segments/ollo_segments_def.scad>

use <../robotis-scad/ollo/ollo_tools.scad>
use <../robotis-scad/ollo_segments/ollo_straight_segment.scad>
use <../robotis-scad/ollo_segments/ollo_elbow_segment.scad>
use <../robotis-scad/ollo_segments/ollo_xl320_segment.scad>;

use <../MCAD/rotate.scad>;

module side_branch(height, nLayer, width) {
thickness = ollo_segment_thickness(nLayer);

rotate([0,0,90])
translate([0,-1.5*OlloSpacing,0])
ollo_xl320_side_start_segment(nLayer, width);
translate([0, width/2, 0])
ollo_straight_segment(height-width/2, nLayer, 4*OlloSpacing);
}

module base_frame(height, nLayer=1, width=OlloSegmentWidth, tolerance=FrameTolerance) {

thickness = ollo_segment_thickness(nLayer);

translate([0, -1.5*OlloSpacing, 0])
rotate([-90,0,90]) {
translate([0,0,-MotorWidth/2-thickness/2-tolerance])
side_branch(height, nLayer, width);
mirror([0,0,1])
translate([0,0,-MotorWidth/2-thickness/2-tolerance])
side_branch(height, nLayer, width);
}
}

module circular_base_frame(radius=CircularBaseFrameRadius, height=CircularBaseFrameHeight, nLayer=1, width=OlloSegmentWidth) {

thickness = ollo_segment_thickness(nLayer);

base_frame(height+thickness);
translate([0,0,-height-thickness])
cylinder(r=radius, h=thickness);

}

// Testing
echo("##########");
echo("In base_frame.scad");
echo("This file should not be included, use ''use <filemane>'' instead.");
echo("##########");

use <../robotis-scad/dynamixel/xl320.scad>

p = 1;
nLayer = 1;
if (p==1) {

circular_base_frame();
xl320();

}
39 changes: 39 additions & 0 deletions hardware/specific_frames/pen_holder_frame.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
include <specific_frame_def.scad>

include <../robotis-scad/frames/frame_def.scad>
include <../robotis-scad/dynamixel/xl320_def.scad>
include <../robotis-scad/ollo_segments/ollo_segments_def.scad>

use <../robotis-scad/frames/U_three_ollo_to_horn_frame.scad>
use <../robotis-scad/ollo_segments/ollo_straight_segment.scad>
use <../segment-scad/elliptic_segment.scad>

use <../MCAD/rotate.scad>;

module pen_holder_frame(length=OlloSpacing+FrameTolerance, innerDiameter=PenHolderInnerDiameter){

U_three_ollo_to_horn_frame(length, OlloLayerThickness/2);

rotate([90,0,0])
translate([0,-OlloSegmentWidth/2,-length+ollo_segment_thickness(1)/2])
ollo_straight_segment(OlloSegmentWidth, 1, MotorHeight);

rotate([90,0,0])
translate([0,-OlloSegmentWidth/2,-innerDiameter/2-length])
elliptic_segment(OlloSegmentWidth, width=innerDiameter+2*ollo_segment_thickness(1), heigth=innerDiameter+2*ollo_segment_thickness(1), wallThickness=ollo_segment_thickness(1));
}


// Testing
echo("##########");
echo("In U_three_ollo_to_horn_frame.scad");
echo("This file should not be included, use ''use <filemane>'' instead.");
echo("##########");

use <../robotis-scad/dynamixel/xl320.scad>

p = 1;
if (p==1) {
/*xl320();*/
pen_holder_frame();
}
6 changes: 6 additions & 0 deletions hardware/specific_frames/specific_frame_def.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
include <../robotis-scad/frames/frame_def.scad>

CircularBaseFrameRadius = 50;
CircularBaseFrameHeight = MotorHeight/2;

PenHolderInnerDiameter = 12;

0 comments on commit dec1692

Please sign in to comment.