Skip to content

Michael-Equi/ROV_Test_Bench

Repository files navigation

ROV Test Bench

The goal of this project is to develop preseason software technologies based on ROS. This project will explorer development paths and verify new technologies before more permanent hardware development. Key areas of testing are cameras, vector drive, controllers, and PID algortihms. Additionally new workflows/integration tactics are to be tested and documented (Travis CI, Docker, node documentation, doxygen). This project will expire at the beginning of the 2018-2019 robotics season.

Build Status

Coverage Status

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on the main ROV system (Master).

FOLLOW:

Initial SETUP:

  • cd ~/Desktop
  • git clone https://github.com/Michael-Equi/ROV_Test_Bench.git
  • git submodule update --init
  • cd ROV_Test_Bench/scripts
  • ./GitSetup.sh
  • ./setup.sh
  • Try to install all ros depednencies (joy, rosserial, etc) at once using rosdep install --from-paths src --ignore-src -r -y in your ros_workspace
  • sudo apt-get install ros-kinetic-joy
  • (only on rpi w/ ubuntu Mate) sudo apt-get install samba
  • sudo apt-get install python-smbus
  • sudo apt-get install doxygen
  • sudo apt-get install ros-kinetic-rosdoc-lite
  • sudo apt-get install ros-kinetic-rosserial-arduino
  • sudo apt-get install ros-kinetic-rosserial
  • Check individual package setup documentation
  • cd ~/Desktop/ROV_Test_Bench/ros_workspace
  • catkin_make
  • Check for errors
  • Check prerequisites

Always run IDE's from terminal if on Ubuntu (just type the name of the IDE in terminal and click enter ex. clion)

Prerequisites

What things you should to install to develop and run software and how to install them

Code Blocks IDE on rpi ubuntu mate

  • sudo apt-get install codeblocks

On the RPI turn on the CSI, SPI, I2C, and UART interfaces using sudo raspi-config

Setup the I2C interface on Ubutnu Mate

  • cd /boot/config.txt
  • uncomment dtparam=i2c_arm=off and change to dtparam=i2c_arm=on
  • uncomment dtparam=i2c_arm_baudrate=100000 and change to dtparam=i2c_arm_baudrate=400000
  • restart pi

Setup the ros_lib file for arduino serial

  • See sketchbook README.md documentation

RPI Camera node setup

  • See raspicam_node README.md documentation

Network Setup

What things you need to do so that the ROS network operates properly

On ubuntu 16.04 go to Network Connections app and add a new ethernet connection (name the connection ROVEthernetConnection)

  • On the topside computer have a static (manual) IP of 192.168.1.100, netmask 24, Gateway 92.168.1.1, DNS server 27.0.1.1, 8.8.8.8, 192.168.1.1
  • On the bottomside computer have a static (manual) IP of 192.168.1.111, netmask 24, Gateway 192.168.1.1, DNS server 127.0.1.1, 8.8.8.8, 192.168.1.1
  • Run the setupROSNetwork.sh script in the scripts folder

Once the network connection has been verified (on bottomside ping master / on topside ping bottomside)

  • Run sshSetup.sh in the scripts folder
  • Do not add any paraphrases
  • on bottomside ssh master / on topside ssh bottomside
  • Make sure both work without entering a password

Network Setup DEBUG

  • IF you recieve /usr/bin/ssh-copy-id: ERROR: ssh: connect to host bottomside port 22: Connection refused go to the opposite machine from the one you recieved it on and run the following:
    • sudo rm /etc/ssh/sshd_config
    • sudo apt-get purge openssh-server
    • sudo apt-get install openssh-server
    • ./sshSetup.sh

Other usefull links for common problems:

Installing OS

A step by step series of examples that tell you how to get a development env running

On your Raspberry Pi 3 B make sure you are running ubuntu mate 16.04 (image here https://drive.google.com/open?id=1497jupJ2dBQqy_o_x5JBPTjY3lto7-rI)

  • cat /etc/os-release

##UPDATES NEEDED BELOW THIS POINT

Running the tests

Explain how to run the automated tests for this system (travis CI)

Break down into end to end tests

Explain what these tests test and why

Give an example

And coding style tests

Explain what these tests test and why (coveralls)

Give an example

Deployment

Add additional notes about how to deploy this on a live system (docker)

Built With

  • Dropwizard - The web framework used
  • Maven - Dependency Management
  • ROME - Used to generate RSS Feeds

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Michael Equi - Initial work

See also the list of contributors who participated in this project.

Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages