Trevor's Robotics Website

A website to showcase my Robotics, Computer Vision and general technical projects.

Resume GitHub Robotics Projects CV Projects

6-DOF Wireless Pose Capture System

In some of my graduate research efforts, I was able to create a wireless 6-DOF pose capture system to serve as a human-robot interface. This system makes use of a hand-held vision target tracked by an Intel RealSense depth camera to capture target position in 3D space, and a BNO055 absolute orientation sensor to capture the vision target orientation. In this sense, the vision target orientation and position are captured as independent datastreams that can be fused into one 6-DOF pose data structure. All developed hardware, firmware and software can be found in the GitHub repository here. Please see the overall system high level block diagram below.

total system flowchart    

Position Capture Sub-System

We will now look at some more in-depth details on the position capture portion of the system. As previously mentioned, a hand-held vision target is tracked as a means of allowing user input from motion of said vision target. An Intel RealSense depth camera is used to track the real-world X,Y,Z position of the vision target within the camera reference frame. Once the real-world position of the vision target is extracted, it is smoothed using a windowed average to help remove sudden jumps in detected position due to noise. The overall image processing pipeline can be seen in the figure below.

position capture subsystem    

Position Capture Sub-System

The orientation capture sub-system obtains the orientation of the vision target through the use of the BNO055 absolute orientation sensor. Data obtained from the orientation sensor is wirelessly streamed to a basestation through a pair of NRF24L01 transceivers. Once the data reaches the basestation MCU, it is streamed into the basestation computer through a serial interface. A custom PCB was designed to manage power delivery and communication with the BNO055 sensor on the vision target, as well as facilitating the wireless communication with the basestation. This PCB will be examined in more detail in a later section. Both the orientation capture component level architecture and orientation data transmission flowchart can be seen below.

wireless paradigm    

orientation capture subsystem    

Overall System Demo

Once both the orientation and position data streams have been fused on the basestation, the generated Pose is published throughout the system. I have created a demo in which the Pose of a box within a gazebo simulation environment is set dynamically using live data from the pose capture interface. Please have a look at this video below.

System Hardware and Firmware

As previously mentioned, this project also required the developement of custom electrical and mechanical hardware, in addition to various firmware development tasks. A custom PCB was manufactured to power the BNO055 sensor, in addition to facilitating data transmission from the sensor, through the NRF24L01 communication channel. This PCB can be seen below mounted on top of a battery pack, in addition to a rough schematic view of the board.

orientation capture TX    

orientation capture TX schematic    

The aforementioned base station was composed of an arduino Uno and NRF24L01 module. These components were housed within a 3D printed base station case. This system, along with it's rough schematic representation can be seen in the figure below.

orientation capture TX    

orientation capture TX schematic    

The firmware, electrical and mechanical hardware designed for use in this project can be found in this GitHub repository.