[Quick Guide] Husky | Hokuyo | Ouster | Nvidia Jetson Nano | Stereolabs ZED2i

HUSKY-NVIDIA_Nano-Phidgets_IMU-Ouster_Lidar-ZED2i-Hokuyo

This post is a quick and compact guide for working with Husky which uses an Nvidia Nano as the computing unit for processing Stereolabs Zed2i camera feed, Phidgets for orientation data and Hokuyo & Ouster lidar for obstical avoidence.

Informative Links

Quick Start

Powering On

The robot is turned on via the power button, and the start-up of the Husky may take up to a minute to start. The green light indicates that the MCU has successfully started and connected to the onboard PC and is now able to receive commands from the onboard PC.

For software remote connection, the robot may be accessed via ethernet port.

Teleop

Some quick useful commands in case there is an issue with the joystick is to ssh into the robot and teleoperated it via:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Network

Network configuration for the robot is.

Device Network Password
Husky Wifi Husky-A200-0952-2.4G clearpath
Main PC 192.168.131.1 clearpath
Nvidia Jetson Nano 192.168.131.2 -
Hokuyo 192.168.131.21 -
Ouster OS1-32 192.168.131.20 -

Robot Interface

For software remote connection, the robot has to be accessed once to configure the WiFi network. This network configuration can take place in one of two methods, the first being via the static network connection and the second being through the screen, where the screen method is much quicker and easier for clients to set up.

Static Network Connection

For the first time, one needs to connect through a LAN cable to configure the robot’s WLAN network.

To create a static connection in your own PC (not the Husky), in Ubuntu go to Settings → Network then click on + and create a new connection.

  1. The first task is to go to IPv4 and change the connection to manual.

  2. The second task is to put the Address IP as 192.168.131.1 (may differ from robot to robot) and the Netmask as 24.

network

Click save and restart your network. Next is to connect the LAN cable to the robot. After a successful connection let’s check the host’s local IP by typing in the Host PC’s terminal.

ifconfig

This should show the host IP which was assigned in the above step. Now its time to check if we can ping the robot or not, to do so type in your host pc

ping 192.168.131.1

After a successful ping, it’s time to access the robot. To access the robot you can type the following command:

ssh -X administrator@192.168.131.1

The password is

clearpath

Screen Connection

An alternative for connecting to the Husky is by plugging in an HDMI cable as well as a mouse and keyboard. This will allow you to connect the Husky to your own local WiFi network and then you can connect later over the WiFi.

Husky PC

The procedure is simply to go to your networks and add your WiFi. Then in the terminal type:

ifconfig

The IP that comes with the initial characters of wl is your WiFi’s IP. e.g. wlps0. With this IP you can SSH to your robot via your host PC.

ssh -X administrator@192.168.0.228

192.168.0.228 is just an example of this. IP is taken from the ifconfig.

clearpath

Robot Software

The Husky drivers configured by MYBOTSHOP are located in the ros_ws. In the src folder, the third_party contains the drivers for the Husky.

As requirements vary from user to user, the setup has been left as default and the users can specify their own parameters in their own custom package. When connecting or ssh’ing to the robots pc, additional information regarding the robot will be displayed e.g.

------------------------------------------------------
 _  _  _  _  ____   __  ____  ____  _  _   __  ____   
