Nano-backpack is an open hardware add-on for the humanoid robot NAO. It adds a Nvidia Jetson Nano development board to the robot and thereby enhances the computational capabilities of the system. The corresponding software architecture includes a webapp to control the robot and allows an easy start into the development of further applications.
This project was part of the Robotics Practical class (MScTI_ROBP) in summer term 2020 @ Heidelberg University.
Install and setup linux-wifi-hotspot on Jetson Nano
-
Install dependencies:
sudo apt install -y libgtk-3-dev build-essential gcc g++ pkg-config make hostapd
-
Clone repo and build:
git clone https://github.com/lakinduakash/linux-wifi-hotspot cd linux-wifi-hotspot # build binaries make # install sudo make install
-
Open application and create hotspot with
rndis0
preset -
Run linux-wifi-hotspot on every startup:
systemctl enable create_ap
Clone this repo and build Docker Image
- Clone:
git clone https://github.com/roydenwa/nano-backpack.git
- Navigate to nano-backpack/src/app/ and build Docker image with:
sudo docker build -t "nano-backpack" .
Install and run dnsmasq
- Install dnsmasq:
apt install dnsmasq
- Run provided bash script to setup a subnet:
sudo bash run_dnsmasq.sh
Run Docker image and connect to wifi-hotspot to see webapp with other devices
Start Docker image with interactive shell:
sudo docker run --rm -it -p 80:80 "nano-backpack"
The webapp should now be visible at 192.168.12.1
if you are connected to the previously created wifi hotspot.
This work is licensed under a Creative Commons Attribution 4.0 International License.
This repo is built upon other open-source contributions:
- CAD models are partially based on NAO-backpack.
- The wifi hotspot is created with linux-wifi-hotspot.
- The unfinished concept for monocular depth estimation is based on DenseDepth.
- Docu
- Simplify Layout - Alex frist page - abstract and contents, header
- Abstract
- Introduction - Alex / Royden
- Related works Backpack - Alex
- Related works Monocular - Royden
- Related Works optional: linux-wifi-hotstpot ? - Royden
- Instructions for Peter - Peter how to - Alex
- pw user on Nano
- pw wlan nano-bp
- ip ssh
- standard ip NAO robot
- Table compatible Naoqi-SDKs (Offical: Python: no(not suitable for ARM), Javascript: qimessaging yes, qi2: yes, C++: not tested, Third-party: ROS: deprecated, NodeJs~yorki: yes)
- Development Environment Nano:
- how to use docker and python on Nano with NAO
- Mechanical design - Royden
- Remote control NAO ~ UI5 - Royden / Alex
- Depth estimation - python-decorator - single-frame <-> video - Royden
- Conclusion: - Alex / Royden
- benefit: easy start - dev env - UI for for testing
- outlook: python base for depthestimation, JS base for more NAOqi-services
- App
- NAOs view - placeholder img of NAO - Alex
- ui5-datamodel ip, text params - Royden
- Import Error qimessaging - Royden
- update readme, clean repo
- Docker images - Royden