GithubHelp home page GithubHelp logo

mobipick_api's Introduction

mobipick_api

robot_api customized for the mobipick robot.

A pre- and concise Python API to control mobipick robot with simple commands.

Usage snippets

Get a Mobipick Robot object using the robot's namespace:

import mobipick_api
mobipick = mobipick_api.Robot('mobipick')

Navigation:

# Get the robot's 2D pose using localization.
mobipick.base.get_2d_pose()
# Move the robot's base using move_base.
mobipick.base.move(21.0, 7.0, 3.141592)

Perception:

# activate pose selector, wait 1 second, deactivate pose selector
# as DOPE is implemented as a lazy subscriber, activating pose selector means DOPE is activated as well
# DOPE : Deep Object Pose Estimation
mobipick.arm_cam.perceive()
# or
mobipick.arm_cam.perceive(observation_list=[])

# alternatively, define a list of observation poses to visit
mobipick.arm_cam.perceive(observation_list=['observe100cm_right', 'observe100cm_front'])
# query 6D pose estimate of a specific object
mobipick.arm_cam.get_object_pose('multimeter_1')
# query if a specific object was perceived or not
mobipick.arm_cam.is_object_inside_pose_selector('multimeter_1') # expected return value is a boolean

Manipulation (with MoveIt):

# move the robot's arm in configuration space to predefined semantic poses
mobipick.arm.move('transport')
# to see predefined semnatic poses do the following command in a terminal:
roscat mobipick_moveit_config mobipick.srdf.xacro | grep arm | grep state
# pick an object that was previously perceived
mobipick.arm.pick_object('multimeter_1', 'table_3', planning_scene_ignore_list=[], timeout=50.0)
# insert an object that was previously picked into a container, e.g. a box
mobipick.arm.insert_object('klt_3', observe_before_insert=False, timeout=50.0)
# assuming that mobipick has an object in its gripper, you can place it on a surface by doing:
mobipick.arm.place_object('table_3', observe_before_place=False, timeout=50.0)

Credit

mobipick_api depends and is inspired by robot_api which was developed by Alexander Sung [email protected]

mobipick_api was developed and is maintained by Oscar Lima [email protected]

mobipick_api's People

Contributors

oscar-lima avatar alexander-sung avatar mintar avatar marcvinci avatar

Watchers

 avatar  avatar Sebastian Stock 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.