Giter Club home page Giter Club logo

ign_moveit2's Introduction

ign_moveit2

Examples of using MoveIt2 for planning motions that are executed inside Ignition Gazebo simulation environment. These examples do NOT make use of ros2_control*, but instead employ JointTrajectoryController Ignition system plugin with the communication graph illustrated below. All communication and move_group action server can be setup using ign_moveit2.launch.py, which then allows usage with both C++ and Python interface.

ign_moveit2_communication_scheme

This repository previously contained also JointTrajectoryController which is now merged into ign-gazebo. Therefore, this repository should serve as a template/example of using such setup and no longer needs to be installed.

To demonstrate Python usage, a minimal Python MoveIt2 interface is also provided in this repository for Franka Emika Panda because moveit_commander is not yet ported as of writing this (tracker). Once Python bindings for MoveIt2 are migrated, it is recommended to use those instead.

* Once ros2_control is ready to use (which it might already be at the time of reading this), then developing and using ign_ros2_control similar to gazebo_ros2_control might be recommended over the solution proposed in this repository.

Directory Structure

├── launch
    ├── ign_moveit2.launch.py    # Helpful launch file that starts up MoveIt2 move_group action server and bridges between ROS 2 and Ignition
    └── examples                 # Launch files for examples
├── examples                     # C++ and Python examples
├── moveit2_py                   # Python module for interfacing with MoveIt2 (temporary substitute for moveit_commander)
├── worlds
    ├── panda_follow.sdf         # Gazebo world for follow examples
    └── panda_throw.sdf          # Gazebo world for throw example
└── panda.repos                  # List of additional dependencies for `Franka Emika Panda`

Dependencies

All examples were tested with the following setup.

Additional robot-specific dependencies are also required, e.g. panda.repos.

Examples

Building

This step is required to install Python MoveIt2 interface and additional robot-specific dependencies for Franka Emika Panda in order to try out the examples.

The recommended way is to clone this repository, clone dependencies and build with colcon.

export PARENT_DIR=${PWD}
mkdir -p ign_moveit2/src && cd ign_moveit2/src
git clone https://github.com/AndrejOrsula/ign_moveit2.git
vcs import < ign_moveit2/panda.repos
cd ..
rosdep install --from-paths src -i -y --rosdistro ${ROS_DISTRO}
colcon build --merge-install --symlink-install --cmake-args "-DCMAKE_BUILD_TYPE=Release"

Environment

First, remember to source the ROS 2 workspace overlay before trying out any of the examples below.

source ${PARENT_DIR}/ign_moveit2/install/local_setup.bash

Follow Example

ros2 launch ign_moveit2 example_follow_object.launch.py

follow

Throw Example

ros2 launch ign_moveit2 example_throw.launch.py

throw

ign_moveit2's People

Contributors

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