Wednesday, September 16, 2015

Lidar - motor mount added

Since I have been really busy working on other embedded projects, it has been a little difficult for me to finish up the lingering project over the last few weeks. However, I was able to finally had the motor mount, additional pulley and improve the inner fasteners.


The full stand is about 4.5" high and about 5-6" wide. It is still reasonably sized. Mounting it on a robot should be the interesting part. I am still playing with the optical interrupt triggers. Maybe I will get more time soon...


Tuesday, August 25, 2015

stereo_cyclops cad posted...

I just added the cad model to the jetbot repository. Obviously, if you are an onshape user, you can copy the entire workspace and edit the model at your heart's content.


Search for 'stereo-camera-case' to find the model. 3D prints away!


Sunday, August 16, 2015

stereo_cyclops released...

I posted stereo_cyclops, in the spirt of hacking, for all makers and the open source robotics community.

github.com/hhony/jetbot

It is a jetson compatible repo, for building a stereo camera, nickname: stereo_cyclops.


Sunday, August 2, 2015

Lidar - full redesign

After the first prototype print, I found several mechanical issues which could have been avoided had I taken the time to rethink the placement solution. I redesigned the quadrature encoder wheel to be something closer to what a shaft encoder (in principle) would do. 

I have also considered using an absolute encoder and gear ratios. I know that I have less to worry about in regards to 'belt slip' with the use of a timing pulley. However, I am always concerned about the wear and tear causing slip than anything else. The most common mistake when building a timing pulley system is tightening the belt too tight. This will eventually deteriorate the belt and slip will be introduced before belt breakage occurs.

Obviously the best redesign of the entire solution (if I were not already committed to using off-the-shelf components) would be to redesign the slip-ring itself... I have considered this task, several times already. 



The main issue I have against redesigning the slip-ring is that: 

  1. I would not be using off-the-shelf components which would be easily source-able for anyone else to build one of these. And... 
  2. I have been down this road before on another robot. Designing a slip-ring can become hard to manufacture... but I might take another stab at it eventually (with all my lessons learned up front).



I oriented the optical interrupters to be above each other. Overall I think the height increased by 5mm or so in Z... it's not a bad trade off since the horizontal is about 9mm shorter in X now. I also drastically increased the wire feed hole through the lidar case mount - through the top). Unfortunately it is not visible from the above view.



I also added zero-ing text so it is easier to explain the quadrature encoding to others. I had so many people ask me where zero was, I decided to just make it visible for all to see, rather than searching the entire part for the misaligned holes.



So, now I feel the quadrature encoding is much more clear for others from the above picture.

Wednesday, July 22, 2015

Lidar - printing design without support material

For having zero mechanical degree, I can't really complain with the utility at which I've applied my art degree from a former career. There is a certain part of the manufacturing process which relies on general aesthetics and functionality in order to design something that looks like it will work. 

I have separated the spinning assembly into 5 components now. And the fact that I don't even have to use support material anymore means that the prints are looking great. 



Shortly after my last post I redesigned every piece of the top assembly to print on a flat surface. I have a strange attraction to components with tabs... there's something surprisingly satisfying about your 3D printed part just snapping together just moments after it is off the print bed.



The encoder wheel has a groove in the bottom with a few mounting tab slots (above in green color). The encoder ring that isolates the two optical detectors, just slides right into the bottom of the part. It will need a few small epoxy beads on the above tab insides. And the rest is smooth printing all around.



Next tasks:

  • Design motor mount
  • Design motor shaft coupling pulley
  • Modify existing lidar base to accomodate motor mount
  • Print and start coding

Tuesday, July 21, 2015

Lidar - mount threaded...

Redesign of the encoder wheel needed to happen today. I did fit the parts and I'm quite proud of how it is turning out. 



The mounted pulley is flush just like the CAD. However, I found an issue with the support material because my second pass on the design just wasn't good enough for manufacturability. I need really flat surfaces from the raft on the encoder to improve the overall print quality.


I have separated the pulley pins into threaded rods, and I am using them to the mount the lidar on top of the pulley as well. 


The isolation ring on the bottom has become it's own slip in part. I will likely have to epoxy it into the channel for now. This will provide prints with zero support material for the encoder wheel - and this should reduce the noise on the sensor by quite a lot. I may add snap tabs (like I already did for the lidar mount).


The top of the pulley also has the three snap tabs. I am quite please with how these turned out. They snap right into to the lidar mount and the fit is pretty snug. I seem to have sized it very closely.


Friday, July 17, 2015

Lidar - 1st pass, and improvements

The print came out great, for such a complicated shape. Part of this exercise is to push the limits of the printer, and the other part of this exercise is to design it better for printing based on what is discovered in the process.


Problem spots which were noted at time of beginning to print:
  1. The mask for the encoder emitter detector sensor makes printing this structure with the modern support structures almost impossible because of the density of small features in the model. The durability of the mask is compromised by the proximity to support material.
  2. The manufacturability of this object is much lower than it could be. The issue is that the assembly is not that modular for repairing the unavoidable wear and tear on a spinning part.
