Kudan Integration
This guide shows you how to integrate the Kudan packages into Seirios RNS.
Kudan Inc is a Japan-headquartered company focusing on artificial perception computer software by providing artificial perception solutions, such as localization and mapping software.
Kudan offers commercial-grade localization and mapping software based on SLAM technology (Simultaneous localization and mapping). This technology enables machines and devices to understand where they are, how they are moving, and the structure of their environment.
For more information, please refer to Kudan’s website, or if you want to use a Kudan as your SLAM solution for your 3D lidar, you can contact [email protected].
First, you have to download the Kudan ROS Packages,
If you haven't installed the Seirios RNS yet, you can download the kudan-movel easy deploy package using this link (only for x86_64 architecture).
But if you already installed the Seirios RNS yet, you can contact [email protected] for the link to download the Kudan Packages.
Then please make sure your seirios-ros image version is at least
2.48.9
or newer.
You can check it by executing this command:
docker ps | grep seirios-ros
And see the version on this line:registry.gitlab.com/movelai/client_deploy/seirios_ros/master_x86:<version>
- 1.Copy the kdlidar_ros package into the
~/catkin_ws/movel_ai/
folder - 2.Change the permission of kdlidar_ros, so it can be executed inside the docker
chmod -R +x ~/catkin_ws/movel_ai/kdlidar_ros/
- 3.Configure tf/transform parameters in these launch files:
- 1.
~/movel_ws/kdlidar_ros/install/share/kdlidar_ros/launch/kdlidar_ros_pcl_localise.launch
, Change theplatform_to_lidar0_rot
andplatform_to_lidar0_trans
based on your tf from lidar link to base_link.<rosparam param="platform_to_lidar0_rot">[1, 0, 0,0, 1, 0,0, 0, 1]</rosparam><rosparam param="platform_to_lidar0_tran">[0.032, 0.000, -0.178]<!-- [0, 0, 1.73] --></rosparam> - 2.
~/movel_ws/kdlidar_ros/install/share/kdlidar_ros/launch/kdlidar_ros_pcl_mapping.launch
, Change theplatform_to_lidar0_rot
andplatform_to_lidar0_trans
based on your tf from lidar link to base_link.<rosparam param="platform_to_lidar0_rot">[1, 0, 0,0, 1, 0,0, 0, 1]</rosparam><rosparam param="platform_to_lidar0_tran">[0.032, 0.000, -0.178]<!-- [0, 0, 1.73] --></rosparam>
- 1.Create the
ros_entrypoint.sh
in the~/catkin_ws/movel_ai/
folder.#!/bin/bash# setup ros environmentsource "/opt/ros/$ROS_DISTRO/setup.bash"source /home/movel/kdlidar_ros/install/setup.bashexec "[email protected]"Also, change the permission of the ros_entry_point.sh by executing this command:sudo chmod +x ~/catkin_ws/movel_ai/ros_entrypoint.sh
- 2.Edit your
docker-compose.yaml
file in the~/catkin_ws/movel_ai/
folder. Under the seirios-ros volumes, add the following line:seirios-ros:...volumes:...-/home/$USER/catkin_ws/movel_ai/kdlidar_ros:/home/movel/kdlidar_ros:rw-/home/$USER/catkin_ws/movel_ai/ros_entrypoint.sh:/ros_entrypoint.sh:rw... - 3.Add the following variables under the seirios-backend and seirios-frontend environment:seirios-frontend:...environment:THREE_D_MAPPING: "true"SHOW_3D_VIEW: "true"...seirios-backend:...environment:SHOW_3D_VIEW: "true"...
Edit the
task_supervisor.yaml
(at ~/catkin_ws/movel_ai/config/task_supervisor/config/task_supervisor.yaml
)- 1.Add
kudan_localization_handler
to the plugins section with the following lines and comment if there's any plugin with the same type number. Example:- {name: kudan_localization_handler, type: 31, class: 'task_supervisor::KudanLocalizationHandler'}# - {name: pcl_localization_handler, type: 31, class: 'task_supervisor::PCLLocalizationHandler'} - 2.Add a
kudan_localization_handler
section with the following parameters at the end of the file:kudan_localization_handler:watchdog_rate: 2.0watchdog_timeout: 0kudan_localization_launch_package: "kdlidar_ros"kudan_localization_launch_file: "kdlidar_ros_pcl_localise.launch"move_base_launch_package: "movel"move_base_launch_file: "navigation_common.launch"localization_map_dir: "/home/movel/.config/movel/maps"navigation_map_dir: "/home/movel/.config/movel/maps/nav"kudan_localization_launch_nodes: "/obs_cloud_to_scan /kdlidar_ros_pcl /velocity_limiter /anti_shin_buster_node /rgbd_to_base /velocity_setter_node /plan_inspector" - 3.Add
kudan_slam_handler
to the plugins section with the following lines and comment if there's any plugin with the same type number. Example:- {name: kudan_slam_handler, type: 32, class: 'task_supervisor::KudanSlamHandler'}# - {name: pcl_slam_handler, type: 32, class: 'task_supervisor::PCLSlamHandler'} - 4.Add a
kudan_slam_handler
section with the following parameters at the end of the file:kudan_slam_handler:watchdog_rate: 2.0watchdog_timeout: 0.0save_timeout: 20.0map_topic: "/map"kudan_slam_launch_package: "kdlidar_ros"kudan_slam_launch: "kdlidar_ros_pcl_mapping.launch"kudan_map_saver_package: "task_supervisor"kudan_map_saver_launch: "map_saver.launch"three_to_two_package: "movel_octomap_server"three_to_two_launch: "pointcloud_grid.launch" - 5.After you edit the
task_supervisor.yaml
, please restart all the docker containers by executing the following commands:cd ~/catkin_ws/movel_aidocker-compose down && docker-compose up -d
Now you can do the 3D Mapping using Kudan Package by clicking the "Mapping" feature on Seirios RNS UI.
If you are facing any issues and have questions, please feel free to ask by reaching us at [email protected]
Last modified 2mo ago