nicla_vision_drivers

Drivers to collect the Arduino Nicla Vision sensors

https://github.com/advrhumanoids/nicla_vision_drivers

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords

arduino micropython nicla-vision ros ros2 sensors-data-collection

Keywords from Contributors

gazebo
Last synced: 6 months ago · JSON representation ·

Repository

Drivers to collect the Arduino Nicla Vision sensors

Basic Info
  • Host: GitHub
  • Owner: ADVRHumanoids
  • License: apache-2.0
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 421 KB
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Topics
arduino micropython nicla-vision ros ros2 sensors-data-collection
Created over 1 year ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

:star: Nicla Vision Drivers :star:

Plug-and-play Arduino drivers for Arduino Nicla Vision sensors.

Alt Text


Description

This package contains the Arduino (and deprecated Micropython) drivers enabling the Arduino Nicla Vision board to be ready-to-use in the ROS world! :boom:

The developed scripts allows for streaming of sensors data from the Arduino Nicla Vision board to a ROS-running machine via Serial, TCP or UDP sockets. This package provide the optimised drivers that will be running on the Nicla Vision board, allowing to: - connect the board to Serial/WiFi, - sense all the sensors, - serialize the sensors data, - send the sensors data through the socket.

Here a list of the available sensors onboard the Arduino Nicla Vision board: - 2MP color camera - Time-of-Flight (distance) sensor
- Microphone
- Imu

Table of Contents

  1. Arduino
  2. Micropython
  3. Package List
  4. Video
  5. License
  6. Cite

Arduino

suggested
The Arduino version is the one suggested, working, and the one that will be maintained.

Installation (Arduino)

Step-by-step instructions on how to get the drivers running onboard the Arduino Nicla Vision:

  1. Download Arduino IDE. For any additional info you can check the official Arduino Nicla Vision doc
  2. Install the necessary core from Arduino IDE (Tools > Board > Boards Manager...): Mbed OS Nicla Boards
  3. Download the necessary libraries from Arduino IDE (Tools -> Manage Libraries). Depending on the Nicla sensor you have to install:
    • IMU Arduino_LSM6DSOX by Arduino
    • Camera JPEGENC by Larry Bank
    • TOF VL53L1X by Pololu
    • Microphone nothing
    • CRC32 by Christopher Baker - crc-32 for image (only Serial)
  4. Download the arduino/main folder of this repo for UDP/TCP connection, or the arduino/mainSerial for Serial (UART over USB) connection.
  5. Modify accordingly the config.h/configSerial.h file for network and sensors configuration.
  6. Open the main.ino file in Arduino IDE and upload it on the Nicla.

Usage (Arduino)

Follow the below two steps for enjoying your Arduino Nicla Vision board! 🚀

  1. Just power the board and wait for leds check. Note that ENABLE_ARDUINO_IDE_SERIAL_MONITOR in the config file must be set to false when the board is not tethered to a Arduino IDE running pc.

Note: Look at the LED of your board! The first seconds after having turned it on, the LED should be Green or Blue. - When the board is correctly connected and it is streaming, the LED will turn off. - If you are having connection issues, the LED turns Blue. - If you are having other runtime errors, the LED turns Red.

:sunny: Now you are ready to go! Check out the Nicla Vision ROS2 repository or the Nicla Vision ROS repository for unlocking the Nicla Vision board in the ROS ecosystem! :sunny:

Micropython

unmaintained
We had problems with the micropython library for the microphone, but the rest of the sensors should be good. Anyway, we are not maintaining the micropython version anymore, having switched to the Arduino version definetevely.

Installation (micropython)

Step-by-step instructions on how to get the drivers running onboard the Arduino Nicla Vision:

  1. Connect the board to the pc.
  2. If it is your first time with the board, please follow the Getting Started tutorial here, for getting the latest available firmware of the board through OpenMV IDE.
  3. Download the scripts/main.py and scripts/config.json files of this repository
  4. Copy the main.py and config.json files ìnside the memory of the Nicla Vision board.
  5. Reboot the board (unplug and plug again the board to the pc)

Usage (micropython)

Follow the below two steps for enjoying your Arduino Nicla Vision board! 🚀

  1. Turn on a Hotspot connection on your pc.

