Skip to content
Giovanni Toffetti edited this page Apr 4, 2022 · 37 revisions

Welcome to the icclab_summit_xl wiki!

The repository has the base scripts for the summit_xl robot (from Robotnik) at ICCLab. It allows for simulated and in-the-real work with the Robotnik Summit XL Steel robot.

Model

  • We are using Hokuyo UTM-30LX lidars
  • Attached to the robotic base is a UR5 arm.

PS4 Controller

Note: The serial number of the robot is found on top of the PS4 controller (also the hostname of the robot).

Setup

  1. Connect the Bluetooth USB adapter to one of the USB ports on the robot
  2. Launch on the robot roslaunch icclab_summit_xl irlab_summit_xl_complete.launch
  3. Turn on PS4 controller

Control

  • To drive: hold R1 while using the two joysticks
  • To increase speed: hold R1 while pressing ▲ button
  • To decrease speed: hold R1 while pressing 🞩 button
  • To change Kinematic Mode: hold R1 while pressing R2 (kinematic mode 1 is diff-drive while mode 2 is omni)

Inputs are displayed on the console output of the roslaunch process.

Simulation

  • To launch the navigation simulation with AMCL: roslaunch icclab_summit_xl irlab_summit_xl_amcl.launch.
  • To launch the grasping simulation: roslaunch icclab_summit_xl irlab_sim_summit_xls_grasping.launch.
  • To launch both the grasping and navigation simulation: roslaunch icclab_summit_xl irlab_sim_summit_xls_complete.launch

For the grasping project you can test the python3 script (under the scripts subfolder) to grasp the given object in the environment: ROS_NAMESPACE=/summit_xl python3 pick_and_place_summit_simulation.py robotiq. Our default setup uses a Robotiq gripper. but you can also simulate a gripper by setting a parameter: roslaunch icclab_summit_xl irlab_sim_summit_xls_grasping.launch robotiq_gripper:=false and test it with the corresponding script: ROS_NAMESPACE=/summit_xl python3 pick_and_place_summit_simulation.py.

In-The-Real (ITR)

Navigation

  1. On the robot launch the base and move_base:

    roslaunch icclab_summit_xl irlab_summit_xl_amcl.launch sim:=false

  2. On the remote laptop view and control navigation only (from the proj directory) with:

    rviz -d rviz/irlab_summitxl.rviz

Check the Navigation Stack Wiki for more information.

Arm control

On the robot:

  1. Start base and robot model

    roslaunch icclab_summit_xl irlab_summit_xl_complete.launch

  2. Start the arm

    ROS_NAMESPACE=summit_xl roslaunch icclab_summit_xl irlab_summit_xl_bringup_arm.launch

  3. Start move_it

    roslaunch icclab_summit_xl irlab_summit_xl_move_it.launch

On the remote laptop:

  1. Make sure your ROS networking is set up correctly and you connect to the remote ROS master. Start rviz for arm control with:

    ROS_NAMESPACE=summit_xl rviz -d icclab_summit_xl/rviz/grasping.rviz

  • This launch files assumes one Scanse LIDAR and one LDS-01 attached. These LIDARs have static udev rules to correspond to /dev/front_lidar and /dev/rear_lidar.
    • To set the static names the following rules are set in the file /etc/udev/rules.d/99-persistent-lidar-usb.rules(note ATTRS{serial} is physical device-specific):
      • SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="front_lidar", GROUP="dialout", MODE="0666", OWNER="summit"
      • SUBSYSTEM=="tty", ATTRS{serial}=="DO004TUJ", SYMLINK="rear_lidar", GROUP="dialout", MODE="0666", OWNER="summit"
  • Scanse LIDAR scan is a point cloud that is converted to a laser scan. Each LIDAR scan is published on to a separate topic (/summit_xl/scan_front and /summit_xl/scan_rear respectively). Note: If there are no subscribers to these topics, no messages will be seen upon them.

CI

Travis CI

  • The .travis.yml specifies the Travis CI configuration
  • Currently it is setup to automate the process of building and pushing of the updated docker image robopaas/rosdocked-kinetic-workspace-included:latest
  • The VMs that Travis provides are not sufficient for testing scripts such as irlab_summit_xl_amcl.launch

run_tests.sh

  • Script needs to run on a local machine (fails on Travis)
  • The script run_tests.sh tests the scripts irlab_summit_xl_amcl.launch and pick_and_place_summit_simulation.py inside a docker container