Giter Club home page Giter Club logo

gelataio-boy's Introduction

๐Ÿจ Gelataio mode for Roboy ๐Ÿจ

This is a repository with all the packages used by the scooping team while developing scooping procedure for Roboy. Here you can find everything regarding scooping, planning, vision, etc.

Vision Video Final Video
Vision Video Final Video

Slides

Package list

Our project was organized in semi-independent packages, most of which can be configured to perform other tasks:

  • coordinator - a.k.a. "workflow module" responsible to the coordination of all other submodules, interfacing with Luigi (human interaction package), services and message delivery
  • gelataio_boy_control - main control package for arm control and path execution
  • moveit_roboy_icecream - configuration files for moveit and path planning

These packages should be used simultaneously using the launch procedure from below. We also have two supplementary packages with their own user manuals in respecting folders:

  • scooping_cv - computer vision package for icecream recognition and surface detection
  • vive_control - package for direct arm control using a VR controller

Architecture

Arch Diagram

Installation using Docker

Our main packages are supposed to be used inside a docker container. You can pull it from the hub using the following command:

docker pull stlukyanenko/gelataio-control:latest

And run the pulled image using:

docker run --privileged --network host -it stlukyanenko/gelataio-control:latest

Manual installation

Generally, the docker image should suffice, but if you want to run it without it, you need to:

Install CARDSflow

Checkout the branches of it's submodules to the branches used by the control package:

kindyn => friday-branch
roboy_communication => master
robots => friday-branch

and install MoveIt:

sudo apt install ros-$ROS_DISTRO-moveit ros-$ROS_DISTRO-moveit-visual-tools  ros-$ROS_DISTRO-gazebo-plugins

Launch Files for Startup of all processes

We provide a set of launch files launching a couple of ROS nodes dependent on which setup you have. We distinguish real and sim environments. Real means for have roboy and the FPGA's running and have the hardware in the loop during execution. For sim environments there is no Roboy hardware and you use rviz to show the world state, e.g. you are in a simulated environment.

Real / Simulated Environment Luigi Available? Launch File
Real Yes start_real.launch
Real No (fake him) start_real_test.launch
Sim Yes start_sim.launch
Sim No (fake hime) start_sim_test.launch

Code Organization

Clone the repository into the src folder of your catkin workspace. Like this

cakin_ws/
	build/
		...
	devel/
		...
	src/
		CARDSflow/
			...
		gelatatio-boy/
			<subpackages of our project>
		<further packages if required>

Catkin build the packages recursively.

gelataio-boy's People

Contributors

aaarne avatar asakhnenko avatar hbdo avatar letrend avatar mayman99 avatar missxa avatar rfn123 avatar stlukyanenko avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mayman99 rfn123

gelataio-boy's Issues

Create docker containers

Docker 1: Control

  • MoveIt
  • Scooping planning + moveit config
  • CARDSflow (kindyn, robot_communication, robots all master)

Docker 2: Coordinator + vision

  • robot_communication
  • @bdogaroglu dependencies
  • bayesian tracker

Start moveit node in the launch file of gelataio_control

We have a launch file starting our controller node (the main process moving the hands, executing the scooping motions and grasping stuff). It needs a running moveit node to plan motion. We should start it automatically by adding it to the launch file of our control package.

Write an asynchronous version of the trajectory publisher

Right now the planAndExecute method block the scooping_control thread completely as I just implemented a quick and dirty version (including sleeps for the temporal timing) of it. We should add a new thread for streaming the trajectory to the topics.

Set up simulation in RVIZ

Static world objects

  • bike (rikshaw)
  • fridge
  • ice cream boxes
  • cup dispenser -> check this regarding collision

Tools

  • Scooping tool on hand
  • Cup

Add Go_home service

In pull request #37 go_home() has been removed from the scooping node ... it should be added a service where other node can call.

Start state in moveit should match Roboy's start state

We will stream the motion trajectories planned by moveit to the actuators. For the hand controller we need to add reading from the respective topics such that the start state for motion planning matches the actual start state of Roboy.

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.