Using RVIS with Pi

From Bike Wiki
Revision as of 17:52, 24 December 2020 by Admin (talk | contribs)
Jump to navigation Jump to search

Installing ROS

Installing complete ROS binaries locally:

   - Virtualbox osx:
       - https://wiki.epfl.ch/roscontrol/rosinstall
   - Brew osx:
       - http://wiki.ros.org/melodic/Installation/macOS/Homebrew/Source
   - Windows:
       - http://wiki.ros.org/Installation/Windows
   - Ubuntu:
       - (there’s more variation here, but I’ll leave the general one for now)
       - http://wiki.ros.org/Installation/Ubuntu
   - Indigo Igloo (same one on the pi):
       - http://wiki.ros.org/indigo/Installation

Setting up RVIZ

RVIS does not run off of the pi as pi’s lack ogre, a core dependency of RVIS

Getting RVIS to work over multiple computers (generalized in case we switch off the pi or change os at some point):

Goal: as the pi cannot run RVIS by itself, RVIS instead can be run locally on a host computer and set the host to remotely pinpoint the master node on the pi.

---tested on a fresh pi flash, not the bike teams pi, the methodology should be the same but minor tweeks will be made in the fall---

   Host:
   - SSH into the pi (both ethernet and wireless should function here)
   pi:
   - export ROS_MASTER_URI=http://(host.ip):11311 
       - Using host ip instead of localhost
   - export ROS_IP=(host.ip)
       - Get around DHCP firewall issues that may occur
   - roscore
       - Initing roscore to the host
   Host:
   - export ROS_MASTER_URI=http://(host.ip):11311
       - Informs host where to look and what port will be theoretically outputting data
   - export ROS_IP=(pi.ip)
       - Again getting around firewall issues
   - rosrun rviz rviz
       - Assuming host has the full binaries of ROS installed, this should fire up rvis locally and attach it to the master node of the pi

---end of things that are subject to change---

   To confirm functionality:
   - rxgraph
       - Shows a tree of nodes and how they’re organized
   QOL:
   - everytime a new terminal is open on the host/pi, we have to call the 2 export commands, can make this permanent by directly edit the ~/.bashrc file:
       - sudo gedit ~/.bashrc 
           - add the two export commands at the end of the file.
       - source ~/.bashrc 
           - restart terminal

Interfacing between ros/rviz and piksi multi on unix based os (done on ubuntu)

prereq: ROS indigo or jade

  • Building libsbp

cd mysrc # cd to a directory where you will download and build libsbp

git clone https://github.com/PaulBouchier/libsbp

cd libsbp/c

mkdir build

cd build

cmake ../

make

sudo make install # install headers and libraries into /usr/local

  • Installing swiftnav_piksi driver

cd catkin_ws/src # your catkin workspace

git clone https://github.com/PaulBouchier/swiftnav_piksi.git

cd ..

catkin_make

Building piksi console from source

git clone https://github.com/swift-nav/piksi_tools.git

cd piksi_tools

git checkout v0.30.9

cd tasks

./setup.sh -x install

cd ..

sudo pip install -r requirements.txt

sudo python setup.py install

After software is successfully installed, https://docs.swiftnav.com/wiki/ROS_Integration_Guide is a complete guide on usage between ROS and the piksi