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:
ssh husarion@10.15.20.3
The default password for user husarion is also husarion.
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:
ros2 topic list
The complete architecture of the ROS 2 software is detailed in the Lynx ROS 2 API documentation.
Control example
- ROS 2 Jazzy
- ROS 2 Humble
- ROS 2 natively installed
- Docker way
-
To get started, please install on your User Computer ROS 2 Jazzy on Ubuntu 22.04.
-
To drive Husarion UGV install
teleop_twist_keyboard:husarion@10.15.20.3:~$sudo apt install ros-jazzy-teleop-twist-keyboard -
Reset e-stop using service call:
husarion@10.15.20.3:~$ros2 service call /lynx/hardware/e_stop_release std_srvs/srv/Trigger -
Run
teleop_twist_keyboardand 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
-
Install Docker Engine and Docker Compose on your User Computer.
-
Pull ROS image:
husarion@10.15.20.3:~$docker pull ros:jazzy -
Run Docker container:
husarion@10.15.20.3:~$docker run --rm -it --network host ros:jazzy bash -
Update
apt:root@docker:/#apt update -
To drive Husarion UGV install
teleop_twist_keyboard:root@docker:/#apt install ros-jazzy-teleop-twist-keyboard -
Reset e-stop using service call:
root@docker:/#ros2 service call /lynx/hardware/e_stop_release std_srvs/srv/Trigger -
Run
teleop_twist_keyboardand drive the robot:root@docker:/#ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r cmd_vel:=/lynx/cmd_vel -p stamped:=true
- ROS 2 natively installed
- Docker way
-
To get started, please install on your User Computer ROS 2 Humble on Ubuntu 22.04.
-
To drive Husarion UGV install
teleop_twist_keyboard:husarion@10.15.20.3:~$sudo apt install ros-humble-teleop-twist-keyboard -
Reset e-stop using service call:
husarion@10.15.20.3:~$ros2 service call /lynx/hardware/e_stop_release std_srvs/srv/Trigger -
Run
teleop_twist_keyboardand drive the robot:husarion@10.15.20.3:~$ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r cmd_vel:=/lynx/cmd_vel
-
Install Docker Engine and Docker Compose on your User Computer.
-
Pull ROS image:
husarion@10.15.20.3:~$docker pull ros:humble -
Run Docker container:
husarion@10.15.20.3:~$docker run --rm -it --network host ros:jazzy bash -
Update
apt:root@docker:/#apt update -
To drive Husarion UGV install
teleop_twist_keyboard:root@docker:/#apt install ros-humble-teleop-twist-keyboard -
Reset e-stop using service call:
root@docker:/#ros2 service call /lynx/hardware/e_stop_release std_srvs/srv/Trigger -
Run
teleop_twist_keyboardand drive the robot:root@docker:/#ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r cmd_vel:=/lynx/cmd_vel