( \/ )( \/ )(  _ \ /  \(_  _)/ ___)/ )( \ /  \(  _ \ 
/ \/ \ )  /  ) _ ((  O ) )(  \___ \) __ ((  O )) __/ 
\_)(_/(__/  (____/ \__/ (__) (____/\_)(_/ \__/(__)   
-----------------------------------------------------
Current PC: Husky 
-----------------------------------------------------
Husky IP:          192.168.131.1
Pswd:              clearpath

Nvidia Nano  IP:   192.168.131.2
Pswd:              clearpath

Ouster IP:         192.168.132.20

Hokuyo IP:         192.168.132.21

WiFi IP:           192.168.131.100
Pswd:              clearpath

Router Pswd: admin

---------------------------------------------------------------------------------------------------------------------------------------------------------
Husky-Drivers:
--------------------------------------------------------------------------------------------------------------------------------------------------------- 

Husky status:     sudo service mbs_husky status
Husky start:      sudo service mbs_husky start
Husky stop:       sudo service mbs_husky stop
Husky restart:    sudo service mbs_husky restart


View robot:       roslaunch mbs_husky_viz viz.launch

---------------------------------------------------------------------------------------------------------------------------------------------------------
Ouster driver:
--------------------------------------------------------------------------------------------------------------------------------------------------------- 

Lidars  driver:    roslaunch mbs_lidar lidar.launch

--------------------------------------------------------------------------------------

Robot (Main-Pc) Startup

The start-up job is available for the main pc. The startup job launches two main components:

  1. Husky base drivers
  2. Phidgets IMU driver

The launch file system_bringup.launch in the ros_ws package of mbs_husky_startup includes everything which is being launched at the startup.

The Husky ordinarily utilizes Clearpath startup job unless otherwise specified. In this robot, we have our own upstart job for the custom auxiliary drivers. In case there is an issue with the robot not starting up. One can ssh into the Husky and verify if the startup job is working correctly.

sudo service mbs_husky status

The red marker in the service indicates that the startup job has failed. Green indicates everything is operating correctly. Grey indicates that the service has not started yet. In case of red or grey marker, you may restart the service via:

sudo service mbs_husky restart

New launch files and nodes can be added to the startup job by inserting them into the system_bringup.launch launch file for PC startup. Once added Run the following in ros_ws.

rosrun mbs_husky_startup startup_installer.py

It should now run with the updated additions.

Robot (Nvidia-Pc) Startup

------------------------------------------------------
 _  _  _  _  ____   __  ____  ____  _  _   __  ____   
( \/ )( \/ )(  _ \ /  \(_  _)/ ___)/ )( \ /  \(  _ \ 
/ \/ \ )  /  ) _ ((  O ) )(  \___ \) __ ((  O )) __/ 
\_)(_/(__/  (____/ \__/ (__) (____/\_)(_/ \__/(__)   
-----------------------------------------------------
Current PC: Nvidia 
-----------------------------------------------------
Husky IP:          192.168.131.1
Pswd:              clearpath

Nvidia Nano  IP:   192.168.131.2
Pswd:              clearpath

Ouster IP:         192.168.132.20

Hokuyo IP:         192.168.132.21

WiFi IP:           192.168.131.100
Pswd:              clearpath

Router Pswd: admin

---------------------------------------------------------------------------------------------------------------------------------------------------------
Husky-Drivers:
--------------------------------------------------------------------------------------------------------------------------------------------------------- 

Husky status:     sudo service nv_ros status
Husky start:      sudo service nv_ros start
Husky stop:       sudo service nv_ros stop
Husky restart:    sudo service nv_ros restart

-----------------------------------------------------------------------------------------

The start-up job is available for the Nvidia pc. The startup job launches one components i.e. Stereolabs ZED2i drivers which constently takes camear feedback sends it to the main pc.

In case there is an issue with the starting up. One can ssh into the Nvidia and verify if the startup job is working correctly.

sudo service nv_ros status

The red marker in the service indicates that the startup job has failed. Green indicates everything is operating correctly. Grey indicates that the service has not started yet. In case of red or grey marker, you may restart the service via:

sudo service nv_ros restart

Ouster/Hokuyo

ouster


lidar

The Husky model provided comes equipped with two distinct lidars: the Hokuyo-Ust10 and the Ouster OS1-32, both of which are integrated into the system. To receive data from these lidars, it is necessary to run the corresponding drivers. This can be achieved using the following command:

roslaunch mbs_lidar lidar.launch

Phidgets IMU

The provided Husky has a phidgets IMU integrated into it. The parameters for odometry can be tuned in the folder ros_ws/src/mbs/mbs_control/config/wheel_localization_config.yaml.

It is recommended not to change the parameters without a backup and without expert supervision.

visualization

To visualize all the data from the sensors, follow these steps:

  1. Start by running the lidar driver in a terminal.
  2. Next, open a new terminal and execute the “Rviz launch” file mentioned in the command below. By following these instructions, you will be able to visualize all the sensor data.
roslaunch mbs_husky_viz viz.launch

Issues

In case of any issues please first try restarting the service of the robot via:

sudo service mbs_husky restart

In case of questions please contact support@mybotshop.de. For issues related to the software please attach a ros bag e.g.

rosbag record -a