Implementation of Robust Colision Cone Control Barrier Function for mobile robots, with following kinematics models:
Where
Base controller trajectories:
Distance between robots:
Colision Cone Control Barrier Function is defined in following way:
Where
And are defined in following way:
To stay in safe space control needs to met following condition:
Where derivative is defined as:
Example trajectory of two robots in colision course is presented below:
Distance between robots (each robot has 0.5 meter radius):
Assume that $p_r \sim (\hat{p}{r}, \Sigma{p})$ and $v_r \sim (\hat{v}{r}, \Sigma{v})$ then uncertain Control Barrier Function has form:
Where
And derivative has form:
This leads to inequality condition:
Where:
Taking it simply it is
So finally w need to check if random variable
Example trajectory of two robots in colision course, for different
Build image:
docker build -t ros2_dev:humble .Run docker container:
xhost +local:docker
docker run -it \
--name ros2-rc3bf \
--env="DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
--volume="${HOME}/.Xauthority:/root/.Xauthority:rw" \
--env="XAUTHORITY=/root/.Xauthority" \
--volume="/yout/paths/robust_c3cbf:/dev/ros_ws:rw" \
--net=host \
ros:humble \
bashcolcon build
source install/setup.bashThis command runs two robot nodes on collision trajectories.
ros2 launch rc3bf two_robots_straight_line.launch.py






