/umnitsa_robot

umnitsa code installed on robot

Primary LanguageC++MIT LicenseMIT

umnitsa_robot

Umnitsa comes from the englsih transliteration of the russian word "умница" clever pesron or smarty-pants. Umnitsa is designed to be a clever robot.

See also umnitsa_msgs, umnitsa_gs, amd umnitsa_mechanical.

umnitsa_robot is a metapackage for all the packages that run on the robot's computer. Packages are located in the src/ directory and a brief description of each is included below.

Setup

This package is currently compatible with the Raspberry Pi 3 B+ and Jetson Nano.

Raspberry Pi

Install needed dependencies:
pip install

Jetson Nano

Install needed dependencies:
pip2 install Jetson.GPIO pygame nanpy

Since this repo contains the realsesnse-ros repository as a submodule it's important to run the following command
git clone --recursive <URL to git repo>
If you failed to do this initially, then inside this repository run
git submodule update --init --recursive
The realsense-ros also requires the latest Intel RealSense SDK. Jetson Nano installation instructions.

Arduino Firmware

Follow directions here to upload correct firmware to arduino (https://github.com/nanpy/nanpy-firmware)

Pygame errors:

If there are erros installing pygame, you may need to add its dependencies.
sudo apt install libsdl1.2-dev python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev

Desktop

Since this repo contains the realsesnse-ros repository as a submodule it's important to run the following command
git clone --recursive <URL to git repo>
If you failed to do this initially, then inside this repository run
git submodule update --init --recursive
The realsense-ros also requires the latest Intel RealSense SDK. Linux installation instructions. You must install the dev package
sudo apt install librealsense2-dkms librealsense2-utils librealsense2-dev

Install pygame for the joystick controller
pip2 install pygame

Package Overview

umnitsa_robot

Empty package that declares packages inside the metapackage.

umnitsa_robot_launch

This package contains parameters adn launch files for the umnitsa robot. Parameters should be adjusted for compatibility with system setup.

umnitsa_hardware

This package consists of the harware interfacing nodes as follows:

motors

outputs to the motor control board to control four DC motors

Normal mode:
The max throttle going forward is 71% on all motors, not 100%. This is so that moving the joystick in a steady circle produces a steady cirlce of robot movement.

Turbo mode:
If the joystick is moved at all, one of the motors is set to 100% throttle. This makes it faster, but unfit for precise movement.

RGB

Outputs to the UmnitsaRGB custom PCB

ultrasonic

Inputs from the UmnitsaUltra custom PCB

umnitsa_joystick

Package that contains the node that that receives input from a switch pro controller and outputs to the joystick message.