Weatherproofed Husky | Ouster | UM7 IMU
This post is a quick and compact guide for working with Husky which has been augmented sensors such as Ouster and UM7 IMU using ROS2(Humble)
Please note that on connection with the internet, the robot might move a bit due to Ubuntu 22.04 updating its time region syncing.
Informative Links
-
Husky ROS Cheat Sheet (Applicable to Noetic)
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 is now able to receive commands from the onboard PC.
For software remote connection, the robot may be accessed via an ethernet port located on top of the robot.
Teleop
Some quick useful commands in case there is an issue with the joystick is to ssh into the robot and teleoperated it via:
ros2 run teleop_twist_keyboard teleop_twist_keyboard.py
Network
Network configuration for the robot is.
Device | Network | Password |
---|---|---|
Husky MCU | 192.168.131.1 | clearpath |
Ouster | 192.168.131.20 | - |
Router | 192.168.131.100 | clearpath |
Robot Interface
The 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. Alternatively, the hotspot Husky-A200-2.4G
or Husky-A200-5G
can be used to connect with the robot.
Hotspot Network Connection
To connect via hotspot, please search for the SSID of Husky-A200-2.4G
or Husky-A200-5G
and connect to it. The password is:
clearpath
Once connected, you can interface and ssh into the robot via:
ssh -X administrator@192.168.131.1
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.
-
The first task is to go to IPv4 and change the connection to manual.
-
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.
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
Please note not all Husky are shipped with the WLAN module.
Robot Software
The Husky drivers as well as custom drivers configured by MYBOTSHOP are located in the ros2_ws. In the src folder, the third_party contains the drivers for the Husky and other sensors.
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
Ouster IP: 192.168.131.20
Router IP: 192.168.131.100
Username: admin
Pswd: Admin123
-----------------------------------------------------
Husky-Drivers
-----------------------------------------------------
Husky status: sudo service hsky status
Husky start: sudo service hsky start
Husky stop: sudo service hsky stop
Husky restart: sudo service hsky restart
ros2 launch hsky_lidars system.launch.py # Ouster
ros2 launch hsky_viz view_robot.launch.py # Rviz2
---------------------------------------------------------------------
Robot Startup
The startup job launches two main components:
- Husky base drivers
- UM7 IMU driver
The launch file system_bringup.launch in the ros2_ws
package of hsky_bringup
includes everything that 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 hsky 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 hsky restart
New launch files and nodes can be added to the startup job by inserting them into the system.launch.py
launch file for PC startup. Once added Run the following in ros2_ws
.
ros2 run hsky_bringup startup_installer.py
It should now run with the updated additions.
The configuration file is located in hxg_startup/config/setup.bash
. The important information is that the variable HSKY_OUSTER_LASER=0
can be used to enable the roslaunch files. If the values of 0 are replaced by 1, it will enable the launch files for the ouster to turn on e.g. HSKY_OUSTER_LASER=1
(The file must also be source e.g.: source setup.bash
). This will also enable it to start on the robot startup if the following command is executed.
ros2 run hsky_bringup startup_installer.py
Please note that it is not recommended to keep the sensors on as they take time to startup and cause the startup job to fail. If this happens you can simply restart the service. As described above.
Ouster (Lidar)
The Lidar drivers are started via:
ros2 launch hsky_lidars system.launch.py
UM7 (Inertial Measurement Unit - IMU)
The provided Husky has a IMU integrated into it. The parameters for odometry can be tuned in the folder ros2_ws/src/mbs/hsky_control/config/localization.yaml
.
It is recommended not to change the parameters without a backup and without expert supervision.
Issues
In case of any issues please first try restarting the service of the robot via:
sudo service hsky 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