Skip to main content

User Computer Usage Example

The Panther robot can be integrated with an optional User Computer. It enables running custom software such as an autonomous navigation stack. This article describes the mounting and configuration of the Panther's User Computer.

Get Access to the User Computer

Use a SSH connection at your PC that is connected to the same network provided by Panther:

user@mylaptop:~$
ssh husarion@10.15.20.3

The default password for user husarion is also husarion.

ZED BOX users

For ZED BOX, the username and password are user and admin respectively. Additionally, the ZED Box comes with NVIDIA JetPack software, which requires manual OS configuration before continuing with this article. For more information, check User Computer Setup Guide.

ROS Middleware

The husarion_ugv_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 in each new terminal session or add export line to your ~/.bashrc file.

ROS 2 API Access

ROS nodes running in the containers are accessible at the host operating system level. Check available ROS topics:

husarion@10.15.20.3:~$
ros2 topic list

The complete architecture of the Panther ROS 2 software is detailed in the Panther ROS 2 API documentation.

Control example

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

  2. To drive Husarion UGV install teleop_twist_keyboard:

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

    husarion@10.15.20.3:~$
    ros2 service call /panther/hardware/e_stop_release 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 --ros-args -r cmd_vel:=/panther/cmd_vel -p stamped:=true

At this stage, your Panther should be up and running, with a remote connection. Panther is equipped with preinstalled ROS packages within Docker containers, which are set to launch automatically upon boot. For more information on Panther's ROS system, please refer to Software Guide.