Skip to main content

User Computer Usage Example

The Lynx 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 Lynx'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 Lynx:

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 ROS 2 software is detailed in the Lynx 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 /lynx/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:=/lynx/cmd_vel -p stamped:=true