[Clearpath Jackal J100] OS1-32-U ROS2 Humble Gazebo Integration

Hallo Zusammen,

ich bin auf der Suche nach Informationen zur Einrichtung von ROS2 auf dem Jackal J100 mit OUSTER OS1-32.
Ich möchte ROS2 Humble auf Ubuntu 22.04 installieren und einrichten, den oben genannten Roboter in Gazebo simulieren.

Perspektivisch soll der Jackal selbstständig eine Map erstellen, sich durch diese Map autonom navigieren und verschiedene Punkte anfahren.

Gibt es hierzu Informationen/Tutorials bzw. Tipps und Tricks?

Vielen Dank im voraus

Dear @alphabravo,

ROS2 humble is currently unavailable for the Jackal. However, you can port the Jackal_Foxy to be used with humble. Online resources are available on combining the LiDar with e.g. and the ouster ros2 drivers.

Unfortunately, the video does not quite match my vision. Furthermore, there are still small errors in the implementation.
I would like to have the Jackal J100 create a map and then navigate autonomously through the map. The Jackal should stop at predefined points and carry out a 5G network measurement, during which various parameters should be recorded. Which sensors can I use to implement these in ROS2.
However, the autonomous navigation through a map with the stop at various points has priority.

For map creation and usage of the Jackal in ROS2, you can use the slam_toolbox package for SLAM, and the default AMCL for localization.

Stopping at a set of waypoints and executing a task can be done in multiple ways. The ROS2 and ideal way to do it would be to create a behavior node plugin for the Nav2 Behavior tree (e.g. Nav2 behavior Docs, Nav2 behavior tree tutorial). Going into Nav2 is pretty overwhelming and may take alot of time to understand as compared to ROS1 but is much more configurable and expansive once you get to know it.

An alternative way is to have a simple setup of ROS2 navigation and write your own behavior execution e.g. goto point1 in the map, execute script, goto point2 in the map, execute script etc.

For recording signal strength of 5G network (assuming that you have a WLAN card on the robot running Ubuntu), you simply extract the key information from

iwconfig

or

nmcli dev wifi list

average out the information over a period of 60 seconds and use it to get the information required.

Thank you for the answer.
Currently I try to do everything simulated, since on the Jackal still ROS1 is used.
I but already comes to problems, I can not simulate the Jackal properly in Gazebo or RVIZ. The instructions for ROS2 FOXY I work meticulously and implement all steps accordingly. Unfortunately, I can not control the Jackal via teleop.
As long as this works, I can deal with the integration of the OS1-32 in Gazebo and start to integrate nav2.

Do you have more tips and tutorials for the smooth installation and simulation of ROS2 Foxy with the Jackal and Gazebo?

  • Install ros foxy
  • sudo apt-get install ros-foxy-jackal* -y
  • ros2 launch jackal_gazebo gazebo.launch.py
  • ros2 run teleop_twist_keyboard teleop_twist_keyboard

I just installed and tested, it seems to be working fine, what issues are you facing, most likely dependencies are missing or incorrect installation of Foxy.

Thanks! It worked with ur commands but if I try ros2 launch jackal_gazebo jackal_world.launch.py it doesn’t work. Nevermind. I’ll know will have a look at the implementation of the OUSTER and nav2. I’ll probably ask u some more questions later the day.

1 Like

Hi!

I spoke with Clearpath support and they told me that ROS Humble is supported. Only with the integration of the OUSTER OS1 is not supported by Clearpath.

Is there any possibility that you can help me with the integration of the OUSTERS OS1?

Maybe it’s possible to have a video call and talk about the problem?

With kind regards

Adrian

Is there any possibility that you can help me with the integration of the OUSTERS OS1?

Yes, for sure. The integration as per my knowledge requires only modifications to the URDF and the ouster plugin and then it should work directly. I have added an opensource repository on instructions on how to build the plugin and add to the URDF.

Thank you for the answer.
How can I integrate the ouster in the Robot.yaml file?

Which GPS is used by mybotshop for delivery? And how can this be integrated into .yaml?

Dear @Sohail
I was able to successfully install the Jackal today with Ubuntu 20.04 and ROS2 foxy. The connection with the controller was also successful and I could control the Jackal. In the next step I installed the ros2 ouster driver and could already read data from the ouster via the launch file.
My question now is how I can use the ouster together with the Jackal. Do I have to adjust the jackal_description as you explained before or does that only count for gazebo?
Do you have any recommendations for using SLAM and nav2?

kind regards
Adrian

Dear @alphabravo,

My question now is how I can use the ouster together with the Jackal. Do I have to adjust the jackal_description as you explained before or does that only count for gazebo?

You just have to add the Ouster to the URDF and you have to ensure that the link names of the Ouster correspond to that of the names in the driver. Once those are added you should the point cloud alongside with the robot in rviz.

Do you have any recommendations for using SLAM and nav2?

I would recommend using the point cloud to laserscan package alongside with slam toolbox for SLAM and localization as well.

How can I integrate the ouster in the Robot.yaml file?

I don’t understand which .yaml you are talking about. You need only to build the plugin and add it to the robot.

Which GPS is used by mybotshop for delivery?

We usually use the Emlid RS2 or Fixposition for GPS information each having their own situational benefits. One requiring internet but providing high percision indoor and outdoor global odometry (fixposition) and the other being able to work with base station alone without requiring internet.

And how can this be integrated into .yaml?

I’m not sure what you mean by this.

@Sohail

The .yaml part is obsolete.

I have already integrated the sensor and can use

ros2 launch ouster_ros sensor.config.xml sensor_hostname:=xxx

Access the data from the sensor.

I added the part from GitHub to the URDF, but can’t access the jackal and ouster in RVIZ.

You mean you cant see the point cloud?

yes but only with sensor launch not with jackal and sensor

Dear @alphabravo ,

We’re interested in scheduling a meeting today if it’s convenient, with the aim of addressing the issue through a call. Kindly inform us of your availability, and if it works for you, please share your email address and suggest a suitable time for the call. This will enable us to send you the meeting link.

Dear @Azib
thanks a lot!
I’m free in time from now up to 5 pm.

When is a good time for u?

kind regards
Adrian

We can schedule the meeting for 1:00 PM (GMT+2).

so 1:00 PM (GMT +2) would fit.

send u my contact information per direct message

@Sohail
Thanks for ur help. Unfortunately reinstall of ouster-ros doesn’t help.
Same error

May u have another workaround?