Edit on GitHub

[ROS 2] Setup

NOTE :

  • The test is done on ROS 2 Dashing Diademata installed in Ubuntu 18.04.
  • Make sure ROS dependencies are installed before performing these instructions. - Install ROS 2 Packages

WARNING : If you would like to control OpenMANIPULATOR-X on OpenCR (Embedded board) instead of using ROS, please set it up as described in OpenCR Setup.

Install Ubuntu on PC

Download and install Ubuntu 18.04 on your PC. Tutoral guide will be helpful for you to install Ubuntu Desktop.

Install ROS 2 on PC

As OpenMANIPULATOR-PRO operates on Ronbot Operating System(ROS), it requies to intall ROS 2 Dashing Diademata. The following script will allow you to simplify the ROS 2 installation procedure. Run the following commands in a terminal window. After installing ROS 2, please reboot PC.

NOTE: The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl+Alt+t.

$ sudo apt update && sudo apt upgrade
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/open_manipulator/ros2/install_ros_dashing.sh && chmod 755 ./install_ros_dashing.sh && bash ./install_ros_dashing.sh

NOTE: In order to check which packages are installed, please check this link out. install_ros_dashing.sh

If you prefer a manual installation,following link guides you how to install ROS 2 on your PC

Install ROS 2 Packages

Install dependent packages for OpenMANIPULATOR-X. Run the following commands in a terminal window.

$ sudo apt install ros-dashing-python* ros-dashing-rqt*
$ cd ~/robotis_ws/src/
$ git clone https://github.com/rjshim/cmake_modules.git -b ros2-devel
$ git clone https://github.com/rjshim/joint_state_publisher.git -b ros2-devel
$ git clone https://github.com/ROBOTIS-GIT/DynamixelSDK.git -b ros2
$ git clone https://github.com/ROBOTIS-GIT/dynamixel-workbench.git -b ros2
$ git clone https://github.com/ROBOTIS-GIT/dynamixel-workbench-msgs.git -b ros2
$ git clone https://github.com/ROBOTIS-GIT/robotis_manipulator.git -b ros2
$ git clone https://github.com/ROBOTIS-GIT/open_manipulator_msgs.git -b ros2
$ git clone https://github.com/ROBOTIS-GIT/open_manipulator.git -b ros2
$ cd ~/robotis_ws && colcon build --symlink-install

Communication Converter

U2D2

Connection

Connect micro USB (connected to PC), DYNAMIXEL’s(OpenMANIPULATOR-X), and 12V Power to U2D2 and U2D2 power hub board as shown below.

NOTE : Please refer to U2D2 e-Manual and U2D2 power hub board e-manual for detailed connection of U2D2 and U2D2 power hub board.

USB Latency Timer Setting

In Linux(Ubuntu platform) environment, USB latency time is set to 16ms by default. Follow the steps below to set the communication latency time to the lowest value (1ms) between DYNAMIXEL’s and PC connected via USB.

Open a terminal window and run the following command to set usb latency time.

$ ros2 run open_manipulator_x_controller create_udev_rules

TIP: This entered command set USB latency timer to 1 ms. If you would like to see the setting, run the following command in a terminal.
cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

OpenCR

This section explains how to set up OpenCR as a communication board between ROS Packages of PC and DYNAMIXEL’s of OpenMANIPULATOR-X.
If you want to operate OpenMANIPULATOR-X on embedded system (OpenCR) without ROS, please refer OpenCR Setup.

Connection

Connect micro USB (connected to PC), Dynamixel’s(OpenMANIPULATOR-X), and 12V Power to OpenCR as shown below.

NOTE : Please refer to the detailed description of OpenCR.

Upload Source code

Please refer to the following pages to install the Arduino IDE and enable the OpenCR board in the Arduino IDE environment.

After completing all the above settings, open the Arduino IDE and open usb to dxl example source code as shown below. Go to ExamplesOpenCR10.Etcusb_to_dxl on Arduino IDE for OpenCR.

Upload the usb to dxl example source to OpenCR.

When the upload is completed, the following comments are displayed in the log window.

If it is shown different comments than this, try uploading again. Refer to the OpenCR for details.

TIP: If an error of cmd_read_board_name fail: 0xF020 occurs constantly during upload, please refer to OpenCR e-manual to enter the firmware recovery mode and upload the source code again after entering mode.