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 :ref:`RST Custom Startup Job BO`) 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: .. code:: bash 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: .. code:: bash 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. .. table:: 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: .. code:: bash ssh -X administrator@192.168.131.1 mybotshop The following message will show up with quick instructions for startup. .. code:: bash ----------------------------------------------------------------------- _ _ _ _ ____ __ ____ ____ _ _ __ ____ ( \/ )( \/ )( _ \ / \(_ _)/ ___)/ )( \ / \( _ \ / \/ \ ) / ) _ (( 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 ============= .. .. image:: media/figures/hxg_moveit_viz.png .. :width: 100% .. :align: center To visualize the robot in Rviz when using ROS-Noetic please run the following command: .. code:: Bash roslaunch hxg_viz view_robot.launch To visualize the robot in Rviz when using ROS2-Foxy please run the following command: .. code:: Bash ros2 launch hxg_viz view_robot.launch.py Moveit Interface ================ To run moveit: For ROS-Noetic: .. code:: Bash roslaunch hxg_manipulation system_moveit.launch For ROS2-Foxy: .. code:: Bash ros2 launch hxg_moveit system.launch.py .. _RST Custom Startup Job BO: 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 .. code:: Bash roslaunch hxg_startup system_bringup.launch For ROS2-Foxy .. code:: Bash 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: .. code:: Bash rosrun hxg_startup startup_installer.py 4. Verify if it is working correctly via: .. code:: Bash 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 ============= .. image:: media/figures/accessories/ouster.png :width: 50% :align: center To manually launch the ouster driver, the following command can be used when using ROS(Noetic): .. code:: bash roslaunch hxg_lidars lidars.launch To manually launch the ouster driver, the following command can be used when using ROS2(Foxy): .. code:: bash ros2 launch hxg_lidars system.launch.py Robotiq 2F-240 =============== .. image:: media/figures/accessories/robotiq-2f-140mm.jpg :width: 50% :align: center To manually launch the robotiq gripper driver, the following command can be used when using ROS(Noetic): .. code:: bash roslaunch hxg_robotiq robotiq_2f_140.launch To manually launch the robotiq gripper driver, the following command can be used when using ROS2(Foxy): .. code:: bash ros2 run hxg_robotiq_2f_140 system_launch.py Robotiq Ft-300 =============== .. image:: media/figures/accessories/robotiq_ft_300.jpg :width: 50% :align: center To manually launch the Robotiq Forcetorque driver, the following command can be used when using ROS(Noetic): .. code:: bash roslaunch hxg_robotiq robotiq_ft_300.launch For force torque reset to zero ROS(Noetic). .. code:: bash 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): .. code:: bash ros2 launch hxg_robotiq_ft_300 system.launch.py For force torque reset to zero ROS2(Foxy). .. code:: bash ros2 service call /robotiq_ft_sensor_acc robotiq_ft_sensor/srv/Sensoraccessor command_id:\ 8 Realsense D405 ============== .. image:: media/figures/accessories/intel_rsd405.png :width: 50% :align: center To manually launch the Realsense driver, the following command can be used when using ROS(Noetic): .. code:: bash roslaunch hxg_realsense_cameras wrist_camera.launch To manually launch the Realsense driver, the following command can be used when using ROS2(Foxy): .. code:: bash ros2 launch hxg_realsense system.launch.py