Code Monkey home page Code Monkey logo

liv_handhold's Introduction

News

  • 27 May 2024: Fix a bug in the calculation of the synthetic GPRMC timestamp, which could cause timestamp rollback. Additionally, we add checksum verification for GPRMC.
  • 20 May 2024: According to Livox Avia's pin requirements, we convert PPS TTL level to RS485 level and supplement it with more detailed electronic connection and material list.

1. Introduction

This repository provides the CAD files (with suffix “*.SLDPRT and *.SLDASM”) for our handheld device, which can be opened and edited with Solidworks. All of the modules are suitable for printing with FDM (Fused Deposition Modeling). In addition, we have also open-sourced our hardware synchronization scheme, as well as the STM32 source code and hardware wiring configuration instructions.

Contributors: Sheng Hong and Chunran Zheng

2. Guide to installation

2.1 Root directory

├── handhold_cad/ - CAD source files
│   ├── ...
├── livox_ros_driver/ - Livox LiDAR ROS driver
│   ├── ...
├── livox_sdk/ - Livox LiDAR SDK
│   ├── ...
├── mvs_ros_pkg/ - Camera driver
│   ├── ...
└── stm32_timersync-open/ - Embedded engineering folder
│   ├── USER/ - Main functionality folder
│   ├── ...
└── README.md - Project homepage document
└── ...

2.2 Assembly instruction

The assembly instructions are demonstrated in the GIFs below. Each module is clearly labeled corresponding to the name of its STL file.

1 2

2.3 Electronic connection

The guide for the electronic connections is presented as follows:

Livox AVIA LiDAR M12 Peripheral Function Diagram
PIN 1 Power: + Diagram
AVIA 12-Pin Interface, top: female bottom: male
PIN 2 Power: -
PIN 7 Ethernet: right PIN3
PIN 6 Ethernet: left PIN3
PIN 5 Ethernet: green PIN2
PIN 4 Ethernet: green / white
PIN 11 RS485_B
PIN 12 RS485_A

Note: STM32 PB5 (PPS signal) is converted from TTL to RS-485, resulting in RS-485_A and RS-485_B. STM32 TXD (GPRMC) is converted from TTL to USB and sent to the PC. If you are using the Mid360, you can directly connect STM32 PB5 to PIN 12 of the LiDAR M12.

MVS Camera 6PIN Name I/O Type Description Peripheral Function Diagram
PIN 1 DC_PWR -- Power Supply Diagram
MVS Camera 6-Pin Interface
PIN 2 OPTO_IN Line 0+ Optical Isolation Input STM32 PA1
PIN 3 GPIO Line 2+ General Purpose Input/Output
PIN 4 OPTO_OUT Line 1+ Optical Isolation Output
PIN 5 OPTO_GND Line 0- / 1- Optical Isolation Ground STM32 GND
PIN 6 GND Line 2- Ground

3. Main Material lists (only for reference)

Item Pics Purchasing list
Livox Avia LiDAR Livox Avia
CMOS MV-CA013-21UC
Camera Len MVL-HF0628M-6MPE
STM32 STM32F103C8T6
Screen IPS Screen 14''
Battery 4800mah
TTL to USB TTL to USB
TTL to 485 TTL to 485

4. License

The source code is released under GPLv2 license.

If you use any code of this repo in your academic research, it will be very appreciated if you can cite any of our following papers:

[1] Zheng, Chunran, et al. "FAST-LIVO: Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry." 
[2] Hong, Sheng, et al. "Rollvox: real-time and high-quality LiDAR colorization with rolling shutter camera." 

liv_handhold's People

Contributors

xuankuzcr avatar jjho1314 avatar sheng00125 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.