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:
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
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.
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.