This package contains configuration files to control IIT's Nexus robot with the xbot2 RT middleware.
- make sure that hhcm's ethercat master is correcly installed and configured, i.e. running the command
replfrom command line results in the master running without errors - source the included
setup.shfrom the.bashrcfile; this creates the aliasecat_master, to be used instead of directly callingrepl; it internally callsreplwith a proper configuration file for motors offsets and rotations signs that are specific to Nexus, and duplicates its standard output and standard error to the/tmp/ecat-outputfile
WARNING: calling repl directly must be avoided except for debugging purposes!
- select the included basic configuration file for xbot2 with
set_xbot2_config <path-to-this-repo>/nexus_basic.yaml
The Nexus robot can be run from two terminals as follows:
- make sure the emergency button is released
- [terminal 1] run the
ecat_mastercommands and wait until terminal output stops; this powers on the robot and establishes the ethercat communication with its slaves - [terminal 2] run
xbot2-core --hw CTRL_MODE(optionally with--verbose), whereCTRL_MODEcan beec_pos(motors start in position control mode)ec_imp(motors start in impedance control mode)ec_idle(motors are not started, and are turned off if needed)
A homing procedure can be optionally run at this point with rosservice call /xbotcore/homing/switch 1; note however that the homing module will not take care of (self) collision avoidance, and therefore care must be taken by the robot operator.
To control the robot from ROS, a specific module must be executed with rosservice call /xbotcore/ros_control/switch 1 before any message is published to the /xbotcore/command topic. WARNING: make sure that no other plugin is sending commands to the robot (e.g., the homing) in order to avoid discontinuous references.
Some more information is found here
Please use the issue tracker