GithubHelp home page GithubHelp logo

tasada038 / denso_cobotta_ros2 Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 40 KB

This repository demonstrates cobotta Moveit2 in ROS2 and Rviz2.

License: MIT License

CMake 4.50% Python 79.61% C++ 15.88%
cobotta ros2 rviz2 moveit2

denso_cobotta_ros2's Introduction

denso_cobotta_ros2

This repository demonstrates cobotta Moveit2 in ROS2 and Rviz2.


Requirements & Environment

  • cobotta

    • OS: Standard OS, not COBOTTA driver for Linux
    • Version: 2.7.x ~
    • IP: 192.168.0.2
  • Laptop Computer

    • OS: Ubuntu 20.04 / 22.04
    • ROS2 distributions: Foxy / Humble
    • IP: 192.168.0.3

If you want to run it on ROS2 Humble, please change the launch file of the moveit package.

Foxy: cmd=["ros2 run controller_manager spawner.py {}".format(controller)],
Humble: cmd=["ros2 run controller_manager spawner {}".format(controller)],

Installation

Build from source and install ROS environments. Please see ROS Wiki.

Install ros-packages

sudo apt-get install ros-$ROS_DISTRO-joint-state-publisher*
sudo apt install ros-$ROS_DISTRO-robot-state-publisher
sudo apt-get install ros-$ROS_DISTRO-ros2-control*
sudo apt-get install ros-$ROS_DISTRO-moveit*

Create ros2 workspace

mkdir -p ~/cobotta_ws/src

Download the packages for denso-cobotta using git.

cd ~/cobotta_ws/src
git clone https://github.com/tasada038/denso_cobotta_ros2.git
cd..
colcon build

Also, download the stl file used in the cobotta_description package from "DENSO ROBOT MEMBER" and rename it as follows.

stl file path: denso_cobotta_ros2/cobotta_description/meshes/

CAD model download URL


This package does not include stl files, so you will not be able to run the demonstrations unless you have downloaded it.


  • base_link.stl
  • link_J1_1.stl
  • link_J2_1.stl
  • link_J3_1.stl
  • link_J4_1.stl
  • link_J5_1.stl
  • link_J6_1.stl
  • left_gripper_1.stl
  • right_gripper_1.stl

Setup COBOTTA hardware

Before using this package,it is necessary to change the setting of Executable Token to Ethernet and CALSET startup parameters on the Virtual TP side.


To set Executable Token to Ethernet, press

[F6 Setting] - [F5 Communication and Token] - [F1 Executable Token]

from the top menu of the teach pendant to display the parameter list.


To set the CALSET startup parameters, press

[F2 Arm] - [F6 Aux] - [F1 Config]

from the top menu of the teach pendant to display the parameter list.


  • Executable Token : Ethernet
  • CALSET on start-up : 1 (DoNot)

Usage

auto calset

cd ./cobotta_ws
python3 src/denso_cobotta_ros2/cobotta_control/cobotta_control/auto_calset.py

Uncomment the following if you use version 2.8 or higher

auto_calset.py line 71

self.m_bcapclient.robot_execute(hRobot, "ManualResetPreparation", "")

Read joint param & view rviz2

ros2 node for reading robot joint angles in real time

cd ~/cobotta_ws
. install/setup.bash
ros2 run cobotta_control to_rviz_node

Controlling cobotta with robot state demo

Display a cobotta robot model on RViz2 and controlling cobotta hardware.

Open two shells. In the first shell,convert rviz2 parameters to cobotta joint parameters with "to_cobotta_node"

ros2 run cobotta_control to_cobotta_node

In the second shell, run the launch file:

ros2 launch cobotta_bringup denso_cobotta_bringup.launch.py

moveit demo

MoveIt2 planning demo wiht RViz2 sim and cobotta hardware.

Open two shells. In the first shell,convert rviz2 parameters to cobotta joint parameters with "to_cobotta_node"

ros2 run cobotta_control to_cobotta_node

In the second shell, run the moveit demo launch file:

ros2 launch cobotta_moveit_config moveit_demo.launch.py

In the Planning Request, you can change the Planning Group to two types:

  • arm_controller

  • gripper_controller


move group demo

Open three shells. In the first shell,convert rviz2 parameters to cobotta joint parameters with "to_cobotta_node"

ros2 run cobotta_control to_cobotta_node

In the second shell, run the move group launch file:

ros2 launch cobotta_run_move_group move_group.launch.py

In the third shell, run the move group interface launch file:

ros2 launch cobotta_run_move_group move_group_interface.launch.py

moveit cpp demo

Open two shells. In the first shell,convert rviz2 parameters to cobotta joint parameters with "to_cobotta_node"

ros2 run cobotta_control to_cobotta_node

In the second shell, run the moveit cpp launch file:

ros2 launch cobotta_run_moveit_cpp moveit_cpp.launch.py

About denso cobotta ros2 packages

cobotta_bringup

This package includes launch files for startup of cobotta.

cobotta_description

This package includes configuration files for Rviz2

cobotta_control

This package controls the cobotta of real machine and the simulator in cooperation.

Also, orin_bcap_python is used to control cobotta.

bcap python package

cobotta_moveit_config

This package includes configuration files for MoveIt2.

cobotta_run_move_group

This package for moving cobotta using Move Group C++ Interface.

cobotta_run_moveit_cpp

This package for moving cobotta using MoveItCpp.


License

This repository is licensed under the MIT license, see LICENSE.

denso_cobotta_ros2's People

Contributors

tasada038 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

denso_cobotta_ros2's Issues

Are the STL models directly available from the manufacturer?

Hello @tasada038 Takumi

Thank you for your excellent work and for sharing the project with us. I do have a question, though. I visited the manufacturer's website to look for the STL files of separate links to the robot, but I couldn't find them.

2023-03-13_20-14

Am I looking in the wrong place? Or do I need to convert the files from STEP format? Please clarify this for me.

Thank you once again for your help.

Thank you!

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.