rox_bringup

../_images/ROX_docs.gif
../_images/EMROX_docs.gif

Summary

As the name suggests, rox_bringup contains all the necessary configurations and launch files required to initialize and activate all the hardware components associated with the Neobotix ROX platforms. Furthermore, this package also manages the kinematics related to the ROX platform, enabling users to get the ROX platform up and running, including support for real and mock arms and grippers when configured as the EMROX mobile manipulator variant.

Location: https://github.com/neobotix/rox/tree/rolling/rox_bringup

Configurations

The configurations for kinematics, relayboard_v3, sensors and teleoperation can be found under the configs folder.

Files for each of the configurations are named with a the rox_type at the front. For example, the config file for kinematics of the rox-argo, will be named as argo_kinematics. Similarly the other configs are named.

Launch

The bringup_launch.py under the launch folder, brings up all the necessary components for the robot to initialize and activate.

ros2 launch rox_bringup bringup_launch.py

Launch Arguments

To view a detailed description of all available launch arguments, run:

ros2 launch rox_bringup bringup_launch.py --show-arguments
Arguments (pass arguments as '<name>:=<value>'):

'robot_namespace':
    Top-level namespace
    (default: '')

'rox_type':
    Robot type
. Valid choices are: ['', 'argo', 'argo-trio', 'diff', 'trike']
    (default: 'argo')

'arm_type':
    Arm used in the robot - currently only Universal Robotics arms are supported
. Valid choices are: ['', 'ur5', 'ur10', 'ur5e', 'ur10e']
    (default: '')

'scanner_type':
    Scanner options available: nanoscan/psenscan
    (default: 'nanoscan')

'imu_enable':
    Enable IMU - Options: True/False
    (default: 'False')

'use_ur_dc':
    Set this argument to True if you have an UR arm with DC variant
    (default: 'False')

'use_mock_arm':
    Mock arm and gripper (if available)
    (default: 'False')

'robot_ip':
    IP address of the robot arm.
    (default: '192.168.1.102')

'controllers_file':
    YAML file with the arm controllers configuration.
    (default: '/home/user/ros2_rolling_ws/install/neo_mpo_700-2/share/neo_mpo_700-2/configs/ur/ur_controllers.yaml')

'gripper_type':
    Enables gripper and it's controllers. Valid choices are: ['', '2f_140', '2f_85', 'epick']
    (default: '')

Note

  • Currently, only Universal robots are supported, soon Elite robots will be added.
  • Make sure to set the robot arm to remote mode and starting the necessary .urp in the teach pendant before bringing up the drivers.

The launch prompt for the commandline with all the option set, will be something like this:

ros2 launch rox_bringup bringup_launch.py rox_type:=argo-trio arm_type:=ur10 robot_ip:=192.168.1.102 gripper_type:=2f_140 imu_enable:=True

Frames of the UR arms are broadcasted with a prefix. The prefix is the name of the arm_type itself. For example, if the arm_type is set to ur5, then the frames will be broadcasted as ur5ebase_link, ur5eshoulder_link, ur5eelbow_link, ur5ewrist_1_link, ur5ewrist_2_link, ur5ewrist_3_link and ur5etool0.

For launching with the Mock Hardware:

ros2 launch rox_bringup bringup_launch.py rox_type:=argo arm_type:=ur10e gripper_type:=2f_140  robot_ip:=yyy.yyy.yyy.yyy use_mock_arm:=True