Roboy / gelataio-boy

SS19 Full Body Control Team: Generating motions and control for scooping ice cream, picking cups and handing it over to the customer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🍨 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.

About

SS19 Full Body Control Team: Generating motions and control for scooping ice cream, picking cups and handing it over to the customer


Languages

Language:C++ 39.4%Language:Python 32.5%Language:CMake 21.6%Language:Shell 4.7%Language:Dockerfile 1.8%