MCPcopy Index your code
hub / github.com/ShengbenBi/CTSAC

github.com/ShengbenBi/CTSAC @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
85 symbols 218 edges 8 files 5 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CTSAC: Curriculum-Based Transformer Soft Actor-Critic for Goal-Oriented Robot Exploration

With the increasing demand for efficient and flexible robotic exploration solutions, Reinforcement Learning (RL) is becoming a promising approach in the field of autonomous robotic exploration. However, current RL-based exploration algorithms often face limited environmental reasoning capabilities, slow convergence rates, and substantial challenges in Sim-To-Real (S2R) transfer. To address these issues, we propose a Curriculum Learning-based Transformer Reinforcement Learning Algorithm (CTSAC) aimed at improving both exploration efficiency and transfer performance. To enhance the robot's reasoning ability, a Transformer is integrated into the perception network of the Soft Actor-Critic (SAC) framework, leveraging historical information to improve the farsightedness of the strategy. A periodic review-based curriculum learning is proposed, which enhances training efficiency while mitigating catastrophic forgetting during curriculum transitions. Training is conducted on the ROS-Gazebo continuous robotic simulation platform, with LiDAR clustering optimization to further reduce the S2R gap. Experimental results demonstrate the CTSAC algorithm outperforms the state-of-the-art non-learning and learning-based algorithms in terms of success rate and success rate-weighted exploration time. Moreover, real-world experiments validate the strong S2R transfer capabilities of CTSAC. This project has been accepted by 2025 ICRA. Address:https://arxiv.org/abs/2503.14254

https://github.com/user-attachments/assets/057dd9fc-dfca-4799-b5ae-0f20a0aae710

Installation

Main dependencies:

ROS Noetic on Ubuntu 20.04

Pytorch 3.8

1 Clone the repository:

cd ~

git clone https://github.com/ShengbenBi/CTSAC/SAC-robot-navigation-CL

2 Compile the workspace:

cd ~/SAC-robot-navigation-CL/catkin_ws

catkin_make

If it prompts that a component is missing, install what is missing.

3 Replace Path:

Replace all /jetson in the file with your computer name,such as /bsb

4 Train:

cd ~/SAC-robot-navigation-CL/catkin_ws

source ./devel/setup.bash

cd ../SAC

python3 velodyne_train.py

The first run will be a bit slow because it needs to download the relevant models in gazebo, which takes about 10 minutes.

5 Tensorboard:

cd ~/SAC-robot-navigation-CL/SAC
tensorboard --logdir runs

6 Test:

cd ~/SAC-robot-navigation-CL/catkin_ws

source ./devel/setup.bash

cd ../SAC

python3 velodyne_test.py

Kill processes:

killall -9 rosout roslaunch rosmaster gzserver nodelet robot_state_publisher gzclient python python3

If this code is helpful to your study and research, please don't hesitate to give me your star, which will be the greatest encouragement to me. This code is modified based on DRL-robot-navigation. Thanks for his open source and work.

Core symbols most depended-on inside this repo

step
called by 5
SAC-robot-navigation-CL/SAC/velodyne_env.py
check_pose
called by 5
SAC-robot-navigation-CL/SAC/velodyne_env.py
setDiagnosisMsg
called by 5
SAC-robot-navigation-CL/catkin_ws/src/turtlebot3/turtlebot3_bringup/src/turtlebot3_diagnostics.cpp
clear
called by 3
SAC-robot-navigation-CL/SAC/replay_buffer.py
get_parameters
called by 3
SAC-robot-navigation-CL/SAC/parameter.py
setButtonDiagnosis
called by 3
SAC-robot-navigation-CL/catkin_ws/src/turtlebot3/turtlebot3_bringup/src/turtlebot3_diagnostics.cpp
size
called by 2
SAC-robot-navigation-CL/SAC/replay_buffer.py
reset
called by 2
SAC-robot-navigation-CL/SAC/velodyne_env.py

Shape

Method 56
Function 15
Class 14

Languages

Python75%
C++25%

Modules by API surface

SAC-robot-navigation-CL/SAC/SAC.py34 symbols
SAC-robot-navigation-CL/SAC/velodyne_env.py20 symbols
SAC-robot-navigation-CL/catkin_ws/src/turtlebot3/turtlebot3_bringup/src/turtlebot3_diagnostics.cpp13 symbols
SAC-robot-navigation-CL/catkin_ws/src/velodyne_simulator/velodyne_gazebo_plugins/src/GazeboRosVelodyneLaser.cpp6 symbols
SAC-robot-navigation-CL/SAC/replay_buffer.py6 symbols
SAC-robot-navigation-CL/SAC/velodyne_trainer.py3 symbols
SAC-robot-navigation-CL/catkin_ws/src/velodyne_simulator/velodyne_gazebo_plugins/include/velodyne_gazebo_plugins/GazeboRosVelodyneLaser.h2 symbols
SAC-robot-navigation-CL/SAC/parameter.py1 symbols

For agents

$ claude mcp add CTSAC \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact