南方科技大学课程《EE211机器人感知与智能》期末项目:TurtleBot4室内SLAM+导航+抓取
在实验室环境中,从TurtleBot4无人车上搭载的RPLIDAR S3 SL-Dtof激光雷达对场地进行SLAM,之后控制无人车动态避障导航到指定区域,闭环控制环绕搜索并移动接近Aruco物块。最后采用自研的机械臂控制算法,调整到合适的姿态对物块进行抓取和摆放。
sudo systemctl stop gdm3
sudo /etc/NX/nxserver --restart
Ctrl
+Alt
+T
参考:
ros2 launch iqr_tb4_bringup bringup.launch.py
ros2 run teleop_twist_keyboard teleop_twist_keyboard
注意:请确保环境照明条件良好,否则会严重影响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
Click on 2D Pose Estimate
, and then click and drag the arrow on the map to approximate the position and orientation of the robot.
The Nav2 Goal
tool allows you to set a goal pose for the robot.
参考:
- https://turtlebot.github.io/turtlebot4-user-manual/tutorials/navigation.html
- https://github.com/turtlebot/turtlebot4_tutorials
- https://fishros.org.cn/forum/topic/303/ros2-%E5%9F%BA%E7%A1%80-navigation2%E5%AF%BC%E8%88%AA%E7%B3%BB%E7%BB%9F
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
参考:
- 岳翼遥:相机识别Marker
- 施永祺:机械臂逆运动学
- 华羽霄:全局导航,角度位置微调
@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}
}