当前位置: 首页 > news >正文

ros-noetic搭建turtlebot3测试

准备

先要搭建好ros环境,并用roscore验证,cmake --version查看版本不能低于3.2

turtlebot3 安装

创建目录

mkdir -p catkin_turtlebot3/src
cd catkin_turtlebot3/src

克隆最新的 turtlebot3 包

git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git

如果你发现turtlebot3_msgs没有克隆下来,说没有该分支,那就直接安装:

sudo apt install ros-noetic-turtlebot3-msgs

若是github连接不上,用国内的:

git clone https://gitee.com/tianqingxia/turtlebot3_msgs.git
git clone https://gitee.com/tianqingxia/turtlebot3.git
git clone https://gitee.com/tianqingxia/turtlebot3_simulations.git

接着编译:

cd ..
catkin_make

写入bashrc

#echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
echo "export TURTLEBOT3_MODEL=waffle" >> ~/.bashrc
echo "source ~/catkin_turtlebot3/devel/setup.bash" >> ~/.bashrc
export "DISABLE_ROS1_EOL_WARNINGS=1">> ~/.bashrc
source   ~/.bashrc

重新打开一个终端,安装依赖包

sudo apt install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control
sudo apt install ros-noetic-turtlebot-*
sudo apt install ros-noetic-gmapping
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noetic-rgbd-launch ros-noetic-depthimage-to-laserscan ros-noetic-rosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserial-server ros-noetic-rosserial-client ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro ros-noetic-compressed-image-transport ros-noetic-rqt-image-view ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers rviz

安装Cartographer

sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow

初始化工作空间和安装cartographer、cartographer_ros,ceres-solver

mkdir cartographer_ros
cd cartographer_ros
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

如果在第四行报错,是因为是国外的网站,自己创建一个文件即可。
这里第四行的意图是把cartographer_ros.rosinstall中的内容追加到src目录下的.rosinstall文件中,我们来手动操作,解决上面的问题。我们手动的将cartographer_ros.rosinstall中的内容复制到src目录下的.rosinstall文件中,默认此文件会被隐藏,可以勾选显示选项显示此文件,内容如下:

- git: {local-name: cartographer, uri: 'https://github.com/cartographer-project/cartographer.git', version: 'master'}
- git: {local-name: cartographer_ros, uri: 'https://github.com/cartographer-project/cartographer_ros.git', version: 'master'}
- git: {local-name: ceres-solver, uri: 'https://github.com/ceres-solver/ceres-solver.git', version: 'master'}

修改完成.rosinstall完成后,执行第五行

为了防止安装依赖报错
打开cartographer/package.xml将第46行 libabsl-dev 进行注释
安装依赖

sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

安装abseil-cpp 库

src/cartographer/scripts/install_abseil.sh
#由于版本冲突,您可能需要卸载ROS abseil-cpp
sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
说没找到,那就不会造成混乱,那就不管了可以直接编译

编译
catkin_make_isolated --install --use-ninja

测试:
首先下载别人已经录制好的bag包:

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

第二步就是运行cartographer来创建地图:
在终端中使用命令:

source ~/cartographer_ws/install_isolated/setup.bash
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

参考

https://blog.csdn.net/2403_88644417/article/details/147255575
https://blog.csdn.net/qq_44850383/article/details/127106048

http://www.dtcms.com/a/268272.html

相关文章:

  • 数据运营策略 —— B-O价值模型
  • 【机器学习笔记Ⅰ】12 逻辑回归
  • 《Redis》缓存与分布式锁
  • usrp b210 亚克力外壳
  • 【机器学习笔记Ⅰ】11 多项式回归
  • hp开关机
  • CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署
  • vuex 和持久化 vuex-persistedstate
  • macOS虚拟机登录AppleID,全版本,成功率高
  • 深度学习篇---简单果实分类网络
  • 群晖 DS3617xs DSM 6.1.7 解决 PhotoStation 安装失败问题 PHP7.0
  • 企业智脑:智能营销新纪元——自动化品牌建设与智能化营销的技术革命
  • Unreal Engine 5中的AI知识
  • Yocto项目:嵌入式Linux开发的“万能烹饪手册”
  • 力扣 hot100 Day36
  • C++学习之STL学习:list的模拟实现
  • 【CSS-16】深入理解CSS Transform:从基础到高级应用
  • 条件渲染 v-show与v-if
  • 《自然》发布机器人技术路线图
  • 铸造软件交付的“自动驾驶”系统——AI大模型如何引爆DevOps革命
  • 分布式压测
  • Linux驱动学习day18(I2C设备ap3216c驱动编写)
  • Mybatis----留言板
  • python实战项目81:ZeoDB多线程数据爬取程序(最新稳定好用)
  • Node中Unexpected end of form 错误
  • 【大模型入门】访问GPT_API实战案例
  • 从LLM和MCP的协同过程看如何做优化
  • webUI平替应用,安装简单,功能齐全
  • 基于Java+springboot 的车险理赔信息管理系统
  • 基于udev规则固定相机名称