Ways to improve design:


  • Create large printable planes and minimize support material needed to improve structural integrity of part. The easiest way to to this is raise the interior of the top of the encoder wheel.



  • Separating the gear component into its own part will ease repair of the component by adding accessibility. Likely, I will take this idea further and replace the the plastic pins with bores for some pins. And these pins will be threaded from either side of the pulley bores by a threaded inset. The pins will sandwich the pulley and the encoder between the laser mount bracket and the slipring.



Lessons learned should never be passed over too quickly:

From experience, while working on robots from the field for a few years... The repair of the robot is unavoidable, just as your car will not run forever without maintenance. Making that repair process easier or more difficult - is up to the designer and the manufacturer.


Note, I needed to add some relief into the bottom of the encoder sensor cover. This also looks much easier to assemble. The previous concern was for upward light into the detector, but the new shelf adds the needed emitter/detector isolation.




Future improvements:
  • threaded pins inserts 
  • bore holes through pulley with threaded inset mates for pins 
  • add cable management into the base and encoder cap

Wednesday, July 8, 2015

Lidar - Increased Resolution

Originally, I had designed the encoder every 4 degrees, meaning that the overlapping encoder tick on the inside track would trigger every 2 degrees. I doubled the number of holes and halved the ~4mm to ~2mm.




Since the sensor is only about 1mm wide, I think this will work as the lidar will likely not be spinning more than a few Hertz. I am planning on running this on an ARM and I do not know what the pulse/interrupt rate looks like yet for the optical interrupter.



I think that increasing the resolution to 1 degree per encoding seems like a good idea. Luckily if it doesn't work out, changing the model is really simple - since it's just a few constraints on a circular pattern to tweak the model.



Monday, July 6, 2015

Lidar Rethinking...

I could hear the voice of the Camp Peavy in the back of my mind, as I was finishing up the assembly, saying, "You're doin' it all wrong!" I thought I would get clever and put the pulley teeth on the bottom... but this has it's own issues.



And Camp would have been correct too. I thought I was basically assembling the part upside down... turns out I wasn't but now I need to hybrid the two ideas. The problem with the pulley teeth on the bottom is that the encoder is too high and interferes with the sender/receiver.




Clearly I was on the right track the first time. All I really needed to do was lower the slip ring under the gear (as I did in the first time I heard Camp's voice in my head). The second time I heard "you're doin' it all wrong!" was because I missed the measurement on the optical interrupter cover.

Oh well... As Marvin the Martian says, "well... back to the drawing board." Hey, it's Monday, so my notion that I would be 3D printing today - was not an incorrect assumption!

Saturday, July 4, 2015

Lidar Encoder Pulley

Showing off the encoder pulley I just modeled. I've still got some sizing estimates to deal with, but it's getting pretty close. There's probably not enough clearance on the inside still for wiring, screw mount and top of arm enclosure.



I need to build the design the lower mount and encoder sensor arm. I decided to go with the standard H21A1, just like how some older smoke alarms work. I added a channel to mask the led and sensor of the other optical interrupter.

Lidar, revisited...

Pulsed Light has been selling a fairly low-cost, long range lidar. I just got around to doing something with the one in the mail today. I also got a 6-wire slip ring... uhh huh... that's right.



What did you think was going to happen? I mean, it's just begging to spin...




So, I picked 100XL timing belt, since it's stock in 1/4" width.




And the Lidar mount was quite possibly the most cumbersome thing to design since airplane parts in a past life.





I think it should work just fine... I'll start 3D printing before Monday, likely.


Tuesday, June 30, 2015

Beaglebone Black - Eclipse Remote Debugging, Ubuntu


I recently had to get my remote debugger working for a beaglebone black. Contrary to my post on MacOSX cross compile toolchain - I decided to use Ubuntu.


Friday, June 26, 2015

Beast visual servoing on Youtube

I shared a video for Homebrew Robotics Club last week - where, Henry was the only member of the team to attend. 

Enjoy beast visual servoing and acquiring a sample - fully autonomously - while I log the data in a tethered fashion. Wifi also works really well for logging, but by this point we were prepped for the field day at WPI.  So, we had removed the wifi access point.


Beast is on Facebook

It seems that Neato has posted something about beast.



Oh the shameless product placement. :)

Largest accomplishment: 
We were the first team to successfully navigate around the telecast building! We displayed full obstacle avoidant behaviors with the use of my stereo camera as the primary sensor for visual odometry.

The platform is just 5 months old, but it works really well for an R&D project. Fun, complicated, and everything you need to stay interested in robotics type of project.



Thursday, June 4, 2015

Improved stereo camera

New stereo camera mounted

Thanks again Onshape!


Thanks to the use of an awesome mill, and precise ME. I only need to create a shell for the new and improved mount... since, we're past the R&D stage.



Hot off the print bed, with support material. The Lulzbot works a ton better with the new enclosure I built for it. 


After removing support material:



And after mounting on the actual camera.  I think I'm getting pretty good and fitting like a glove, the first time out of the print box.  But it sure helps to have precision holes. Thanks Chuck!



Friday, May 29, 2015

More platform cleanup


'Beast' can pick up several types of objects now. 

Has a wifi access point for remote debugging. That won't be there later. 

Thursday, May 28, 2015

Platform cleanup


Just a handful of computer nerds, a garage full of tools and a lot of beer. 

The tk1's are installed and running robot code. Board dependency nightmare has subsided and testing phase wrapping up. Last week before the real demo.