HXG Startup

On startup the following drivers are started:

  • Husky base driver

  • Phidgets IMU

The Ouster,xArm6, Robotiq gripper & Force torque sensor is powered on as well but the driver has to be manually started (can be automated as explained in Custom Startup Job) to ensure that the husky base driver starts up quickly and regardless of whether other components are attached or not.

ROS (Noetic)

The following commands are executed to activate the drivers for all the sensors when using ROS:

Robotiq 2F-240:  roslaunch hxg_robotiq robotiq_2f_140.launch
Robotiq Ft-300:  roslaunch hxg_robotiq robotiq_ft_300.launch
Ouster:          roslaunch hxg_lidars lidars.launch
Realsense:       roslaunch hxg_realsense_cameras wrist_camera.launch

ROS2 (Foxy)

The following commands are executed to activate the drivers for all the sensors when using ROS2:

Robotiq 2F-240:  ros2 run hxg_robotiq_2f_140 system_launch
Robotiq Ft-300:  ros2 launch hxg_robotiq_ft_300 system.launch.py
Ouster:          ros2 launch hxg_lidars system.launch.py
Realsense:       ros2 launch hxg_realsense system.launch.py

Network-Setup

The Husky HXG has Multiple networks and vary slightly, the following table shows the networks.

Husky-HXG network devices

Device

Network Address

Users

Password

Husky

192.168.131.1

administrator

mybotshop

Ouster

192.168.132.20

N/A

N/A

Xarm6

192.168.132.10

N/A

N/A

Router

192.168.131.10

N/A

Mybotshop23

Operation Interface

To use the HXG, the following steps must be followed:

  1. Connect to the Husky WiFi.

  2. 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: Husky
-----------------------------------------------------------------------
Husky IP:     192.168.131.1
Pswd:         mybotshop
SSH:          ssh -X administrator@192.168.131.1

xARM6 IP:     192.168.131.10  (INFO: Default off)
Web IP:       192.168.131.10:18333

Ouster IP:    192.168.131.20  (INFO: Default off)
--------------------------------------------------------------------------
HXG Noetic (Default)
--------------------------------------------------------------------------
Activate:        hxg_noetic
HXG status:      sudo service hxg status
HXG start:       sudo service hxg start
HXG stop:        sudo service hxg stop
HXG restart:     sudo service hxg restart
Update startup:  rosrun hxg_startup startup_installer.py
Startup:         roslaunch hxg_startup system_bringup.launch
                (INFO: Default on, Runs  Husky Driver
                                        Phidgets Driver)
Moveit:          roslaunch hxg_manipulation system_moveit.launch
                (INFO: Default off, Runs xARM6 Driver
                                        Robotiq-2F-140 Driver
                                        Robotiq-FT-300 Driver)
Robotiq 2F-240:  roslaunch hxg_robotiq robotiq_2f_140.launch
                (INFO: Default off)
Robotiq Ft-300:  roslaunch hxg_robotiq robotiq_ft_300.launch
Ouster:          roslaunch hxg_lidars lidars.launch
                (INFO: Default off)
Realsense:       roslaunch hxg_realsense_cameras wrist_camera.launch
                (INFO: Default off)
Visualization:   roslaunch hxg_viz view_robot.launch
--------------------------------------------------------------------------
HXG Foxy
--------------------------------------------------------------------------
Activate:        hxg_foxy
System Bringup:  ros2 launch hxg_bringup system.launch.py
                (Runs Husky Driver
                    Phidgets Driver
                    xARM6 Hardware Driver
                    xARM6 Joinstate Driver)
Moveit (HXG):    ros2 launch hxg_moveit system.launch.py
Moveit (xARM6):  ros2 launch hxg_manipulation xarm6_moveit.launch.py
Robotiq 2F-240:  ros2 run hxg_robotiq_2f_140 system_launch
Robotiq Ft-300:  ros2 launch hxg_robotiq_ft_300 system.launch.py
Ouster:          ros2 launch hxg_lidars system.launch.py
Realsense:       ros2 launch hxg_realsense system.launch.py
Visualization:   ros2 launch hxg_viz view_robot.launch.py
--------------------------------------------------------------------------

Visualization

To visualize the robot in Rviz when using ROS-Noetic please run the following command:

roslaunch hxg_viz view_robot.launch

To visualize the robot in Rviz when using ROS2-Foxy please run the following command:

ros2 launch hxg_viz view_robot.launch.py

Moveit Interface

If you want to run moveit:

For ROS-Noetic:

roslaunch hxg_manipulation system_moveit.launch

For ROS2-Foxy:

ros2 launch hxg_moveit system.launch.py

Custom Startup Job

The launch file system_bringup.launch in the catkin package of hxg_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. If you are using ROS2 then in that case its content can be verified in the directory /etc/ros/foxy.

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:

For ROS-Noetic

roslaunch hxg_startup system_bringup.launch

For ROS2-Foxy

ros2 launch hxg_startup system_bringup.launch.py

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

  1. Navigate and open hxg_startup/launch/system_bringup.launch.

  2. Add your custom node or launch file.

  3. Run the following script:

rosrun hxg_startup startup_installer.py
  1. Verify if it is working correctly via:

sudo service hxg status

Important

Once you add your custom node or launch files in the system_bringup.launch, you will need to run rosrun hxg_startup startup_installer.py so that it updates the start-up job on the Husky’s PC otherwise it will not be updated.

Note

Similar steps are available for ROS Foxy.

Ouster OS1-32

_images/ouster.png

To manually launch the ouster driver, the following command can be used when using ROS(Noetic):

roslaunch hxg_lidars lidars.launch

To manually launch the ouster driver, the following command can be used when using ROS2(Foxy):

ros2 launch hxg_lidars system.launch.py

Robotiq 2F-240

_images/robotiq-2f-140mm.jpg

To manually launch the robotiq gripper driver, the following command can be used when using ROS(Noetic):

roslaunch hxg_robotiq robotiq_2f_140.launch

To manually launch the robotiq gripper driver, the following command can be used when using ROS2(Foxy):

ros2 run hxg_robotiq_2f_140 system_launch.py

Robotiq Ft-300

_images/robotiq_ft_300.jpg

To manually launch the Robotiq Forcetorque driver, the following command can be used when using ROS(Noetic):

roslaunch hxg_robotiq robotiq_ft_300.launch

For force torque reset to zero ROS(Noetic).

rosservice call /robotiq_ft_sensor_acc "command_id: 8 command: ''"

To manually launch the Robotiq Forcetorque driver, the following command can be used when using ROS2(Foxy):

ros2 launch hxg_robotiq_ft_300 system.launch.py

For force torque reset to zero ROS2(Foxy).

ros2 service call /robotiq_ft_sensor_acc robotiq_ft_sensor/srv/Sensoraccessor command_id:\ 8

Realsense D405

_images/intel_rsd405.png

To manually launch the Realsense driver, the following command can be used when using ROS(Noetic):

roslaunch hxg_realsense_cameras wrist_camera.launch

To manually launch the Realsense driver, the following command can be used when using ROS2(Foxy):

ros2 launch hxg_realsense system.launch.py