https://github.com/gbr1/edgeimpulse_ros
ROS2 wrapper for Edge Impulse
https://github.com/gbr1/edgeimpulse_ros
ai artificial-intelligence dnn edge-impulse edgeimpulse jetson-nano machine-learning raspberry-pi ros2 tinyml vision
Last synced: 7 months ago
JSON representation
ROS2 wrapper for Edge Impulse
- Host: GitHub
- URL: https://github.com/gbr1/edgeimpulse_ros
- Owner: gbr1
- License: apache-2.0
- Created: 2022-08-04T00:14:23.000Z (almost 4 years ago)
- Default Branch: humble
- Last Pushed: 2024-11-16T10:30:24.000Z (over 1 year ago)
- Last Synced: 2025-07-30T05:55:53.562Z (10 months ago)
- Topics: ai, artificial-intelligence, dnn, edge-impulse, edgeimpulse, jetson-nano, machine-learning, raspberry-pi, ros2, tinyml, vision
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# edgeimpulse_ros
ROS2 Humble wrapper for Edge Impulse on Linux.

## 1. Topics
- `/detection/input/image`, image topic to analyze
- `/detection/output/image`, image with bounding boxes
- `/detection/output/info`, VisionInfo message
- `/detection/output/results`, results as text
## 2. Parameters
- `frame_id` (**string**), _"base_link"_, frame id of output topics
- `model.filepath` (**string**), _""_, absolute filepath to .eim file
- `show.overlay` (**bool**), _true_, show bounding boxes on output image
- `show.center` (**bool**), _false_, show centroids on output image
- `show.labels` (**bool**), _true_, show labels on bounding boxes,
- `show.classification_info` (**bool**), _true_, show the attendibility (0-1) of the prediction
## 3. How to install
1. install edge_impulse_linux:
`pip3 install edge_impulse_linux`
2. on some boards and aarch64 these are required (e.g. vm on mac m1):
`sudo apt-get install libatlas-base-dev libportaudio2 libportaudiocpp0 portaudio19-dev`
`pip3 install pyaudio`
3. download your .eim file as **"linux board"** and choose your architecture
4. make your eim file as executable:
`cd /path/to/your/eim/file`
`chmod +x .eim`
5. clone this repo in your workspace:
`cd ~/dev_ws/src`
`git clone https://github.com/gbr1/edgeimpulse_ros`
6. check dependencies:
`cd ~/dev_ws`
`rosdep install --from-paths src --ignore-src -r -y`
7. build:
`colcon build --symlink-install`
`source install/setup.bash`
## 4. How to run
Launch the node:
`ros2 run edgeimpulse_ros image_classification --ros-args -p model.filepath:="" -r /detection/input/image:="/your_image_topic"`
`
## 5. Models
Here you find some prebuilt models: [https://github.com/gbr1/edgeimpulse_example_models](https://github.com/gbr1/edgeimpulse_example_models)
## 6. Known issues
- if you use a classification model, topic results is empty
- you cannot change color of bounding boxes (coming soon)
- other types (imu and sound based ml) are unavailable
***Copyright © 2022 Giovanni di Dio Bruno - gbr1.github.io***