3D printed front nose
3d-print robot lawnmower

Design of Front Nose

In the last couple of days I have been working with the front nose for the robot. The front nose will have an integrated Intel Realsense ZR300 Camera. I want to integrate it to the nose because I want a seamless body. The Intel Realsense ZR300 is mounted in a aluminum housing originally and to be able to integrate it to the nose I need to disassemble the camera. The ZR300 have a stereoscopic depth-sensing camera integrated with robust motion-tracking capability, designed for long-range depth perception and position awareness, this development kit brings computer vision, position tracking, and object recognition to your prototype.

My first Nose Design came out pretty nice. I 3D printed the nose and was happy camper until i realized I had forgotten the USB port. As its turns out my design was to tight for the USB to fit.

3D printed front nose for robot
3D printed front nose for robot

The other thing I realized after playing around with the nose was that the camera should be mounted from the outside and not from the inside as I originally thought. Creating a housing within the nose itself and then reuse the cover material from the camera. Making the integration nicer and safer from dust and other things.

3D printed front nose first version
3D printed front nose first version

I started  to design a new nose instead of trying to modify the old design. Usually it goes faster to do a new design. Ones started with this I realized that the USB space would act as a limit on the shape of the nose and the build surface of the Raise3D printer would limit the width of the nose. In this design the camera will be mounted from the outside and then attaching the original over the the PCB.

new nose design
new nose design


New nose design partly 3D printed. Testing the camera housing before printing the entire nose again. Came out pretty good need to make minor adjustments for USB. The housing was printed with PrimaSelect PETG solid White @225C and dialed back the Flowrate to 100 instead of 106 used with The PrimaSelect Black PETG.

Intel Realsense ZR300 3d printed camera housing
Intel Realsense ZR300 3d printed camera housing

So Before 3D printing a new nose again minor adjustment needs to be done to the new design. I need to mount the PCB 5-7mm deeper, so the USB head can fit nicely, other then that I think we are good. In the picture below I printed a camera housing and everything fits perfect.

Intel realsense zr300 3d printed housing
Intel realsense zr300 3d printed housing
Intel realsense zr300 3d printed housing
Intel realsense zr300 3d printed housing

To confirm the Field of View from the the ZR300 I did a quick assembly attaching the nose to the robot. Here is a short video on the field of view running ROS and RVIZ with a image and a depthcloud. enjoy!


Chief Technology Officer with a demonstrated history of working in the internet industry. Skilled in Business Planning, Computer-Aided Design (CAD), Quality Process Development, and SolidWorks. Strong business development professional with a Higher Education Diploma with specialization in Mechanical Engineering focused in Product development from Blekinge Institute of Technology.


9 thoughts on “Design of Front Nose”

    1. Hi Akash and thanks 🙂
      So if I understand you correctly you are running VESC´s? the morph_hw should work without hall sensors.
      Try changing line 12:

      to this

      To test the morph_hw with only one motor, connect both VESC´s and connect the motor to one of the VESC´s.
      And don’t forget to config the motors in VESC tool or the BLDC tool first!

      I will not use hall sensors anymore. I will use encoders instead (AS5048A) much better for slow starts and absolute control of the rotor position.

      Hope this helps and let me know how it goes.
      and if you have anymore questions just let me know

      1. Hmmm. I replaced line 12 from default=”encoder” to default=”” and default=”none”. But then my launch file doesn’t execute. Any other suggestions?

  1. So when encoder=”none” I get nothing using rostopic echo /right_wheel/sensors/core. But when I use encoder=”pid_pos” rostopic echo returns values.

  2. I was also thinking about not using hall sensors until I came across some nice one’s from that website. I purchased amt102v’s and was planning on using them because Benjamin Vedder showed it in his video. I saw that you bought a couple encoder’s yourself. Any success connecting the amt102 with the morph stack?

    Also I wanted to ask how you got the morph_bringup.launch file to work? How did you get the xacro to load(line 6)? Did you make any changes to launch file? Thanks again!

    1. Looking at the morph.launch “none” is not an option.
      Possible values are “inductance”, “observer”, “encoder”, “pid_pos”, “pid_pos_error”, “encoder_observer_error” –>
      Try the “observer”

      Yes I bought the amt102 but haven’t tried them yet. I have tried the AS5048A, AS5047P, AS5047D and they all work fine after some modifications seen in my blog. I also don’t use the hall sensor port (please all so the blog). I did some changes to the VESC firmware.

      To the morph_bringup file. I will not use it. I will make my own stack. I haven’t much time playing around with the software parts yet, my main focus is getting the parts together so I can take it for a spin 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *