Coder Social home page Coder Social logo

aliengo_delivery's Introduction

Instructions: Package Delivery Scenario in Multi-Floor Environment using State Machine

In paper, the supervisory control of a Discrete Event System (DES) is analyzed to construct autonomous package delivery system. The delivery system includes legged robot in order to autonomously navigate uneven indoor terrain and a conveyor belt for transporting the package to the legged robot. The aim of the paper is using theory of supervisory control of DES to supervise and control machine’s state and event and ensure robots autonomously collaborate. By applying the theory, we show collaboration of two individual robots to deliver goods in multi-floor environment The obtained results from the theory of supervisory control is implemented and verified in simulation environment. In this code, four legged robot Aliengo and a conveyor belt are implemented in Gazebo environment to collaborate and deliver goods in destinated area. We implement Theory of Supervisory Control of Discrete Events-States (DES) using ROS-Smach library.

Dependencies

Requirements:

  • Ubuntu 16.04 or 18.04
  • ROS kinetic or melodic
  • Gazebo8 or above
ros-melodic-gazebo8-ros
ros-melodic-gazebo8-ros-control
ros-melodic-gazebo8-ros-pkgs
ros-melodic-gazebo8-ros-dev

ROS related packages for simulation

sudo apt-get install ros-melodic-controller-manager ros-melodic-ros-control ros-melodic-ros-controllers ros-melodic-joint-state-controller ros-melodic-effort-controllers ros-melodic-velocity-controllers ros-melodic-position-controllers ros-melodic-robot-controllers ros-melodic-robot-state-publisher

Building ROS workspace:

make a workspace folder (for example: aliengo_delivery_ws) and copy src file into here.

  • mkdir ~/aliengo_delivery_ws/src
  • cd ~/aliengo_delivery_ws/src

compile

  • catkin_make

if compiling gives error, to make sure all ros related packages are installed, go to learning_ws

  • source devel/setup.bash
  • rosdep install --from-path src -yi

Proposed delivery framework which includes three main block; DES, Conveyor Belt and Legged Robot

  • Framework of our DES implementation on Autonomus Package Delivery

Visualization of multi-floor environment and two collaborative robots

  • Simulation Environment in Gazebo: (Up-Left) indoor-unevenenvironment which includes stair, (Bottom Left) Quadrupedal robot which a package carrier is mounted on it’s back, (Bottom Right) Conveyor belt which moves box to robot’s back

aliengo_base

includes foot placement controller

aliengo_config

includes configs of gaits

aliengo_navigation

includes 2D path planing algorithm (move_base)

aliengo_description

including mesh, urdf and xacro files of quadrupedal robot named Aliengo A1

aliengo_gazebo

Spawns aliengo robot, conveyor belt and a box in Gazebo enviornment (normal_aliengo.launch)

laikago_controller

Laikago's default joint controller, subscribes joint commands via topics

laikago_msgs

Laikago's default msgs

How to Execute The Scenario

Open first terminal; (opens gazebo and rviz while spawning Aliengo, conveyor and a box)

  • roslaunch aliengo_gazebo normal_aliengo.launch

Open third terminal; (opens state machine)

  • rosrun aliengo_state_mach state_machine.py

Open fourth terminal; (opens state-event controller) and press s to start

  • rosrun aliengo_delivery aliengo_delivery.py

Additionally to visualize states and events

  • rosrun smach_viewer smach_viewer.py

Gazebo Snapshots of Autonmous Delivery Scenario

  • Snapshot of Autonomous Package Delivery Scenario:(Up-Right)initial Position , (Up-Left) first goal reached, (Bottom-Left) climbing to thestairs, (Bottom-Right) second goal reached

State Machine Snapshots of Autonmous Delivery Scenario (DES is obtained from Theory of Supervisory Control)

  • States and Events in ROS-Smach Implementation

Results

Robot is able to pick-up package and delivery one floor above by climbing stair.

  • Video Result of Implemening State Machine considering all CONTRALLABLE states and events

Robots are able to return initial starting state if robot is falling or box is falling.

  • Video Result of Implemening State Machine considering all UNCONTRALLABLE states and events

Reference

Haddeler, G. (2021). The Analysis of Discrete-Event System in Autonomous Package Delivery using Legged Robot and Conveyor Belt. arXiv preprint arXiv:2101.12347.

aliengo_delivery's People

Contributors

eborghi10 avatar hgaren avatar

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.