• Stars
    star
    184
  • Rank 209,187 (Top 5 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 5 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ROS implementation of State Lattice Planner

state_lattice_planner

Build Status issue_opened issue_closed

Overview

TBW

The API documantation is here.

Enviornment

  • Ubuntu 16.04 or 18.04
  • ROS Kinetic or Melodic

Install and Build

cd catkin_workspace/src
git clone https://github.com/amslabtech/state_lattice_planner.git
cd ..
catkin_make

Nodes

state_lattice_planner

  • local planner node

Published topics

  • /cmd_vel (geometry_msgs/Twist)
  • ~/candidate_trajectoryies (visualization_msgs/MarkerArray)
    • for visualization
  • ~/candidate_trajectoryies/no_collision (visualization_msgs/MarkerArray)
    • for visualization

Subscribed topics

  • /local_goal (geometry_msgs/PoseStamped)
    • the local goal must be in the local map
  • /local_map (nav_msgs/OccupancyGrid)
    • robot-centered costmap
  • /odom (nav_msgs/Odometry)
    • robot odometry

Parameters

  • HZ
    • main loop rate (default: 20[Hz])
  • ROBOT_FRAME
    • robot's coordinate frame (default: base_link)
  • N_P
    • number of terminal state sampling for x-y position (default: 10)
  • N_H
    • number of terminal state sampling for heading direction (default: 3)
  • MAX_ALPHA
    • max terminal state sampling direction (default: M_PI/3.0[rad/s])
  • MAX_PSI
    • max heading direction at terminal state (default: M_PI/6.0[rad/s])
  • N_S
    • parameter for globally guided sampling (default: 1000)
  • MAX_ACCELERATION
    • max acceleration of robot (absolute value)(default: 1.0[m/ss])
  • TARGET_VELOCITY
    • max velocity of robot's target velocity (default: 0.8[m/s])
  • LOOKUP_TABLE_FILE_NAME
    • absolute path of lookup table (default: $HOME/lookup_table.csv)
  • MAX_ITERATION
    • max number of iteration (default: 100)
  • OPTIMIZATION_TOLERANCE
    • when the cost becomes lower than this parameter, optimization loop is finished (default: 0.1)
  • MAX_CURVATURE
    • max trajectory curvature (default: 1.0[rad/m])
  • MAX_D_CURVATURE
    • max time derivative of trajectory curvature (default: 2.0[rad/ms]
  • MAX_YAWRATE
    • max robot's yawrate (default: 0.8[rad/s])

Runtime requirement

  • TF (from /odom to /base_link) is required

lookup_table_generator

  • this node is a tool for generating a lookup table, not for planning. so this node doesn't publish or subscribe topics.

Parameters

  • MIN_X
    • target state sampling parameter (default: 1.0[m])
  • MAX_X
    • target state sampling parameter (default: 7.0[m])
  • DELTA_X
    • target state sampling parameter (default: 1.0[m])
  • MAX_Y
    • target state sampling parameter (default: 3.0[m])
  • DELTA_Y
    • target state sampling parameter (default: 1.0[m])
  • MAX_YAW
    • target state sampling parameter (default: 1.0471975[rad])
  • DELTA_YAW
    • target state sampling parameter (default: 1.0471975[rad])
  • LOOKUP_TABLE_FILE_NAME
    • full path of lookup_table.csv
  • MIN_V
    • initial velocity sampling parameter (default: 0.1[m/s])
  • MAX_V
    • initial velocity sampling parameter (default: 0.8[m/s])
  • DELTA_V
    • initial velocity sampling parameter (default: 0.1[m/s])
  • MAX_KAPPA
    • initial curvature sampling parameter (default: 1.0[rad/m])
  • DELTA_KAPPA
    • initial curvature sampling parameter (default: 0.2[rad/m])
  • MAX_ACCELERATION
    • max acceleration of robot (default: 1.0[m/ss])
  • MAX_CURVATURE
    • max trajectory curvature (default: 1.0[rad/m])
  • MAX_D_CURVATURE
    • max time derivative of trajectory curvature (default: 2.0[rad/ms])
  • MAX_YAWRATE
    • max yawrate of robot (default: 0.8[rad/s])

How to Use

  • for generating lookup table
roslaunch state_lattice_planner generate_lookup_table.launch
  • for local path planning
roslaunch state_lattice_planner local_planner.launch

References

More Repositories

1

dwa_planner

ROS implementation of DWA(Dynamic Window Approach) Planner
C++
432
star
2

dynamic_obstacle_avoidance_planner

Collision prediction based dynamic obstacle avoidance planner
C++
57
star
3

semantickitti2bag

Convert semantic KITTI dataset to rosbag file
Python
37
star
4

dynamic_cloud_detector

ROS package for dividing point cloud into "dynamic" and "static"
C++
35
star
5

odom_gnss_ekf

ROS package for combining wheel odomety , IMU, and GNSS by EKF
C++
13
star
6

road_recognizer

ROS package for recognizing edges of the road and road junctions
C++
9
star
7

obstacle_point_cloud_detector

Obstacle and ground point cloud detection for ROS2
C++
7
star
8

realsense_docker

Docker image containing driver and scripts for Intel Realsense
Shell
6
star
9

py_roomba_adapter_ros2

ROS2 wrapper for AtsushiSakai/PyRoombaAdapter
Python
5
star
10

chibi22_b

C++
4
star
11

motion_decision

ROS package for Differential wheeled robot operation with Joy or Local Planner. Recovery mode supported.
C++
4
star
12

perfect_velodyne

Fast normal estimation for point cloud from velodyne HDL-32e
C++
3
star
13

smartbagrec

GUI based application to record rosbag files.
Python
3
star
14

node_edge_navigator

ROS package for navigating the robot in edge-node map
C++
3
star
15

object_detection_ros2

3
star
16

semantic_segmentation_with_point_cloud_integrator

Integrates image semantic segmentation with point cloud
C++
3
star
17

semantic_mesh_loam

C++
3
star
18

amsl_navigation_managers

ROS package for map and task management for edge-node graph navigation
Python
2
star
19

dynamic_obstacle_tracker

ROS package for tracking dynamic obstacles
C++
2
star
20

traffic_light_detector

ROS package for traffic light detection with YOLOv8
Python
2
star
21

point_follow_planner

C++
2
star
22

localmap_creator

C++
2
star
23

chibi18_1

C++
1
star
24

multi_robots

C++
1
star
25

amsl_cpp_tutorials

C++
1
star
26

chibi18_2

C++
1
star
27

INFANT

CMake
1
star
28

rospy_transform_utils

Useful conversion tools for rospy.
Python
1
star
29

ros1_bridge_docker

Docker image for ros1_bridge
Dockerfile
1
star
30

sq2_ccv2

ROS package and parameter files for SQ2-CCV2
C++
1
star
31

ccv_servo_server

service for servo system: publisher and subscriber
C++
1
star
32

midas_ros

Run MiDaS on ROS
Python
1
star
33

ros1_python3_docker

docker image for using python3 for ros1
Dockerfile
1
star
34

em_algorithm_eigen

C++ implementation of EM algorithm using Eigen
C++
1
star
35

camera_info_publisher

camera_info_publisher for ROS1
CMake
1
star
36

project_high_agility

C++
1
star
37

dijkstra_global_planner

C++
1
star
38

semantic_mesh_localization

Semantic localization using semantic segmented image and annotated mesh
C++
1
star