Giter VIP home page Giter VIP logo

ros_assignment's Introduction

ros_assignment

Robot collaboration for fruit detection and counting in the LCAS Bacchus vineyard simulation.

Instructions

Create a fresh catkin workspace and clone the necessary repos:

mkdir -p ~/ros_ws/src && cd ros_ws/src

git clone https://github.com/nikostsagk/ros_assignment.git
git clone -b ros_assignment https://github.com/nikostsagk/bacchus_lcas.git
git clone -b ros_assignment https://github.com/nikostsagk/cmp9767m.git

cd ..
catkin_make -j12
source ~/ros_ws/devel/setup.bash

How to run

Running a single Thorvald

# Launch the gazebo simulation
roslaunch ros_assignment thorvald_bringup.launch fake_localisation:=false multi_sim:=false

# Launch the detection server and the detection client
# (on a new terminal)
roslaunch ros_assignment ros_assignment.launch nr:=1 nav_client_file:=$(rospack find ros_assignment)/config/navigation_goals.yaml

Running 7 Thorvalds!

To run 7 Thorvalds ensure that your system is powerful enough and if it crashes try launching again ๐Ÿ™ƒ

# Launch the gazebo simulation
roslaunch ros_assignment thorvald_bringup.launch fake_localisation:=false multi_sim:=true

# Launch the detection server and the detection client
# (on a new terminal)
roslaunch ros_assignment ros_assignment.launch nr:=7 nav_client_file:=$(rospack find ros_assignment)/config/multi_navigation_goals.yaml

Description

This package provides a detection service (getGrapes), which given an RGB+depth pair, returns grape detections in real world coordinates (using the camera's frame_id). At the same time, the service aggregates all the detections over time and publishes them in a latched markerArray topic using /map as frame_id.

It also provides an actionServer client, that uses a topological_navigation map to move the robot across the field. On each node, the robot stops and calls the getGrapes service.

The nodes can be modified under config/navigation_goals.yaml.

Known issues:

When its used with multiple Thorvalds (e.g. 7 robots on the field) sometimes the Gazebo server crashes. Also tf extrapolation error might occur, as the system struggles managing the load of the cameras. It's strongly recommended to be run on a powerful machine.

Troubleshooting

sudo reboot # and pray

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.