安装turtlebot3
首先需要安装Gazebo turtlebot3
sudo apt-get install ros-foxy-gazebo-*
sudo apt install ros-foxy-turtlebot3
sudo apt install ros-foxy-turtlebot3-simulations
添加环境变量
vim ~/.bashrc
export TURTLEBOT3_MODEL=burger
启动仿真环境
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
绘图
打开rviz准备绘图
ros2 launch turtlebot3_cartographer cartographer.launch.py use_sim_time:=True
打开键盘绘制节点控制机器人移动绘制地图
ros2 run turtlebot3_teleop teleop_keyboard
保存建好的地图
ros2 run nav2_map_server map_saver_cli -f ~/ROS2/map/tutorial
关闭所有窗口后执行下面命令
导航
打开下面launch文件
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=true
在rviz 在其上方工具栏中有2D Pose estimate,用来设置大概的初始点
通过RViz中的navigation2 goal按钮,发送一个目标位置。然后自动规划路线到达目的的
简单的自动避障
通过订阅/scan话题获取正前方的距离与发布/cmd_vel话题的速度控制可以实现一个简单的避障功能,距离前方距离小于1m停止前进并转动,就这样一直循环下去就可以避障了,但是
import rclpy
from rclpy.node import Node
from sensor_msgs.msg import LaserScan
from geometry_msgs.msg import Twist
import time
class AvoidOb(Node):
def __init__(self