A1 slam guide. Error after launchin mbs_slam

I am trying to run all the ROS drivers on local PC. qre_driver v3.2 has been done successfully on local PC.
I have done following steps for execution of slam:

  1. Launch high level node - Successfully ran
  2. Launched a1_state_publisher : Getting error like No Zed Odom Received
  3. Launched a1_ouster : Successfully launched
  4. Launched a1_viz: few errors came maybe due to odom but able to visulaize with pointcloud data
  5. Launched mbs_slam indoor_slam.launch: Successfuly launched but a1_viz stopped displaying pointcloud data.

Someone please help me to run mapper package on A1 with commands in order.

@Sohail help me as soon as possible

Have you configured the launch file?

For ouster launch, points topic, ip(hostname), udp_dest i have changed.
In indoor_slam.launch for SLAM i have changed topic name from points to /ouster/points

Is there anything i need to change for odom data and for SLAM to work.
If possible can you share command in order that should be executed.
Also changes to be done from our side in launch file

One thing to comment on in here is that there are 4 ways of acquiring odometry.

  1. Using a depth camera Zed2i or another depth camera to get the odom data. (Recommended Priority 1). Recommendation is that this compensates for slippage and motor discrepancies.
  2. Using the qre package’s estimated leg position for odom (not the zed2i one). It is highly unreliable and has been removed.
  3. Use v3.3.1 in which the odom topic directly comes. (Recommended Priority 2). The only issue fir v3.3.1 is we haven’t tested the joint state publisher.
  4. Generate your own odom estimations via custom algorithms.

Additionally, you can use ekf fusion of the above odom sources.

I am trying to run a1_state_publisher on local machine. On A1 mapper intel real sense is mounted. Will option 1 work for this configuration or i need to run state_publisher on nvidia board by setting multi network ROS ?

By setting multi network ROS we are able to receive odom topic (a1_state_publisher sun on nvidia board), but a1_viz stops displaying pointcloud data. Can you check this one also?

but a1_viz stops displaying pointcloud data. Can you check this one also?

This is because the hdl slam is remapping the point cloud topic to a new one but since the odom is not coming therefore it might not be publishing. You can verify it by adding and checking the published topics in rviz.

By setting multi network ROS we are able to receive odom topic (a1_state_publisher sun on nvidia board),

Are you sure, please rostopic echo /odom, move the robot and see if the pose x and y are changing. If not then you have to use one of the mentioned alternatives.

I am trying to run a1_state_publisher on local machine. On A1 mapper intel real sense is mounted. Will option 1 work for this configuration

I have not checked the depth stream of the intel, but if it is provided along with visual odom similar to zed2i then it should be possible.

or i need to run state_publisher on nvidia board by setting multi network ROS ?

It should be coming over the network at 192.168.12.1:8080. You can verify it by opening this address in your PC’s web browser. (The mobile app should also have the network configuration).You can install

sudo apt-get install ros-$ROS_DISTRO-video-stream-opencv

then add a launch file to mbs_slam package with the following:

<launch>
   <include file="$(find video_stream_opencv)/launch/camera.launch" >
      <arg name="camera_name" value="fixposition_cam" />
      <arg name="video_stream_provider" value="http://192.168.12.1" />
      <arg name="fps" value="10" />
      <arg name="frame_id" value="fixposition _frame" />
      <arg name="camera_info_url" value="" />
      <arg name="flip_horizontal" value="false" />
      <arg name="flip_vertical" value="true" />
      <arg name="visualize" value="false" />
   </include>
</launch>

I have not checked for depth, but with this you can combine it with visual slam to get the odom. Alternatively use v3.3.1 to get the leg positions.