Modular Sensor Mounting Platform
MORE FINAL ASSEMBLY PHOTOS AT BOTTOM OF THE PAGE
THE PROJECT
Tailos requires a robust medium for testing sensor configurations and orientations. Our design team aimed to enable rapid sensor configuration testing while expanding the capabilities of Rosie–Tailos' flagship intelligent robot vacuum.
An intelligent robot must have some method of perception. In the case of robotic vacuums, it's necessary to have an accurate description of the floorplan whilst adapting to a dynamic environment. This mapping heavily relies on sensor positions and orientations. Additionally, the robot must effiicientlty make use of multiple data streams provided by each sensor. Given the robot has computational power and necessary overhead, machine learning models can be subsequently trained. As products brought to market must be permanent and robust in their sensor configurations, a physical environment for testing these configurations prior to scaled production is ideal and necessary, especially in Tailos’ case. In addition to the opportunity for testing sensor suites, Tailos would like to expand on sensing capabilities: including but not limited to stair detection, human detection, and varying environmental conditions. The solution to achieving both wants is a universal sensor mounting platform, novel in the sense that Tailos’ sensor suites are unique and effective for their application.
Thus, the problem is twofold. One being the lack of physical infrastructure for a potential variation of sensors, and two being the lack of speed at which testing different suites can be accomplished. Relative to the speed at which sensor suites can be tested, our team had the goal of developing a system whereby each potential sensor can be quickly added to the current configuration and output useful data. With this, accurate mapping of sensor positioning becomes necessary. The entire system (software and mechanical) must work in conjunction.
[ Above is an example sensor configuration shown on my final design of the sensor mounting platform. This configuration included a Luxonis Oak-D W Pro to replace the existing Intel realsense camera, an Orbet Femto Time of Flight sensor, multiple Arudcam RGB cameras, and a centrally mounted Livox Mid-360 LiDAR. ]
THE DESIGN
My contribtion consisted of all ideation and corresponding mechanical design for the sensor mounting platform. The platform itself retrofits an existing Rosie robot with 4 new 'quarter panels' that sit flush and offer a mounting platform for sensors. The pegged ribbing that you see on the entire outer perimeter of the robot is an interface for the sensor mounts (shwon below). The pegs offer a mechanical lateral lock for quick sensor movement/placement prior to using the permanent lock (M4 holes with respective hex nut counterbores).
Above you see a sensor mount configuration using two sets of universal sensor mounts as well as being attached to the centrally mounted optical table. This is useful for the scenario where a sensor must be mounted within the robot footprint but also maintain a low profile relative to the height of the robot.
The rendering on the right is a view of the underside of the front left quarter panel. The final couple iterations of this panel dealt largely with design for additive (DFAM), which can be seen in certain portions of the geomtery (extruded holes, S-like curve to the far right, etc.). I mainly designed in this way to avoid the addition of otherwise extraneous support structures.
SENSOR MOUNT
I designed the sensor mount (shown below) with universality and modularity in mind. The system makes use of a 3-to-2 prong clasp—similar to mechanisms often used in mounting applications that require some level of rotational freedom. Retention here is done with an M4 bolt and respective hex nut. The hole orientation of the male/outer piece of the two-piece mount is made in the way shown so as to allow mounting for the Arudcam camera modules, the Oak D Pro W sensor, as well as modular mounting to another set of sensor mounts. The two symmetric cutouts are done to minimize weight and maintain aesthetic congruence. An example use-case of the sensor mount is shown mounted at the perimeter of the robot (shown in silver) with an arducam module (shown in bronze).
LOCKING SENSOR MOUNT
To give the sponsors another more precise option for mounting sensors, I designed a version that mechanically locks at certain positions in addition to existing hardware retention. The mechanism as shown is set up to lock at 45° increments. This can be changed and remade with relative ease, however, as I designed the system parametrically. Shown in the renderings below, the two-pronged male end of the mechanism has an outer surface draft to allow flex since the locking mechanism itself is compliant.
SOFTWARE DESIGN
The main software task was to replace the existing IMX8 microcontroller with an Nvidia Jetson, including the task of integrating the robots existing embedded systems with this new controller. As the new software must be compatible with the sponsor's codebase and workflow, development on our end involved the Linux Ubuntu 22.04 LTS operating system, ROS 2 Humble, and a codebase distribution with Docker containerization.
To the right is a center of mass position representation that acts as a preliminary test for developing a Unified Robot Description Format (URDF) model of the robot and its respective sensors.
Jetson Integration Workflow:
SSH into the Jetson, provided the Jetson is connected to a network
Run a script to setup the embedded interface on the Jetson (GPIO pins, low-level optimizations, power settings)
Run the Docker container to use the ROS2 framework
Clone the Tailos repository that is updated and develped on a separate machine
Build ROS2 packages and run nodes accordingly
Currently, what's being worked on is robot teleoperation with an appropriate kinematic model in ROS2 (respective to the mecanum drivetrain) as well as a sensor evaluation suite that will be interpreted with RViz, a data visualization libary in ROS2.
Planned future work includes implementing a ROS2 PID control node for increased motor precision, integrating all given sensors with their respective APIs/driver software, URDF visualization, and completing the physical assembly to test vibrational stability of sensor mounts.
FINAL ASSEMBLY
EARLIER ITERATIONS