Connection guide
Connecting the power
Connect the power the one of the pico-2 connectors (any one of the two available ones)
Info
- The actuator's supported power supply in in range of 12V to 24V. make sure to connect the power supply accordingly.
Warning
The lower the voltage the lower the maximal achievable velocity of the actuator.
Once the power is connected, the actuator will start its initialisation procedure. Here is the video of it.
Once it is done it will show a green led light showing that it is ready to be used, otherwise it will show a red led light if there is an error. See more info about the led lights here.
Connecting the ethercat cable
Then we can connect the ethercat cable (to any of the two connectors available).
And you should be ready to go.
Simple test
If you have the ethercat stack installed on your computer you can check if the actuator is connected by running the command ethercat slaves
in the terminal. The command will show the list of connected slaves and the status of each one of them.
If the actuator (ex. name: RightWristOrbita3d
) is connected it should show something like this:
Then if you have the package installed from source, you can run a simple test to check if the actuator is working properly using the code examples poulpe3d
:
Otehrwise you can use the python bindings to connect to the actuator and do the same test:
import numpy as np
import time
from poulpe_ethercat_py import PyEthercatServer
from orbita3d import Orbita3dController
# Start the EtherCAT master
server = PyEthercatServer()
server.launch_server("path/to/ethercat_config.yaml")
# give some time for the master to start
time.sleep(1)
# connect to the actuator
orbita = Orbita3dController.from_config("path/to/orbita3d_config.yaml")
# enable the actuator
orbita.enable_torque()
# do a simple sinusoidal movement of the actuator
t0 = time.time()
while time.time() - t0 < 15:
yaw = np.deg2rad(20) * np.sin(2 * np.pi * 0.15 * time.time())
orbita.set_target_rpy_orientation((0.0, 0.0, yaw))
time.sleep(0.001)
# disable the actuator
orbita.disable_torque()
Example ethercat config file
Example of a config file for the EtherCAT master (ex. `ethercat_config.yaml`):Example orbita3d config file
Example of a config file for the Orbita3d actuator (ex. `orbita3d_config.yaml`):io: !PoulpeEthercat
url: http://127.0.0.1:50098
#name: NeckOrbita3d # it will use the name if available (optional but recomended)
id: 0 # otherwise it will use the id (optional)
disks:
#zeros: !ZeroStartup
zeros: !FirmwareZero
reduction: 5.333333333333333333
kinematics_model:
alpha: 0.9424777960769379 # 54 degrees
gamma_min: 0.6981317007977318 # 40 degrees
offset: 0.0
beta: 1.5707963267948966 # 90 degrees
gamma_max: 3.141592653589793 # 180 degrees
passiv_arms_direct: true
inverted_axes:
- false
- false
- false
Both of the examples will do a short sinusoidal movement of the orbita actuator around the yaw axis.