Warning

Important Notice: The DynaArm is currently a prototype and not ready for commercial use. It is intended solely for research and development purposes. Users are responsible for ensuring safe operation during its use.

Getting Started

This guide offers a concise overview of setting up and using the DynaArm. For more detailed instructions, follow the linked sections.

Hardware Setup

Mount the Robot

  • Use a stable, level surface for the robot.

  • Secure it with M5 screws (top) or M6 screws (bottom).

For detailed steps, see Mounting Instructions.

Connect Power and Communication

  • Connect an appropriate 48 V power supply to the robot.

  • Attach the EtherCAT cable to the Controller PC.

  • Ensure cables are secured and free of damage.

For detailed wiring and connection instructions, refer to Wiring and Connections.

Software Setup

Enable Realtime (for hardware use)

  • See detailed steps to configure realtime performance.

  • Proper configuration ensures stable hardware operation.

Get Started with the Software

You can set up the DynaArm software in two ways:

  1. Use the Pre-built Docker Image (Recommended for Most Users)

    • Download and run our pre-built Docker image for a quick and consistent setup.

    • See instructions at: Duatic Docker Image

  2. Manual Installation

    • Install ROS 2 Jazzy and all required packages yourself.

    • Follow the detailed steps to install ROS 2 Jazzy.

    • Verify that your ROS 2 environment is properly configured.

    • Follow the detailed steps to create and configure a ROS 2 workspace.

First Operation

Place the Robot in a Stable Position

Warning

Important Notice: The DynaArm does not have brakes.

  • The arm will not hold its position when power is off or during start-up.

  • Ensure the arm is placed securely to prevent it from falling or causing damage.

  • If necessary, physically support the arm or rest it on a stable surface.

Power On the Robot

  • Connect the power supply to the robot and switch it on.

Start the Software Driver

  • Modify the ethercat_bus parameter to match your Ethernet interface:

ros2 launch dynaarm_single_example real.launch.py ethercat_bus:=enp86s0
  • During start-up, the arm may briefly move uncontrollably. Keep a safe distance from its range of motion.

  • Once started, the robot will enter freeze control mode.

Activating Freedrive Mode

To freely move the robot around, activate the freedrive_controller, ensuring that any conflicting controllers, such as the freeze_controller, are deactivated:

ros2 control switch_controllers --activate freedrive_controller --deactivate freeze_controller

Once enabled, you can manually move the robot by guiding it with your hands.

Using a Gamepad to Control the Robot

With the gamepad interface active, you can control the robot’s movement and trigger special actions using the mapped buttons and joysticks.

Table 1 Gamepad Button Mapping

Control

Function

Description

L1 / Left Shoulder

E-Stop

Press to enter freeze mode.

Unfreeze

Hold for ~3s to exit freeze mode

Works even if the gamepad interface is not running.

R1 / Right Shoulder

Deadman Switch

Hold to execute anything.

Menu / Start

Switch Controller

Hold deadman, press to switch controllers.

Triangle / Y

Move Home

Moves the robot to its 0 / home position.

Circle / B

Move Sleep

Moves the robot to a safe shutdown position.

Safety

  • Press the E-Stop button at any time to immediately freeze the robot. Hold it for ~3 seconds to exit freeze mode and resume operation.

  • The E-Stop function is always available, even if the gamepad interface is not running.

  • To move the robot, always hold the Deadman Switch.

Launching the Gamepad Interface:

ros2 run dynaarm_gamepad_interface gamepad_interface

Switch controllers:

To switch between controllers (Joint Trajectory / Freedrive), hold the Deadman Switch and press the Switch Controller button.

For details on gamepad controls, including button mappings, see the mapping list.

Shutdown

  • Move the arm to a stable position before powering off. When unpowered, the arm cannot hold its position.

  • Follow the shutdown procedure in Robot Usage.

  • Secure the arm or place it on a stable surface before disconnecting the power supply.