Ackermann Driving Autonomous Robot Platform
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
- robot state publisher & joint state publisher => robot description
- rviz launch
ros2 launch src_description src_description.launch.py
- Gazebo launch
- SRC spawn & ros2_control launch
ros2 launch src_gazebo empty_world.launch.py
- Gazebo launch
- rqt_robot_steering launch
- rviz launch
ros2 launch src_gazebo racecourse.launch.py
- 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
자체 제작 odom과의 비교
- src_gazebo_controller.py
ackermann steering을 위한 controller 수식은 readme 참고
ros2 launch src_sensor_fusion racecourse.launch.py
ros2 launch src_sensor_fusion robot_localization.launch.py
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
ros2 launch src_gazebo racecourse.launch.py use_rviz:=false
ros2 launch src_amcl amcl.launch.py
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:\ {}\
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
- [] 우분투에서 캡쳐 다시하기 (그림자, 카메라 이미지)
- [] 빌드 종속성 모두 확인 - Docker에서
- [] 장애물 회피용 param 최적화











