Skip to main content

Grip is a prototyping toolbox for manipulation research.

Project description

[![Build and Test (humble)](https://github.com/dyson-ai/grip/actions/workflows/build_and_test.yaml/badge.svg)](https://github.com/dyson-ai/grip/actions/workflows/build_and_test.yaml)

# Grip

Grip is a prototyping toolbox for robot manipulation research powered by [Bullet3](https://github.com/bulletphysics/bullet3). It contains a collection of tools for creating robot manipulation environments, loading arbitrary robot arms and grippers through URDF, as well as handling and acquiring data from simulated and real RGBD cameras. It also supports ROS2 allowing created environments or applications to be easily integrated with the ROS2 ecosystem.

## Installation <a name=”installation”></a>

### Pure python installation through pip

  1. Install

` pip3 install git+https://github.com/dyson-ai/grip.git `

  1. Run simple example (pure-python)

` python3 -m grip_examples.environments.ex01_pick_and_place `

This will run a basic pick and place demo. You should see the robot picking and placing a an object on the table (see below).

![Simple python demo](./grip_assets/media/simple_demo.gif)

  1. Another example: loading a Franka Panda robot (pure-python)

` python3 -m grip_examples.robot.ex02_robots ` This will spawn a Franka Panda robot that can be controlled through joint sliders. See more examples at [grip_examples](https://github.com/dyson-ai/grip/tree/main/grip_examples).

## Development setup

Development with vscode and running more examples:

  1. Clone this repository `git clone https://github.com/dyson-ai/grip.git`

  2. Run vscode: `code grip`

  3. F1 -> “dev containers: Reopen in Container”

  4. Build repo with colcon: `colcon build`

## ROS2 examples A few basic ROS2 examples are showcased below.

### Basic ROS2 example

Launch file: ` ros2 launch grip ros_arm.launch.py `

You should be able to see a simulation of a panda arm, and a pre-configured rviz displaying the robot model, state, and point cloud as below. The main node for this example is located at grip/grip_examples/robot/ex04_ros_robot.py. For more examples see grip/grip_examples and grip/launch.

![Basic ROS2 demo](./grip_assets/media/basic_demo_2x.gif)

### Moveit demo

Launch file: ` ros2 launch grip moveit_demo.launch.py ` You should be able to see a simulation of a panda arm, and a pre-configured rviz displaying the robot model, state, and point cloud, and moveit planning scene as below. The main node for this example is located at grip/grip_examples/robot/ex05_ros_robot_moveit.py. For more examples see grip/grip_examples and grip/launch.

![Basic ROS2 demo](./grip_assets/media/moveit_demo.gif)

## Topics, services and actions of simulated ROS robot

The provided ROS2 interfaces should allow for ROS standard communication (e.g. if you want to connect the robot to moveit, or subscribe to its topics, tf, services, actions, sensors, etc)

Happy coding!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gripx-0.0.7.tar.gz (116.6 kB view details)

Uploaded Source

Built Distribution

gripx-0.0.7-py3-none-any.whl (154.8 kB view details)

Uploaded Python 3

File details

Details for the file gripx-0.0.7.tar.gz.

File metadata

  • Download URL: gripx-0.0.7.tar.gz
  • Upload date:
  • Size: 116.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for gripx-0.0.7.tar.gz
Algorithm Hash digest
SHA256 d3fd4f2a42264812fde322ce722d1a6dcba9fdd42016abc273d66f50eb04d07a
MD5 5834cc5f4d9df4d85025198e6ffe4f9f
BLAKE2b-256 52347e8a597e8dc147f8faea06f6005590ae171fc2816ab2d7a59a056a3df40d

See more details on using hashes here.

File details

Details for the file gripx-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: gripx-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 154.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for gripx-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 60d724ababdd4f5982d5a7a3904a303fe982fcab41aa6be80660d529a10374c4
MD5 bbdfbfa7bc3c1ecd3735e92ff4026250
BLAKE2b-256 6bf7c19fa9c5947078ec568b1bfda8e9f0fa3c7f6e4ddd014e6c4cec7e639e8f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page