Demo Scripts

This section describes the demo scripts that come with the Trossen Arm driver.

What You Need

To get started, please make sure you have gone through the Configuration. For the driver’s concepts and how a script is structured, see the Programming Guide (Concepts and Writing a Script).

Demos

These demos ground the concepts from the Programming Guide in ready-to-run examples. Demos of three levels of complexity are provided with the driver.

Basics

The basic demos show the must-know functionalities to get the arm up and running.

cartesian_position

This script demonstrates how to perform position control in Cartesian space.

configure_cleanup

This script demonstrates how to configure and cleanup the driver. This is useful for switching between different arms without creating a new driver object. This script also demonstrates how to access the driver’s states and configurations.

gravity_compensation

This script demonstrates how to do gravity compensation. This is useful for manually moving the arm to teach a trajectory or record specific positions.

gripper_torque

This script demonstrates how to open and close the gripper.

set_mode

This script demonstrates how to set the mode of the robot.

simple_move

This script demonstrates how to move a robot to different positions.

mixed_interpolation_space

This script tests transitions of the interpolation space.

arm_discovery

This script discovers all Arm Controllers connected on a given subnet.

Intermediate

The intermediate demos give examples on commonly-used configurations and application-specific control loops.

cartesian_external_effort

This script demonstrates how to use external effort control in Cartesian space to do impedance control.

cartesian_velocity

This script demonstrates how to use velocity control in Cartesian space to do admittance control.

configuration_in_yaml

This script demonstrates how to exchange persistent configurations via a YAML file.

error_recovery_and_logging

This script demonstrates how to recover from an error in the driver and how to use and modify the logging capabilities of the driver.

gravity_compensation_partial

This script demonstrates how to compensate for a portion of the gravity.

move

This script demonstrates how to write a control loop to move the robot to different positions and record the states.

move_two

This script demonstrates how to move two robots to different positions using interpolation.

set_factory_reset_flag

This script demonstrates how to reset all configuration options to their default values.

set_ip_method

This script demonstrates how to set the IP method to DHCP or MANUAL.

set_joint_limits

This script demonstrates how to set the joint limits of the arm.

set_manual_ip

This script demonstrates how to set the manual IP address.

teleoperation

This script demonstrates how to teleoperate the robots with force feedback.

Advanced

The advanced demos show configurations that should be used with full understanding the implications.

set_joint_characteristics

This script demonstrates how to set the joint characteristics in the EEPROM, using the effort corrections as an example.

joint_characteristics_finetune

This script demonstrates how to finetune the joint characteristic of one joint.

set_motor_parameters

This script demonstrates how to set the motor parameters of the arm.

What’s Next

These demos give you a foundation for developing your own applications. For more details on the driver API, please refer to the Trossen Arm Driver API.