在这里记录我建图的经历,实测可以正常运行
前提:需要代理。
一、虚拟机代理
按照图示打开“系统代理”、“局域网代理”,代理端口是“7890”;
win+R输入cmd,执行ipconfig,查看VMware Network Adapter VMnet8的IPv4,我的是“192.168.139.1”,
在Ubuntu系统设置>system setting>network>network proxy,填写你自己主机VMnet8的ipv4地址和代理端口号,如图所示,保持主机和虚拟机的地址一样就好了。
保持在“Manual”就相当于开了代理,该步骤完成。
二、虚拟机设置
如图,开启“加速3D图形”,图形内存选择推荐的“8GB”,这样运行Gazebo会非常流畅。
三、更换系统源(可选)
根据命令步骤选择一步一步来。
wget http://fishros.com/install -O fishros && bash fishros
四、安装ROS2
可以用上面的命令一键安装ROS2,也可以用该代码运行(本人实测可行)
在根目录下打开终端,未安装git命令先安装git即可。
注意:打开setup.bash把第五行的ROS1版本注释掉,如图
git clone https://github.com/ryuichiueda/ros2_setup_scripts.git
cd ~/ros2_setup_scripts
./setup.bash
source ~/.bashrc
ROS2安装完成
添加ROS2源
sudo apt update && sudo apt install -y software-properties-common \
curl gnupg2 lsb-release
# 添加 ROS 2 公钥
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
| sudo apt-key add -
# 添加 ROS 2 apt 源
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] \
http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" \
> /etc/apt/sources.list.d/ros2-latest.list'
sudo apt update
五、安装TurtleBot3
git clone https://github.com/yuya-0411/turtlebot3_setup.git
cd turtlebot3_setup
chmod +x turtlebot3_setup.sh
./turtlebot3_setup.sh
六、构建 TurtleBot3
mkdir -p ~/ros2_ws/src && cd $_
git clone -b foxy-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/ros2_ws && colcon build --symlink-install
七、添加环境变量
sudo gedit ~/.bashrc
在打开的文本里添加下面几行代码
source /opt/ros/foxy/setup.bash
export ROS_DOMAIN_ID=30 #TURTLEBOT3
source ~/ros2_ws/install/setup.bash
#export TURTLEBOT3_MODEL=burger
#export TURTLEBOT3_MODEL=waffle
export TURTLEBOT3_MODEL=waffle_pi
保存退出文本后输入
source ~/.bashrc
八、测试
启动gazebo,第一次启动会慢,后面就正常了
ros2 launch turtlebot3_gazebo turtlebot3_house.launch.py
在 turtlebot3 上使用激光雷达根据周围的点云信息绘制地图。
ros2 launch turtlebot3_cartographer cartographer.launch.py
启动键盘操作
ros2 run turtlebot3_teleop teleop_keyboard
开始建图。
九、保存地图
ros2 run nav2_map_server map_saver_cli -f my_map
导航
ros2 launch turtlebot3_navigation2 navigation2.launch.py
十、参考文献
ROS2の勉強 第7弾:TurtleBot3の環境構築 #ShellScript - Qiita
Setting Up TurtleBot3 Simulation in ROS 2 Humble Hawksbill | by Nilutpol Kashyap | Medium