Using RVIS with Pi
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