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.
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:
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: 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¶
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¶
Navigate and open
hxg_startup/launch/system_bringup.launch
.Add your custom node or launch file.
Run the following script:
rosrun hxg_startup startup_installer.py
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¶
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¶
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¶
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¶
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