patrickelectric / bluerov_ros_playground

Scripts to help BlueRov integration with ROS
68 stars 76 forks source link

BlueRov-ROS-playground

Scripts to help BlueRov integration with ROS. What is possible ?

Getting Started

Requirements

Installation

  1. Go to your ROS package source directory:
    • $ cd ros_workspace_path/src
  2. Clone this project.
    • $ git clone https://github.com/patrickelectric/bluerov_ros_playground
  3. Go back to your ROS workspace:
    • $ cd ../
  4. Build and install it:
    • $ catkin_make --pkg bluerov_ros_playground
    • if using ROS from source:
      • $./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --pkg bluerov_ros_playground
  5. Reload your ROS env.
    • bash: $ source devel/setup.sh
    • zsh: $ source devel/setup.sh

Running

Running with SITL

Topics

If you need more information about the topics and what you can access, take a look here.

Software Layer Diagram

                      +-----------------------+         +------------------------+
                      |     Raspberry Pi      |         |    Topside Commputer   |
                      |    ip 192.168.2.2     |         |     ip 192.168.2.1     |
                      |                       |         |                        |
+-------+  Telemetry  | +-------------------+ |         |                        |
|Pixhawk<-------------->USB         MAVProxy| |         |                        |
+-------+    Pilot    | +                   + |         | +--------------------+ |
            Control   | |            udpbcast<----------->:14550         MAVROS| |
                      | +-------------------+ |  Pilot  | |(UDP)               | |
                      |                       | Control | |                    | |
                      | +-------------------+ |         | |       (ROS)        | |
+---------+           | CSI+2       raspivid| |         | +------+/mavros+-----+ |
|Raspberry+------------>camera              | |         |           ^            |
| Camera  |           | port                | |         |           |            |
+---------+           | +                   | |         | +---------v----------+ |
                      | |                   | |         | |subs.py      pubs.py| |
                      | +------------+stdout+ |         | |                    | |
                      |                  +    |         | |                    | |
                      |             Raw  |    |         | |                    | |
                      |             H264 |    |         | |                    | |
                      |                  v    |         | |      user.py       | |
                      | +------------+ fdsrc+ |         | |                    | |
                      | |gstreamer          | |         | |                    | |
                      | |                   + |         | :5600 video.py       | |
                      | |             udpsink+----------->(UDP)                | |
                      | +-------------------+ |  Video  | +---------^----------+ |
                      |                       | Stream  |           |            |
                      +-----------------------+         |           +            |
                                                        | +--------/joy--------+ |
                                                        | |joy     (ROS)       | |         +--------+
                                                        | |                  USB<----------+Joystick|
                                                        | +--------------------+ |  Pilot  +--------+
                                                        |                        | Control
                                                        +------------------------+