Skip to content
yuxuanlibPublic

About

Official inference and ROS deployment code for FNE-Nav: Forward Kinodynamic Prediction-Guided Navigation for Nonholonomic Robots.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

FNE-Nav

Official implementation of:

FNE-Nav: Forward Kinodynamic Prediction-Guided Navigation for Nonholonomic Robots in Complex Environments

Xiaoyu Tian, Jiachen Zhang, Xianzhen Liu, Qing Shi, Toshio Fukuda, and Zhiqiang Yu

FNE-Nav is a navigation framework for nonholonomic robots that couples LiDAR-based subgoal prediction with forward closed-loop rollout under Ackermann bicycle dynamics.

Release status

This initial public release contains the inference and deployment components used for ROS/Gazebo integration:

  • LiDAR-conditioned subgoal prediction;
  • a CNN/Transformer perception backbone;
  • a neural closed-loop trajectory predictor based on torchdiffeq;
  • Ackermann bicycle dynamics;
  • a ROS navigation node and Gazebo vehicle simulation packages.

The training pipeline, training datasets, rosbag recordings, and pretrained model weights are not included in this release.

To run the complete navigation system, users must provide compatible policy and controller checkpoints through launch arguments.

Repository structure

FNE-Nav/
├── src/
│   ├── fne_nav/                         # FNE-Nav ROS package
│   │   ├── config/                      # Planner and model configuration
│   │   ├── launch/                      # ROS launch files
│   │   ├── policy/                      # Perception and rollout modules
│   │   └── scripts/                     # Online navigation node
│   └── ackermann_vehicle_base_gazebo/   # Gazebo vehicle and LiDAR simulation
├── requirements.txt
├── LICENSE
└── THIRD_PARTY_NOTICES.md

Requirements

The code was developed for Ubuntu 20.04, ROS Noetic, Python 3.8, Gazebo 11, and CUDA-capable PyTorch.

Install ROS dependencies according to your ROS distribution, then install the Python dependencies:

python3 -m pip install -r requirements.txt

PyTorch should be installed separately using the build appropriate for your CUDA version.

Build

mkdir -p ~/fne_nav_ws/src
cd ~/fne_nav_ws/src
git clone https://github.com/yuxuanlib/FNE-Nav.git

cd ~/fne_nav_ws
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash

Run

Provide locally stored checkpoints when launching. Checkpoints are intentionally not part of this repository.

roslaunch fne_nav nav.launch \
  policy_weight_path:=/absolute/path/to/policy_checkpoint.pth \
  controller_weight_path:=/absolute/path/to/controller_checkpoint.pth

The main configurable ROS topics and planner parameters are defined in src/fne_nav/config/planner_params.yaml.

Inputs and outputs

The navigation node subscribes to /odom, /scan, and /move_base_simple/goal. It publishes /ackermann_cmd, /fne_nav/local_trajectory, and /fne_nav/intermediate_goal. Topic names can be changed through ROS parameters.

Citation

If you use this code in your research, please cite:

@article{tian2026fnenav,
  title   = {FNE-Nav: Forward Kinodynamic Prediction-Guided Navigation for Nonholonomic Robots in Complex Environments},
  author  = {Tian, Xiaoyu and Zhang, Jiachen and Liu, Xianzhen and Shi, Qing and Fukuda, Toshio and Yu, Zhiqiang},
  year    = {2026}
}

Publication venue, volume, pages, and DOI will be added after publication.

License

The original FNE-Nav code in this repository is released under the MIT License. Vendored simulation components and retained third-party portions remain under their respective licenses. See THIRD_PARTY_NOTICES.md and the license files distributed with those components.

About

Official inference and ROS deployment code for FNE-Nav: Forward Kinodynamic Prediction-Guided Navigation for Nonholonomic Robots.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages