Skip to content

Road-Balance/SRC-ROS-2

Repository files navigation

SRC-ROS-2

Ackermann Driving Autonomous Robot Platform

image

Environment Setup

  • Ubuntu 20.04
  • ROS2 Foxy
  • Install Gazebo
  • Dependency Packages
sudo apt install ros-foxy-nav2* -y
sudo apt install ros-foxy-ros2_control* -y

cd ~/ros2_ws
rosdinstall foxy

src_control_message clone
cbp src_control_message && rosfoxy

CAD Designed from Fusion 360

image

Simplified SRC Description

  • robot state publisher & joint state publisher => robot description
  • rviz launch
ros2 launch src_description src_description.launch.py   

image

SRC Simulation 1 - SRC & Empty World

  • Gazebo launch
  • SRC spawn & ros2_control launch
ros2 launch src_gazebo empty_world.launch.py

image

SRC Simulation 2 - SRC & MIT Racecourse

  • Gazebo launch
  • rqt_robot_steering launch
  • rviz launch
ros2 launch src_gazebo racecourse.launch.py

image

image

Controller Pkg

  • Move forward for 5 seconds
ros2 run src_gazebo_controller basic_control
  • Ground Truth odometry Publisher utility
ros2 run src_gazebo_controller odom_utility_tools

image

자체 제작 odom과의 비교

image

  • src_gazebo_controller.py

ackermann steering을 위한 controller 수식은 readme 참고

Sensor Fusion

ros2 launch src_sensor_fusion racecourse.launch.py
ros2 launch src_sensor_fusion robot_localization.launch.py

image

SLAM

ros2 launch src_gazebo racecourse.launch.py use_rviz:=false
ros2 launch src_slam src_slam_gazebo_slam_toolbox.launch.py 
ros2 launch src_slam src_slam_gazebo_cartographer.launch.py use_sim_time:=true

image

AMCL (Localization)

ros2 launch src_gazebo racecourse.launch.py use_rviz:=false
ros2 launch src_amcl amcl.launch.py

image

Navigation

ros2 launch src_gazebo racecourse.launch.py use_rviz:=false
ros2 launch src_nav bringup_launch.py

obstable avoidance

ros2 launch src_gazebo caffee_world.launch.py use_rviz:=false
ros2 launch src_nav caffee_bringup_launch.py 
ros2 service call /global_costmap/clear_entirely_global_costmap nav2_msgs/srv/ClearEntireCostmap request:\ {}\

image

Real Robot

joy control

docker run -it --rm --name micro-ros-foxy --net=host -v /dev:/dev --privileged tge1375/sw-micro-ros:0.0.4
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/teensy4.0

ros2 launch src_demo joystick_control_foxy.launch.py

PID Tuning Requried

SLAM Toolbox

# LattePanda
docker run -it --rm --name micro-ros-foxy --net=host -v /dev:/dev --privileged tge1375/sw-micro-ros:0.0.4
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/teensy4.0
ros2 launch src_slam src_slam.launch.py open_rviz:=false

# remote rviz view
ros2 launch src_slam only_rviz_foxy.launch.py

ros2 run teleop_twist_keyboard teleop_twist_keyboard 
# or
ros2 launch src_demo joystick_control_foxy.launch.py

Navigation

ros2 launch src_demo src_bringup_nav.launch.py
ros2 launch src_nav bringup_real_launch.py

# SRC launch
ros2 launch src_demo src_bringup_nav.launch.py
ros2 launch src_nav bringup_real_launch.py open_rviz:=false

# Remote launch
ros2 launch src_nav rviz_view_launch.py
ros2 launch src_nav rviz_view_foxy_launch.py

TODO

  • [] 우분투에서 캡쳐 다시하기 (그림자, 카메라 이미지)
  • [] 빌드 종속성 모두 확인 - Docker에서
  • [] 장애물 회피용 param 최적화

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published