GithubHelp home page GithubHelp logo

olinrobotics / odroid_setup Goto Github PK

View Code? Open in Web Editor NEW
1.0 13.0 0.0 10.85 MB

basic files for an Odroid to work the way we want

Shell 8.34% C++ 81.44% Makefile 10.22%
convenience roscore odroid ros

odroid_setup's Introduction

Odroid_Setup

This repository is for the files that we want to put on all of our odroids so that we can easily use them to run code through ROS as well as solve any other general Odroid issues we come accross.

The repository also includes a few basic example files for using the Odroid

What to do with this repository

  • Clone this repository to the home directory on both the Odroid and your computer

    cd ${HOME}
    git clone [email protected]:olinrobotics/Odroid_Setup.git
  • Run the following lines in the terminal on the odroid to automate the setup:

    echo 'source ${HOME}/Odroid_Setup/ros/setup.sh' >> ~/.bashrc
    source ~/.bashrc

    Now all the odroid setup should run automatically.

  • Run the following lines in your terminal to set some convenient aliases:

     echo 'source ${HOME}/Odroid_Setup/ros/setup_aliases.sh
     source ~/.bashrc

    Now you get two convenient aliases for setting ROS related IP addresses on your computer.

What does this do

In order to run ROS on the odroid and access it from your computer, you need to set the variables ROS_MASTER_URI to reference the odroid's IP address as seen from your computer (as opposed to 127.0.0.1), and ROS_IP to the IP address of your computer as seen by the odroid (note, ROS_IP only matters if you are running roscore on your computer). The shell scripts in this repository (run by setup.sh) find the IP address you most likely want to use and set these variables, however, it's assumptions only work well for the odroid. the line source ${HOME}/Odroid_Setup/ros/setup.sh tells the odroid to run these scripts every time a new terminal is opened.

On your computer, the script setup_aliases.sh just defines a few aliases for your convenience:

  • set_ros_master_uri <ip> sets the variable ROS_MASTER_URI to reference the input IP address
    • this should always reference the IP address of the computer running roscore
  • set_ros_ip <ip> sets ROS_IP to reference the input IP address
    • this should always reference the IP address of the computer you run it from
  • set_ros_vars <ip> sets both ROS_MASTER_URI and ROS_IP to reference the input IP address. You need to run these commands in every new terminal you open on your computer (if roscore is on the odroid, you only need to run set_ros_master_uri <ip>.

If the roscore is running on your computer but you want the odroid to communicate it, then you need to run set_ros_vars <your_ip> in each new terminal you open.

note: these aliases are also set on the Odroid with the addition of:

  • ros_get_ip prints all of the available ips
  • ros_find_useful_ip prints the most useful ip
  • ros_auto_set_vars reruns the automatic variable setup

odroid_setup's People

Contributors

isaacvandor avatar rdiverdi avatar yycho0108 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.