_images/jackal_1.png

The Jackal drivers, set up by MYBOTSHOP , are stored within the ros2_ws. Specifically, in the src folder, you’ll find the 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:

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:

sudo service ros2 restart

Auxiliary Sensors

To start the ouster lidar as well as the zed2i, you can launch it via:

ros2 launch jkl_sensors system.launch.py

Ouster Lidar

_images/ouster.png

Start the Ouster Lidar driver only using:

ros2 launch jkl_sensors ouster.launch.py

Configuration settings are available within the jkl_sensors/ouster.launch.py file.

ZED2i

_images/zed-2-front.jpg

The ZED2i camera employs an Nvidia Graphics card integrated into the onboard PC.

_images/jackal_graphic_card.jpeg

To start the Zed2i camera only:

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 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:

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:

    ros2 launch jkl_navigation slam.launch.py
    

    In a separate terminal, launch the visualization command to observe the map being constructed:

    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:

    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:

    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:

    ros2 launch jkl_navigation map_navi.launch.py
    

    In a separate terminal, execute the visualization command to visualize and control the robot using rviz:

    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:

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.