Skip to content
This repository has been archived by the owner on May 7, 2021. It is now read-only.
/ ed7039e Public archive

Model, simulation and implementation of a mechatronical system for use in a mimicked industrial environment using UWB localization. Task dispatch via Arrowhead. Reproducibly built via Nix.

License

Notifications You must be signed in to change notification settings

tmplt/ed7039e

Repository files navigation

ED7039E - Project in Industrial Computer Systems/Electronical Systems & Control Technology

This repository constitutes the full model, any and all simulations related to, and implementation of the project for the D7039E and E7032E courses taken at Luleå Technical University during the first and second semester of 2020-21.

The project is to model, simulate, and implement a robot that, via communication over the Arrowhead framework, automatically picks up a processed object at the end of a conveyor belt and moves it elsewhere.

The project report can be build by running ./report.nix. A pre-built version can also be downloaded directly.

Building and project setup

Install Nix

All software in this project (as well as the report and development environment — see the previous paragraph and Entering a development environment, respectively) is most easily built via the Nix package manager. To install Nix, either run

$ sh <(curl -L https://nixos.org/nix/install) --daemon # as a user with sudo access to root

or (recommended) install Nix via your distribution’s package manager.

If you do not need to generate the bootable image, or configure the system-external services, you need not follow the remainder of these instructions.

Prerequisite manual steps

Some manual steps are required to build a readily working system image:

  1. Modify nix/config.nix to your environment.
  2. Describe your network access points that have Internet access and generate a SSH key pair:
    $ cat << EOF > local-secrets.nix
    {
      networks."YourSSID".psk = "hunter2";
    }
    EOF
    $ ssh-keygen -f id_rsa -N ""
        
  3. Include nix/ssh-bastion.nix in an external NixOS system with Internet access and rebuild (or configure your Non-NixOS equivalent).

Bootable image generation

The bootable image for the Raspberry Pi 3 can be built by executing ./mmc-image.nix. A convenience script is available for flashing a target block device:

$ sudo ./build.sh /dev/mmcblk0 # or your equivalent

About

Model, simulation and implementation of a mechatronical system for use in a mimicked industrial environment using UWB localization. Task dispatch via Arrowhead. Reproducibly built via Nix.

Topics

Resources

License

Stars

Watchers

Forks