试过了conda deactivate,还是会出现很多小问题,干脆在docker容器里使用ros。
步骤:
1. 先拉取一个ros镜像(拉不下来的话拉ubuntu镜像,比较小,然后自己安装ros,可以用鱼香肉丝一键安装)
2. 创建容器。我想让容器直接挂载本地的文件夹,需要在指令中 -v指定文件目录:
docker run -it --name 容器名字 -v /path/to/your/local/folder:/workspace ros镜像名字
挂载了本地文件之后,在容器中操作就是实际在操作本地的文件。
不过挂载了之后要重新编译一下。
然后我在容器内下载turtlebot3的包测试一下。
1. 分别下载:
一.turtlebot3_simulations
二.turtlebot3
三.turtlebot3_msgs
这三个包。其中第一个是用来仿真的包,第一个包依赖于后面两个包。
2. 启动机器人:
export TURTLEBOT3_MODEL={waffle,waffle_pi,burger三选一}
roslaunch turtlebot3_gazebo turtlebot3_world.launch
3. SLAM建图:
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
4. 键盘操控小车:
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
5. 保存地图文件:
rosrun map_server map_saver -f path/map
6. 导航:
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=path/map.yaml
绿色箭头初始化小车位置,红色箭头设置目标点。