.. figure:: media/pictures/jackal_1.png
:width: 100%
:align: center
|
The Jackal drivers, set up by `MYBOTSHOP `__ , are stored within the :code:`ros2_ws`. Specifically, in the src folder,
you’ll find the :code:`third_party` section housing drivers designed for the Jackal and additional sensors such as the Ouster Lidar and ZED2 camera.
For configuring these auxiliary sensors, the `link `__ provided offers valuable information, particularly regarding navigation. It’s important to note that while the setup maintains a default configuration, users have the flexibility to define their parameters within their custom package, as per their specific
Start-up Job
============
The default startup configuration for the Jackal is managed by the Clearpath startup job, unless explicitly specified otherwise. If there are any
concerns regarding the robot’s startup, SSH into the Jackal allows you to verify the status of the startup job:
.. code:: bash
sudo service ros2 status
Here’s what the different markers signify:
• **Red Marker:** Indicates a failed startup job.
• **Green Marker:** Indicates normal functioning.
• **Grey Marker:** Indicates the service hasn’t started yet.
In case of a red or grey marker, you can attempt to restart the service using:
.. code:: bash
sudo service ros2 restart
Auxiliary Sensors
=================
To start the ouster lidar as well as the zed2i, you can launch it via:
.. code:: bash
ros2 launch jkl_sensors system.launch.py
Ouster Lidar
------------
.. figure:: media/pictures/ouster.png
:width: 70%
:align: center
Start the Ouster Lidar driver only using:
.. code:: bash
ros2 launch jkl_sensors ouster.launch.py
Configuration settings are available within the :code:`jkl_sensors/ouster.launch.py` file.
ZED2i
-----
.. figure:: media/pictures/zed-2-front.jpg
:width: 70%
:align: center
The ZED2i camera employs an Nvidia Graphics card integrated into the onboard PC.
.. figure:: media/pictures/jackal_graphic_card.jpeg
:width: 70%
:align: center
To start the Zed2i camera only:
.. code:: bash
ros2 launch jkl_sensors zed2i.launch.py
Ensure the camera is connected via **USB3.0**. If disconnected, reattach it; otherwise, the camera may not be detected.
For usage instructions, refer to the `ZED2 ROS2 Tutorial `__.
Configuration settings are available within the :code:`jkl_sensors/zed2i.launch.py` file.
Autonomous Navigation
=====================
Odom Navigation
---------------
One can easily initiate basic navigation using the built-in odometry of the Jackal by executing the command:
.. code:: bash
ros2 launch jkl_navigation odom_navi.launch.py
This command lets you navigate the robot in the global frame of map
Map Navigation
--------------
To initiate map-based navigation, you need to first create a map of the environment and then perform waypoint navigation. Follow these steps:
1. **Create a Map**
Start by executing the SLAM navigation command:
.. code:: bash
ros2 launch jkl_navigation slam.launch.py
In a separate terminal, launch the visualization command to observe the map being constructed:
.. code:: bash
ros2 launch jkl_viz view_robot.launch.py
Use the joystick controller to navigate and build the map. Once you are satisfied with the map, export it with the following command:
.. code:: bash
ros2 run nav2_map_server map_saver_cli -f /home/administrator/ros2_ws/src/mbs/jkl_navigation/maps/custom_map
2. **Rebuild Packages**
After saving the map, rebuild the packages to incorporate the new map:
.. code:: bash
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
3. **Load and Visualize the Map**
Once rebuilding is complete, load the saved map with the map navigation command:
.. code:: bash
ros2 launch jkl_navigation map_navi.launch.py
In a separate terminal, execute the visualization command to visualize and control the robot using rviz:
.. code:: bash
ros2 launch jkl_viz view_robot.launch.py
Debugging Controller
----------------------
If you encounter issues with the joystick, SSH into the robot and teleoperate it using:
.. code:: bash
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
This arrangement provides a clear breakdown of steps and commands for map navigation and joystick debugging, ensuring efficient operation of
the Jackal.