Note: if you are on Ubuntu, click on Settings->WiFi->top three dots->"Turn on WiFi Hotspot...". If "Turn on WiFi Hotspot..." is grayed out, click first on the Network tab and then follow again the procedure starting from the WiFi tab. If the Hotspot is already configured, run this command in a terminal: $ nmcli connection up Hotspot

  1. $ ifconfig on your pc, and copy the "inet" address under the "enp" voice (following point)
  2. Set the parameters in the config.json file:
    • ssid: the name of the activated Hotspot
    • password: the password of the activated Hotspot
    • ip: IP address copied at point 2.
    • connection_type: "tcp" or "udp" (the user can choose if the board should transmit the sensors data by UDP or TCP socket connection)
    • verbose: true or false (for visualizing some debug prints in OpenMV IDE)
  3. Run the main.py:

Note: Look at the LED of your board! The first seconds (about 15 sec) after having turned it on, the LED should be Blue. - When the board is correctly connected and it is streaming, the LED will turn off. - If you are having connection issues, the LED will be Blue again. - If during execution you see a Green LED, it is for unforseen errors. - If during execution you see a Red LED, it is for memory errors (usually picture quality too high).

:sunny: Now you are ready to go! Check out the Nicla Vision ROS2 repository or the Nicla Vision ROS repository for unlocking the Nicla Vision board in the ROS ecosystem! :sunny:

Video Demonstration

https://github.com/ADVRHumanoids/niclavisionros2/assets/63496571/247952a0-86cb-4514-a034-d8736c8b70ba

Package List

Here some useful links:

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Citation

:raised_hands: If you use this work or take inspiration from it, please cite (to be published): bibtex @inproceedings {DelBianco2024, author = {Del Bianco, Edoardo and Torielli, Davide and Rollo, Federico and Gasperini, Damiano and Laurenzi, Arturo and Baccelliere, Lorenzo and Muratore, Luca and Roveri, Marco and Tsagarakis, Nikos G.}, booktitle={2024 IEEE-RAS 23rd International Conference on Humanoid Robots (Humanoids)}, title = {A High-Force Gripper with Embedded Multimodal Sensing for Powerful and Perception Driven Grasping}, year={2024}, volume={}, number={}, pages={149-156}, doi={10.1109/Humanoids58906.2024.10769951} }

Owner

  • Name: ADVR Humanoids
  • Login: ADVRHumanoids
  • Kind: organization
  • Email: luca.muratore@iit.it
  • Location: Istituto Italiano di Tecnologia

Humanoids & Human Centered Mechatronics, HHCM, IIT

Citation (CITATION.cff)

cff-version: 1.2.0
message: DAGANA paper.
authors:
  - family-names: Del Bianco
    given-names: Edoardo
  - family-names: Torielli
    given-names: Davide
  - family-names: Rollo
    given-names: Federico
  - family-names: Gasperini
    given-names: Damiano
  - family-names: Laurenzi
    given-names: Arturo
  - family-names: Baccelliere
    given-names: Lorenzo
  - family-names: Muratore
    given-names: Luca
  - family-names: Roveri
    given-names: Marco
  - family-names: Tsagarakis
    given-names: Nikos G.
title: A High-Force Gripper with Embedded Multimodal Sensing for Powerful and Perception Driven Grasping
version: 1.0.0
doi: ''
date-released: '2024-09-25'
preferred-citation:
  authors:
    - family-names: Del Bianco
      given-names: Edoardo
    - family-names: Torielli
      given-names: Davide
    - family-names: Rollo
      given-names: Federico
    - family-names: Gasperini
      given-names: Damiano
    - family-names: Laurenzi
      given-names: Arturo
    - family-names: Baccelliere
      given-names: Lorenzo
    - family-names: Muratore
      given-names: Luca
    - family-names: Roveri
      given-names: Marco
    - family-names: Tsagarakis
      given-names: Nikos G.
  title: A High-Force Gripper with Embedded Multimodal Sensing for Powerful and Perception Driven Grasping
  doi: ''
  type: conference-paper
  pages: ''
  year: '2024'
  collection-title: 2024 IEEE-RAS 23rd International Conference on Humanoid Robots (Humanoids)
  conference: {}
  publisher: {}

GitHub Events

Total
  • Issues event: 1
  • Watch event: 3
  • Push event: 2
Last Year
  • Issues event: 1
  • Watch event: 3
  • Push event: 2

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 33
  • Total Committers: 3
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.485
Past Year
  • Commits: 33
  • Committers: 3
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.485
Top Committers
Name Email Commits
damigas d****8@g****m 17
Davide Torielli t****s@g****m 13
Damiano Gasperini 6****s 3

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • torydebra (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels