Localization Hardware

From Rsewiki
Revision as of 13:01, 13 June 2016 by S123950 (talk | contribs) (→‎Known errors)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
A tag and an anchor

This page describes the hardware design of the 3D localization system.

The anchors and tags are made up of some main components as described in the table below. The main difference is that the anchors have 180° of the antenna shielded in order to allow mounting on walls and ceilings without changing the antenna properties from reflections, other than that the tags contains a high precision IMU for sensor fusion in order to improve the velocity estimates.

Main hardware elements of anchors and tags
Anchors Tag
a cortex-m0 processor from ST (STM32f072) a cortex-m3 processor from ST (STM32f103)
an UWB device (DWM1000) an UWB device (DWM1000)
a pressure sensor (LPS25H) a pressure sensor (LPS25H)
a 3.3v low noise LDO regulator (MIC5209) a high precision IMU (MPU-9250)
a single-cell LIPO charger (MCP73831) a 3.3v low noise LDO regulator (MIC5209)
a single-cell LIPO charger (MCP73831)

Connectivity

The system contains a number of potential ways to extract information. It is possible to connect to the anchors through a UART serial port, a virtual serial port on the USB port, or SWD via eg. openOCD (GDB). In the same way the tags can be reached through the UART port, a virtual serial port through the USB port, SWD or I2C. The next generation of the tags are supposed to SPI extracted from the uC as well for improved connectivity to eg. a robot.


The Anchors

Anchor layout

The anchor schematic can be seen at Anchor schematic

The anchors can be programmed through either the USB (DFU), or the SWD link that has been broken out to J3. The SWD protocol is an alternative to the full JTAG, that only used 2 data wires for programming and debugging. See Arm compiler environment#OpenOCD Setup For more info on how to use SWD.

Known errors

The anchor hardware is still error free, meaning that there is yet to be found errors in the newest electronic design. The only thing on the list of changes to come in the next revision is a better power control, courtesy of a switch-mode regulator and the ability to utilize the ultra-low power sleep mode of the DW1000 devices. This means that the DWM1000 modules would have to be powered directly from the battery, through its own 3.3v always-on regulator, with EXTON connected to the shutdown of the switch-mode. This would allow the anchors to be powered on and off wirelessly, while still maintaining an ultra low power consumption in standby mode.

Furthermore it would be a very good idea to combine the bootloader jumper with the user switch, to get rid of both the hardware jumper and the bootloader switch software check.

The Tags

Tag layout

The tag schematic can be seen at Tag schematic

The tags can only be programmed through the SWD link that has been broken out to the U6 connector. The SWD protocol is an alternative to the full JTAG, that only used 2 data wires for programming and debugging. See Arm compiler environment#OpenOCD Setup For more info on how to use SWD.

The tags furthermore contain a high precision IMU (MPU9250), to allow for sensor fusion with the result of a better velocity estimate. For more info in the sensor fusion see 3D localization#Sensor fusion

Known errors

The tags contains at least two known hardware errors, one is the missing load sharing in the charger design (see the anchors for the proper design), and the other known issue, is the regout pin being connected to 3.3v instead of bypassed to ground through 100 nF capacitor. As with the anchors, the next hardware revision of the tags should implement a proper power scheme, through a switch-mode regulator. The next revision will probably loose the battery charger entirely, as the system should be powered through the device you want to track (robot), and as such does not need a battery.


Software

All the PCB design is done in a software suite called DipTrace, which can be downloaded for free at www.diptrace.com. The software is currently only available in a Windows and Mac OS X version, but runs perfectly through Wine. DipTrace offers a free student license, allowing a larger design along with some extra features. This student license can be requested by writing an email to the contact address listed at their academic site.