This week, I finally attached my new Intel Realsense T265 tracking camera to my robot platform. Of course, I need to make space for this, so I naturally redesigned the entire frame. Fortunately, this also gave me the opportunity to fix some of my earlier errors. The previous platform, looks something like this:
The first mistake I made here was the position of the lidar. It needed to be on the top to be able to cover 360 degrees. The second mistake was the flimsy design of the top plate where the OAK-D is attached. Because of the weight of this attachment, the top plate bent by about 10 degrees and I feared it would bend even more and hit the lidar. In the new design, I wanted the lidar on the top, without any obstructions. The OAK-D also had to be elevated from any base plate, because of the weird position of the cable input ports. Finally, I had to make space for the Intel Realsense t265 camera. Optionally, I also needed mounting holes for a Jetson Nano in case I ever decided to switch back to it from the RPi4. After multiple iterations (each having some really complicated 3D printed parts, which would take hours to print), I finally landed on this combination of laser cut acrylic parts and minimal 3D printed mounts. This is the finaly 3D model:
The next step was to get these parts 3D printed, laser cut, and finally, assembled. While I waited for these laser cut parts to arrive, I also decided to outsource some of the work and hired a freelancer to use the CAD model and build a URDF file for me. The following pictures show the assembly process:
By the time I had this robot assembled, I had heard back from the freelancer on Fiverr and the URDF file was ready! This is what it looks like:
I was pretty impressed! It didn’t cost me a lot of money either, so now I can at least pay for some help if I cannot find a collaborator!! Jokes aside, the work was not entirely complete. While the URDF file was as per my CAD model, the freelancer wasn’t accurate in defining the frame references for each of the sensor output streams. So, while the job didn’t cost a lot, I do have quite some rework that I need to do myself. Meanwhile, I used the slightly off frame references provided by the freelancer and did manage to get a basic hector_slam and gmapping running with the RPLidar providing the laser scan and the T265 providing odometry data. The sensor seems to work perfectly and while Intel recommends that T265 should be used with encoder odometry for wheeled robots, it works quite fine without any additional inputs. I’m super impressed. Here are some pictures:
My next steps are to fix the URDF (I am getting vaccinated this week, and also need some well deserved time off, so I’ll probably hire someone else on fiverr for this) and then setup the ROS navigation stack. Once this basic configuration is working, I can then setup the drive system and move_base. More updates next weekend, meanwhile here is a final picture of the navigation module in all its glory..