/mycobot_ros

A ros package for myCobot.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

mycobot_ros

All Contributors

jaywcjlove/sb jaywcjlove/sb

中文文档 | English Documentation

Control or simulate myCobot series robots in ROS.

Demo

Notes:

  • Make sure that Atom is flashed into the top Atom and Transponder or minirobot is flashed into the base Basic .The tool download address: https://github.com/elephantrobotics/myCobot/tree/main/Software

  • Supported ROS versions:

    • Ubuntu 16.04 / ROS Kinetic
    • Ubuntu 18.04 / ROS Melodic
    • Ubuntu 20.04 / ROS Noetic
  • The urdf model of a single gripper in this article is applicable to all machines that support this accessory.

Installation

Option 1: Docker

There are two ways to run this project. The first is by running the project in a container, and this requires installing docker and installing docker-compose. The benefit of running in the container is that you can run the project in any version of linux, as long as your kernel is new enough.

Once docker is installed, run the following command, and the project should show up.

Without NVIDIA GPU:

ROS Noetic:

docker-compose build ros-noetic && xhost +local:root && docker-compose up ros-noetic

ROS Melodic:

docker-compose build ros && xhost +local:root && docker-compose up ros

With NVIDIA GPU

ROS Noetic:

docker-compose build nvidia-ros-noetic && xhost +local:root && docker-compose up nvidia-ros-noetic

ROS Melodic:

docker-compose build nvidia-ros && xhost +local:root && docker-compose up nvidia-ros

This command does three things:

  1. docker-compose build ros

    This builds the project in a container. That means nothing is installed on your host machine! The first time this runs, this command will take a long while. After running it once, caching will allow this command to run quickly.

  2. xhost +local:root

    This command gives X the ability to display GUI's from within the docker container

  3. docker-compose up ros

    This runs the image specified in the docker-compose.yml, which by default runs the command roslaunch mycobot_320 mycobot_320_slider.launch within the container.

To run other tutorials, set the LAUNCH_TARGET environment variable. For example, to the run the MoveIt tutorial run:

export LAUNCH_TARGET=mycobot_320_moveit mycobot320_moveit.launch
docker-compose up ros

Option 2: Local

2.1 Pre-Requriements

For using this package, the Python api library should be installed first.

pip install pymycobot --user

2.2 Package Download and Install

Install ros package in your src folder of your Catkin workspace.

$ cd ~/catkin_ws/src
$ git clone --depth 1 https://github.com/elephantrobotics/mycobot_ros.git
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
$ sudo echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc

2.3 Test Python API

cd ~/catkin_ws/src/mycobot_ros
python test.py

Where to get help

There is documentation in the ElephantRobotics Docs. Please check the ROS chapter.

Important Links & Docs

Contributing

Contributions are always welcome!

See CONTRIBUTING.md for ways to get started.

Please adhere to this project's code of conduct.

Screenshots

Demo

Demo

Demo

Demo

Demo

Demo

URDF Model Graph

mycobot 280 m5

280 m5

mycobot 280 m5 gripper

280 m5 gripper

mycobot 280 m5 pump

280 m5 pump

mycobot 280 m5 camera flange

280 m5 camera flange

mycobot 280 m5 camera flange & pump

280 m5 camera flange & pump

mycobot 280 pi

280 pi

mycobot 280 pi pump

280 pi pump

mycobot 280 pi camera flange

280 pi camera flange

mycobot 280 pi camera flange & pump

280 pi camera flange pump

mycobot 280 JetsonNano

280 jn

mycobot 280 JetsonNano Adaptive gripper

280 jn

mycobot 280 JetsonNano Parallel gripper

280 jn

mycobot 280 Arduino

280 ar

mechArm 270 m5

270 m5

mechArm 270 pi

270 pi

myPalletizer 260 m5

260 m5

myPalletizer 260 pi

260 pi

mycobot 320 m5 2020

320 m5 2020

mycobot 320 m5 2022

320 m5 2022

mycobot 320 m5 2022 gripper

320 m5 2022 gripper

mycobot 320 pi 2022

320 pi 2022

ultraArm P340

p340

mycobot 280 pi aikit

aikit 280pi

mycobot 320 pi aikit

aikit 320pi

mybuddy

mybuddy

mycobot pro 600

pro600

myArm 300 Pi

myarm

mycobot pro 630

pro630

Single Gripper URDF Model Graph

This urdf model is applicable to all machines that support this accessory

mycobot Adaptive gripper

280 jn

mycobot Parallel gripper

280 jn

mycobot Pro Adaptive gripper

280 jn

Contributors

Thanks goes to these people (Emoji Key):

Alex Thiele
Alex Thiele

💻
Shinya Nishimoto
Shinya Nishimoto

💻 📖
Takashi Ogura
Takashi Ogura

💻
Ryuichiro Toyoshi
Ryuichiro Toyoshi

📖
Ryo Kabutan
Ryo Kabutan

🎨
Takafumi Watanabe
Takafumi Watanabe

💻 📖
Yoshiaki Watanabe
Yoshiaki Watanabe

💻
Masato Kobayashi
Masato Kobayashi

💻
Daisuke Sato
Daisuke Sato

📖 💻
Eric Cousineau
Eric Cousineau

💻
thandal
thandal

💻
nakano16180
nakano16180

📖
Akihiro Komori
Akihiro Komori

💻
Jason Skowronski
Jason Skowronski

💻
2929ss
2929ss

💻
TAKASU Masakazu
TAKASU Masakazu

📣
SAITO, Tetsuya
SAITO, Tetsuya

📣

This project follows the all-contributors specification. Contributions of any kind are welcome!

License

Licensed under standard three-clause BSD license (same as ROS Core), Copyright 2020-2023 Elephant Robotics. Copy of the license.