MMP Husky ATC¶
This specifies the configuration for Husky ATC. It has an Ouster lidar, Nvidia Orin, Zed2i depth camera, Cradlepoint Router, Qoocam, xARM6, Robotiq 2F-140 gripper, and Blickfeld Lidar.
Getting Started¶
To start-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 drivers are started:
Husky base driver
Ouster
Blickfeld
The xARM6, Robotiq 2F-140, Ouster, Zed2, and Blickfeld are powered on when the Husky robot starts. However, only the software drivers for Ouster and Blickfeld are activated on start-up.
For Qoocam, the camera has to manually be turned on and be set to live mode for the camera to provide a livestream. More on this in the Qoocam section.
Network-Setup¶
The Husky ATC has multiple networks and vary slightly, the following table shows the networks.
Device |
Network Address |
Users |
Password |
---|---|---|---|
Husky |
192.168.131.1 |
administrator |
clearpath |
Nvidia |
192.168.131.2 |
administrator |
clearpath |
Blickfeld |
192.168.131.3 |
N/A |
N/A |
xARM6 |
192.168.131.4 |
N/A |
N/A |
xARM6 Web |
192.168.131.4:18333 |
N/A |
N/A |
Qoocam |
192.168.131.5:8554 |
N/A |
N/A |
Ouster |
192.168.132.1 |
N/A |
N/A |
Router |
192.168.131.101 |
root |
clearpath |
Operation¶
To use the connect and use the MMP Husky, the following steps must be followed:
Connect to the Husky WiFi (Password is
clearpath
).ssh into the husky via:
$ ssh -X administrator@192.168.131.1
$ clearpath
The following message will show up with quick instructions for startup.
-------------------------------------------------------------------------------
__ ____ ______ ____ _______ _____ _ _ ____ _____ _____
| \/ \ \ / / _ \ / __ \__ __/ ____| | | |/ __ \| __ \ / ____|
| \ / |\ \_/ /| |_) | | | | | | | (___ | |__| | | | | |__) | _ _| | __
| |\/| | \ / | _ <| | | | | | \___ \| __ | | | | ___/ | | | | | |_ |
| | | | | | | |_) | |__| | | | ____) | | | | |__| | | | |_| | |__| |
|_| |_| |_| |____/ \____/ |_| |_____/|_| |_|\____/|_| \__,_|\_____|
Current PC: Husky
-------------------------------------------------------------------------------
Husky IP: 192.168.131.1 (ssh -X administrator@192.168.131.1)
Pswd: clearpath
Nvidia IP: 192.168.131.2 (ssh -X administrator@192.168.131.2)
Pswd: clearpath
Blick IP: 192.168.131.3
xARM IP: 192.168.131.4
xARM IP Web: 192.168.131.4:18333
Qoocam IP: 192.168.131.5:8554 (RTSP)
Ouster IP: 192.168.132.1
WiFi IP: 192.168.131.101
Pswd: clearpath
Router Name: root
-------------------------------------------------------------------------------
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
-------------------------------------------------------------------------------
Auxiliary driver:
-------------------------------------------------------------------------------
Ouster driver: roslaunch mbs_husky_lidars top_laser.launch
(Launches on startup)
Blick driver: roslaunch mbs_husky_lidars top_laser.launch
(Launches on startup)
xARM driver: roslaunch mbs_husky_xarm_interface real_arm_moveit.launch
(Doesnt launch on startup)
-------------------------------------------------------------------------------
Custom Startup Job¶
The launch file mbs_husky.launch
in the catkin package of mbs_husky_startup
includes
everything which is being launched at the startup. Startup job and its content can be verified
in the directory /etc/ros/noetic
, here the original launch file will be copied.
Warning
Do not create multiple startup jobs with multiple launch files this will break the system. Only one launch file should be created and everything else should be included in this.
If the systems breaks at startup you can start debugging by:
roslaunch mbs_husky_startup mbs_husky.launch
This will show which part of the launch file is having errors or you can start running everything in the launch file one by one in separate terminals.
Adding ROS-Nodes & Launch Files to Robot Startup¶
Navigate and open
mbs_husky_startup/launch/mbs_husky.launch
.
Add your custom node or launch file.
Run the following script:
rosrun mbs_husky_startup startup_script.sh
Verify if it is working correctly via:
sudo service mbs_husky status
Important
Once you add your custom node or launch files in the mbs_husky.launch
, you will need to
run rosrun mbs_husky_startup startup_script.sh
so that it updates the start-up job on the Husky’s PC otherwise it will not
be updated.
Ouster¶
To manually launch the ouster driver, the following command can be used:
roslaunch mbs_lidars top_laser.launch
Important
Please note that the lidars launch on start-up. Running it again will shut them down. They can be disabled by following the instuctions in the Custom Startup Job.
Blickfeld¶
To manually launch the blickfeld driver, the following command can be used:
roslaunch mbs_lidars front_laser.launch
Important
Please note that the lidars launch on start-up. Running it again will shut them down. They can be disabled by following the instuctions in the Custom Startup Job
ZED2i¶
On the robot start-up the Nvidia Orin starts, however, the Zed2i has to be manually launched.
ssh into the Nvidia Orin via:
ssh -X administrator@192.168.131.2
clearpath
To launch the ZED2i run the command.
roslaunch zed_wrapper zed2i.launch
Customization of the camera position can be done here via the launch file.
Note
It may take upto a minute for all the drivers of the Nvidia to start.
The stream for the ZED2 is transferred over to the main Husky PC via ROS multi machine.
An example stream can be viewed rostopic echo /zed2/zed2_node/rgb/image_rect_color
.
The information can be verified via:
rostopic list
Important
The ZED2i requires USB 3.0 port and in the installed Nvidia board there is one available USB 3.0 port. So incase of removal please plug in the ZED2i into the same initial port it was in.
Qoocam¶
To start the Qoocam driver.
First you must power on the Qoocam by pressing the power button.
Once Qoocam is powered on, swipe left on its touch screen and launch live mode.
Ensure that the ethernet cable is connected. The router will automatically assign it the ip of
192.168.131.5
.Click the middle button of the Qoocam to start the RTSP stream.
Now launch the qoocam driver in the Husky via:
roslaunch mbs_qoocam qoocam_to_ros.launch
The driver will fail if it does not receive the camera stream.
Note
Please note that the Qoocam has limited battery life and must be charged fully for optimal use.
xARM6¶
Warning
Please disconnect the xARM6 when removing the batter to ensure that the connector is not damaged. Also ensure that there is sufficient charge in the Husky when using the xARM6.
The xARM6 firstly requires its power connector to be connected. It is located next to the battery of the Husky.
Once connected, launch the xARM6 hardware driver, via the command:
roslaunch mbs_husky_xarm_interface real_arm_moveit.launch
An emergency power cut-off for the xARM6 is available in the auxiliary frame of the Husky.
Robotiq 2F-140¶
To launch the Robotiq 2f-140 hardware driver, run the command:
roslaunch mbs_xarm_robotiq robotiq_hardware_driver.launch
Important
The robtiq is controlled via ros action client. Examples are provided in
the mbs_xarm_robotiq/nodes/test_robotiq_gripper.py
file.