Husky PTB¶
This specifies the configuration for Husky PTB. It has an Phidgets IMU, Ouster & 2x Hokuyo lidar.
Table of Contents¶
Getting Started¶
To setup-up the Husky, the instructional video playlist can be used which details the opening and use of the Husky.
Data Sheets¶
Documentations¶
Auxiliary Sensor Startup¶
On husky startup the following driver is started:
• Husky base driver
The Ouster and two Hokuyo sensors are powered on, but the driver must be initiated manually (automation details provided in the Custom Startup Job) to ensure a swift startup of the Husky base driver.
Both Hokuyo and Ouster driver run when the following commands are run:
roslaunch hsky_lidars lidars.launch
Network-Setup¶
The Husky PTB has multiple networks and vary slightly, the following table shows the networks.
Device |
Network Address |
Users/Name |
Password |
---|---|---|---|
Husky |
192.168.131.1 |
administrator |
mybotshop |
Hokuyo Front |
192.168.131.20 |
admin |
N/A |
Hokuyo Rear |
192.168.131.21 |
N/A |
N/A |
Ouster |
192.168.131.23 |
N/A |
N/A |
Router IP |
192.168.131.100 |
admin |
Admin123 |
Router |
192.168.131.100 |
Husky-A200-0987-2.4G |
mybotshop |
Operation¶
To use the waypoint navigation and drivers, the following steps must be followed:
Connect to the Husky WiFi.
ssh into the husky via:
ssh -X administrator@192.168.131.1
mybotshop
The following message will show up with quick instructions for startup.
-------------------------------------------------------------------------------
_ _ _ _ ____ __ ____ ____ _ _ __ ____
( \/ )( \/ )( _ \ / \(_ _)/ ___)/ )( \ / \( _ \
/ \/ \ ) / ) _ (( O ) )( \___ \) __ (( O )) __/
\_)(_/(__/ (____/ \__/ (__) (____/\_)(_/ \__/(__)
-------------------------------------------------------------------------------
Current PC: Nvidia
-------------------------------------------------------------------------------
Husky IP: 192.168.131.1
Pswd: mybotshop
SSH: ssh -X administrator@192.168.131.1
Hokuyo F IP: 192.168.131.20
Hokuyo R IP: 192.168.131.21
Ouster IP: 192.168.131.23
Router IP: 192.168.131.100
Router Pswd: mybotshop
login: admin
Pswd: Admin123
-------------------------------------------------------------------------------
Husky Startup
-------------------------------------------------------------------------------
HSKY status: sudo service hsky status
HSKY start: sudo service hsky start
HSKY stop: sudo service hsky stop
HSKY restart: sudo service hsky restart
Rviz: roslaunch hsky_viz view_robot.launch
Ouster + Hokuyo: roslaunch hsky_lidars lidars.launch (Default off)
SLAM: roslaunch hsky_navigation slam.launch.py
Map Navi: roslaunch hsky_navigation map_navi.launch.py
Odom Navi: roslaunch hsky_navigation odom_navi.launch.py
Rebuild package: catkin build --cmake-args -DCMAKE_BUILD_TYPE=Release
-------------------------------------------------------------------------------
For in-depth instructions the 3D-SLAM information is applicable.
Important
Please be aware to operate the Husky with a fully charged battery; otherwise, low battery power may lead to the
reset of the WiFi due to insufficient power. In case of any errors, please execute sudo service hsky restart
.
Steamdeck¶
Steamdeck - Basic Controls¶
• Power button is on the top of the Steamdeck with the power symbol.
• R2 for mouse left-click
• L2 for mouse right-click
• Left trackpad for mouse scrolling
• Right trackpad for mouse movement
• L2+R2 for middle mouse button click
• - - - (The 3 dashes is located on the top right of the Steamdeck next to the Y button) Hold for 3 seconds to gamepadmode and hold for 2 seconds again to go to desktop mode.
• Switching to desktop mode activates the cursor for the trackpad as well.
Steamdeck Activation¶
Important
When launching the Joylauncher, do not touch any of the buttons until the steamdeck displays the robot is connected or not connected.
Ensure the Steamdeck is connected to the robot’s WiFi access point. Wait ~20 seconds after powering up.
• This is automatically done!
Ensure the robot is powered on and operational.
Single tap the Joystick Launcher on the screen to activate the controller for the robot.
• Do not open multiple instances of the joystick launchers, as this can cause zombie nodes to spawn.
• Hold the - - - for 3 seconds until you sense vibration from the controller and then hold - - - for 3 seconds again. This is required to re-enable the mouse in the steamdeck.
Ascento Homing Procedure
• Ensure the Ascento is flat on the ground.
• Perform Homing of the Ascento wheels L2+Right (required only at first boot or if the Ascento eyes blink red)
• Once homed, press L2+Up to stand up the robot.
Single tap the Rviz2 Launcher on the screen to visualize the robot.
Steamdeck - Termination¶
Single tap the ROS2 Clean to terminate all ROS2 instances only in the steamdeck (It does not effect the robot).
Steamdeck - Robot Controls¶
L1 is the dead man’s switch for slow speed.
R1 is the dead man’s switch for high speed.
LJ (Left Joystick) is to move in x and y direction.
Note
Loss of connection or (laggy connection) may lead to the robot moving and/or not stopping immediately. Caution should be taken when using the Steamdeck for the operation of the robot!
Steamdeck - Rviz2 Controls¶
Right trackpad is used as a mouse
Left trackpad can be moved up and down to zoom in and zoom out
L2+R2 should be held when wanting to move the orbit in the xy plane.
R2 should be held to orbit around the cursors origin
Custom Startup Job¶
The launch file system_startup.launch
within the catkin package hsky_startup
encompasses everything launched at startup.
The startup job and its contents can be verified in the directory /etc/ros/noetic,
where the original launch file will be copied.
Warning
Avoid creating multiple startup jobs with different launch files, as this may lead to system instability. It is recommended to have only one launch file that includes all the necessary components.
If the systems breaks at startup you can start debugging by:
roslaunch hsky_startup system_startup.launch
This will indicate the specific section of the launch file that is encountering errors. Alternatively, you can run each component individually from the launch file in separate terminals to identify and address any issues.
Adding ROS-Nodes & Launch Files to Robot Startup¶
Navigate and open
hsky_startup/launch/system_startup.launch
.
Include your custom ROS node or launch file. Please note that the image may differ, but the procedure remains the same.
Attention
An optional step is to launch the file to test if everything is working via: roslaunch hsky_startup system_startup.launch
Run the following script:
rosrun hsky_startup startup_installer.py
Verify if it is working correctly via:
sudo service hsky status
Important
After incorporating your custom node or launch files into the system_startup.launch
, execute the command
rosrun hsky_startup startup_installer.py
to ensure the startup job on the Husky’s PC is updated; otherwise, it will not be applied.
Ouster¶
To manually launch the ouster driver, the following command can be used:
roslaunch hsky_lidar ouster.launch.xml
Hokuyo¶
To manually launch the Hokuyo driver, the following command can be used.
For front Hokuyo:
roslaunch hsky_lidar hokuyo_front_lidar.launch.xml
For Rear Hokuyo:
roslaunch hsky_lidar hokuyo_rear_lidar.launch.xml
Note
The Hokuyo and Ouster lidar drivers are not launched automatically with the “odom_navigation” and “gps_navigation” launch files. Therefore, you must manually launch the lidar drivers first.
Husky Demo¶
To visualize and navigate the Husky using an online web server, please adhere to the steps outlined below:
Initiate the demo launch file by executing the following command in the terminal. This launch file manages the initialization of lidars, web tools, and navigation.
roslaunch hsky_demo system.Launch
Ensure that the launch file is executed successfully without encountering any errors before proceeding to the next step, as detailed below.
Usage on same network with Google Chrome¶
• Get server PCs IP i.e. pc that is running the demo which in our case is husky
ifconfig
• now on your pc go to that address(server pc)
https://(Server IP):8765
• It will show as a unsafe page,click advanced and accept the vulnerability for the communication to be established
• Goto goxglove webpage on google chrome.
• Insert the address
wss://192.168.0.45:8765
• After this you should be able to visualize and navigate the robot using foxglove web tool.
studio.foxglove.dev
• Insert the address
wss://192.168.0.45:8765
After this you should be able to visualize and navigate the robot using foxglove web tool.