Skip to content
This repository has been archived by the owner on Jul 27, 2024. It is now read-only.

HuaYuXiao/turtlebot4_navigation_and_arm_control

Repository files navigation

tb4 Navigation and Arm Control

南方科技大学课程《EE211机器人感知与智能》期末项目:TurtleBot4室内SLAM+导航+抓取

HitCount Static Badge Static Badge Static Badge

在实验室环境中,从TurtleBot4无人车上搭载的RPLIDAR S3 SL-Dtof激光雷达对场地进行SLAM,之后控制无人车动态避障导航到指定区域,闭环控制环绕搜索并移动接近Aruco物块。最后采用自研的机械臂控制算法,调整到合适的姿态对物块进行抓取和摆放。

Video on YouTube

https://youtu.be/JnZ-MSPzgaY

基本指令

屏幕显示

sudo systemctl stop gdm3
sudo /etc/NX/nxserver --restart
image

Ctrl+Alt+T

image

参考:

启动接口

ros2 launch iqr_tb4_bringup bringup.launch.py

键盘控制

ros2 run teleop_twist_keyboard teleop_twist_keyboard

相机识别marker

注意:请确保环境照明条件良好,否则会严重影响marker识别率!

ros2 launch ros2_aruco aruco_recognition.launch.py

定位导航

Open a terminal and launch localization:

ros2 launch turtlebot4_navigation localization.launch.py map:=map.yaml

Then, in another terminal, launch nav2:

ros2 launch turtlebot4_navigation nav2.launch.py

In a new terminal launch Rviz so that you can view the map and interact with navigation:

ros2 launch turtlebot4_viz view_robot.launch.py

image

Click on 2D Pose Estimate, and then click and drag the arrow on the map to approximate the position and orientation of the robot.

image

The Nav2 Goal tool allows you to set a goal pose for the robot.

image

参考:

加载地图

Open a terminal and launch rviz2:

rviz2

Then, in another terminal, launch map_server:

ros2 run nav2_map_server map_server --ros-args -p yaml_filename:=map.yaml

Then, in another terminal, launch lifecycle_bringup:

ros2 run nav2_util lifecycle_bringup map_server

image

参考:

重启底盘

image

团队贡献

  • 岳翼遥:相机识别Marker
  • 施永祺:机械臂逆运动学
  • 华羽霄:全局导航,角度位置微调

Citations

@InProceedings{macenski2020marathon2,
author = {Macenski, Steven and Martin, Francisco and White, Ruffin and Ginés Clavero, Jonatan},
title = {The Marathon 2: A Navigation System},
booktitle = {2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
year = {2020}
}