Skip to main content

User Computers

This subpage contains additional descriptions and manuals about Panther's User Computers not included in Panther options.

Mounting the User Computer

Overview

Panther platform can be configured with the option PC02. The Intel NUC User Computer is mounted in a dedicated place on User Shelf inside Panther. The instructions below will guide you on how to mount and set it up within your robot.

Mounting in Panther

  1. Turn off Panther.

  2. Open the Cover following instruction, then you can access the inside of the User Space.

  3. To remove the User Shelf loosen 6 x DIN 912 M5x12 screws and disconnect cables connected between the router and Panther.

    Remove User ShelfRemove User Shelf
  4. Mount PC02 using supplied screws (M3x8) to User Shelf.

    NUC screwsNUC screws
  5. Place the User Shelf in Panther and tighten 6 x DIN 912 M5x12 screws.

    Remove User ShelfRemove User Shelf
  6. Plug-in supplied power cable:

    • DC5.5 mm to PC02
    • XT60 to 19 V connector in User Power Panel.

    When the User Computer is supplied and mounted:

  7. Plug the supplied Ethernet cable into the User Computer and Teltonika RUTX11 router.

  8. Close the Cover following instruction.

Network setup

By default the network mask is 255.255.255.0 and the devices' IPs begin with 10.15.20.XX. The default static IPs are:

  • RUTX11 10.15.20.1 - an internal router with an access point and a DHCP server,
  • Built-in Computer 10.15.20.2 - a SBC with Panther's driver,
  • Additional: User Computer 10.15.20.3 - look at Computer (PC),
  • Additional: a manipulator 10.15.20.4 - look at Manipulators (MAN).

Applying DHCP Static Lease

  1. Access to Router WebUI using this instruction.

  2. Make sure that Mode advanced is enabled. Check it in the top right corner. If Mode Basic is shown, click on it to change it.

    Remove User ShelfRemove User Shelf
  3. Go to Network --> Interfaces and click edit on Lan Network.

    Remove User ShelfRemove User Shelf
  4. Edit Static lease named nuc. Next, type in the MAC address (supplied during purchase) and click Save and apply. If you do not know the MAC address, you can find it under Status --> Network --> LAN page. By default, the User Computer inside Panther has IP 10.15.20.3, but it can be changed to any value in the range between 10.15.20.3 to 10.15.20.254.

  5. You can access the User Computer through its new IP (default: 10.15.20.3). If it is not available, turn off and back on Panther.

Enable Internet connection in the RUX11

There are 2 ways to enable Internet connection of the Built-in Computer and of the User Computer. You can connect RUTX11 to existing Wi-Fi network which has access to the Internet or you can use a SIM card with LTE.

Connect the RUTX11 to another Wi-Fi

Connect the RUTX11 to another Wi-Fi network using the Configuration examples > Client Mode section from the producer's instruction.

Use LTE to get access to the Internet

Inset a SIM card to the RUTX11 following the producer's instruction and then active LTE following the producer's instruction.

Configure time synchronization with the Built-in Computer

The built-in computer uses Chrony to establish an NTP server. For optimal performance, the user's computer should be configured as an NTP client.

  1. Check if Chrony is installed:

    user@any:~$
    chronyd --version
  2. If Chrony is not installed, install it with the following command:

    user@any:~$
    sudo apt install chrony
  3. Edit the configuration file:

    user@any:~$
    sudo nano /etc/chrony/chrony.conf

    Add the following line:

    server 10.15.20.2 iburst prefer

    Save the changes (ctrl+s) and exit the file (ctrl+x).

  4. Restart chrony:

    user@any:~$
    sudo systemctl restart chrony.service
  5. Check if the synchronization was successful (it may take a moment before Chrony to restart):

    user@any:~$
    chronyc tracking

    The Reference ID field should contain the IP address of the Built-in Computer (10.15.20.2) or have rpi in the name. Example output:

    Reference ID    : 0A0F1402 (rpi.lan)
    Stratum : 3
    Ref time (UTC) : Tue Jun 18 09:03:48 2024
    System time : 0.000016993 seconds fast of NTP time
    Last offset : +0.000017369 seconds
    RMS offset : 0.000017369 seconds
    Frequency : 11.877 ppm slow
    Residual freq : +0.359 ppm
    Skew : 2.391 ppm
    Root delay : 0.029849635 seconds
    Root dispersion : 0.003227041 seconds
    Update interval : 64.3 seconds
    Leap status : Normal

Configuring Soft Shutdown with any User Computer

Following these steps will allow the Built-in Computer to request the shutdown procedure on the User Computer or any computer you install.

If you set up your User Computer with the default 10.15.20.3 IP address and username husarion select the Default configuration tab. In case the IP address or username differs from the defaults, select Custom configuration tab.

ADVANCED CONFIGURATION

The Built-in Computer's ROS 2 driver is capable of shutting down not only one User Computer but as many as you want. It is also capable of running custom shutdown commands and much more. Refer to the panther_manager ROS 2 package documentation to see how to edit shutdown_hosts.yaml to reflect your needs.

The default configuration assumes the system was installed following the steps in User Computer system reinstallation.

  1. From any device in Panther's network connect to the Built-in Computer via SSH:

    user@any:~$
    ssh husarion@10.15.20.2
  2. Exchange SSH public keys between the Built-in Computer and the User Computer with:

    husarion@10.15.20.2:~$
    ssh-copy-id husarion@10.15.20.3

    By default, the ROS driver on the Built-in Computer will try to shutdown the User Computer at 10.15.20.3 IP address with the username husarion and the command sudo shutdown. That is why no other changes are required for it to work in the default configuration.

After following those steps, when the Power Button is pressed sudo shutdown will be invoked on the User Computer. The Built-in Computer will wait for the User Computer until it gracefully shuts down before shutting down itself and powering off the robot.

Accessing ROS from the User Computer.

DDS configuration

The Panther ROS driver uses rmw_cyclonedds_cpp as the default communication middleware. For optimal quality of service, ensure that the RMW_IMPLEMENTATION environment variable is set. To do so, run the following command: export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp.

Panther's ROS 2 API is described here. Make sure ROS 2 Driver is set up on the Built-in Computer and you have Internet connection. To access Panther's Driver from the User Computer you can use natively installed ROS 2 or Docker.

  1. To get started, please install on your User Computer ROS 2 Humble on Ubuntu 22.04.

  2. To drive Panther install teleop_twist_keyboard:

    husarion@10.15.20.3:~$
    sudo apt install ros-humble-teleop-twist-keyboard
  3. Reset e-stop using service call:

    husarion@10.15.20.3:~$
    ros2 service call /panther/hardware/e_stop_trigger std_srvs/srv/Trigger
  4. Run teleop_twist_keyboard and drive the robot:

    husarion@10.15.20.3:~$
    ros2 run teleop_twist_keyboard teleop_twist_keyboard.py