ROS-foxy & SLAM

鱼香ROS :实物建图与导航可以借鉴               Nav2                  cartographer:--SLAM开源库--

一、终端热键使用总结

1、编译

colcon build    注意整体编译需要在工作空间文件下进行编译

colcon build --packages-select fishbot_cartographer     针对工具包fishbot_cartographer单独编译

2、工具使用

rqt_graph        显示rqt当前所运行的节点

3、新建文件命令

touch fishbot_2d.lua   新建.lua文件,其中 fishbot_2d为文件名

touch launch/boom.py    新建launch文件,其中 boom.py为文件名

4、话题

ros2 topic list -t                       显示昂前话题与内容

ros2 topic echo /topic_name      打印当前话题       

ros2 topic info /joint_states       查看某话题的类型 

ros2 interfaces show sensor_msgs/msg/JointState       根据上面获得的类型type( sensor_msgs/msg/JointState)查看更详细的信息

5、记录

ros2 bag record topic-name1  -a    记录某个节点的数据或者全部节点的数据,可用来复盘

ros2 bag play xxx.db3                前提是在录制文件文件夹内,才能播放录制节点

6、vi界面命令行

  • h - 向左移动光标                j - 向下移动光标                k - 向上移动光标

  • l - 向右移动光标                 i - 切换到插入模式             x - 删除光标下的字符

  • dd - 删除当前行                 w - 保存文件                      q - 退出 vi
  • :q! − 退出 vi 而不保存更改

二、运动学内容

1、URDF仿真惯性参数配置

三、问题解决总结

1、在gazebo中加入差分驱动插件后rostopic没有cmd_vel与odom话题

ls /opt/ros/foxy/lib/libgazebo_ros*

使用以上命令查看所有的动态链接库,发现没有urdf话题定义中所需的插件,重新安装插件解决问题,安装程序如下:

sudo apt install ros-foxy-gazebo-*   //所用版本为foxy

2、安装Nav2依赖出现以下问题:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
nav2_bringup: Cannot locate rosdep definition for [slam_toolbox]
nav2_bt_navigator: Cannot locate rosdep definition for [behaviortree_cpp_v3]
nav2_behavior_tree: Cannot locate rosdep definition for [behaviortree_cpp_v3]
cartographer_ros: Cannot locate rosdep definition for [urdfdom_headers]
smac_planner: Cannot locate rosdep definition for [ompl]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully

可以理解为缺少依赖,使用安装指令对依赖进行安装即可:

sudo apt-get install ros-你的ROS版本-你缺少的东西

 我用的是foxy,缺少的依赖分别有:slam_toolbox  behaviortree_cpp_v3  urdfdom_headers  ompl,分别填入其中即可。注意依赖中的下划线需要改成“-”

3、10.9使用FishBot进行自主导航篇-----配置好xml与txt文件后编译失败

失败原因为修改的xml文件中那句话有问题:

catkin_pkg.package.InvalidPackage: Error(s) in package '/home/dh/fishbot_ws/src/fishbot_navigation2/package.xml':
Error(s):
- The generic dependency on 'nav2_bringup' is redundant with: exec_depend

后来再次检查xml文件中的内容,发现有些不对劲:

  局部程序,发现有两个地方存在nav2_bringup
  <depend>nav2_bringup</depend>
  <test_depend>ament_lint_auto</test_depend>
  <test_depend>ament_lint_common</test_depend>
  <exec_depend>nav2_bringup</exec_depend>

将里面的<depend>行注释掉,保留<exec_depend>部分编译成功 

4、继上一个问题解决后,导航时出现gazebo与rviz2地图偏移导致导航异常的问题?

        需要进行姿态初始化(选中机器人在Gazebo位置差不多的点,左键点击不要松开,移动鼠标给定方向)。如果不在Gazebo位置差不多的点进行初始化,就会造成该问题。但是导航次数多了会在狭窄的空间堵住,且点云2D图会有很多噪点。

5、继前一段时间雷达无法在虚拟机采集数据,又重新选择配置工控机,出现以下问题:

        a)在安装gcc-multilib g++-multilib时总是失败,百度原因是需要换源。还原之后出现新的Failed to fetch的问题,此处原因有两个。

        第一个是在命令中使用了: sudo dpkg --add-architecture i386

然后导致所有源出现Failed to fetch的问题,发现问题后用:sudo dpkg --remove-architecture i386解决问题。

        第二个是工控机CPU 架构是arm64,一般下载的源需要做修改,如下:

deb  https://mirrors.aliyun.com/ubuntu focal-proposed main restricted universe multiverse//修改之前


deb  https://mirrors.aliyun.com/ubuntu-ports focal-proposed main restricted universe multiverse//修改之后,多了一个-ports

       

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值