2020-9-14

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

 


前言

解决最近几天遇到的问题,主要是在gazebo仿真方面的问题。


 

一、gazebo加载出world文件

假如我有一些.world文件,有两种方式显示出来。

1.把world文件复制到主目录下的.gazebo文件夹,用ctrl+h可以显示隐藏文件。然后gazebo *.world就行了。有时一些模型加载不出来,也是因为这个原因。

2.写一个launch文件,用roslaunch启动。

 

二、libdiffdrive_plugin_multi_wheel.so无法在gazebo中加载

这个是因为没把这个库编译进去,可以从别的地方复制过来,放到devel/lib下,或者把源码copy过来,放在src下,编译一下。

 

三、‘OrbFeatureDetector’ was not declared in this scope

这个找到的方法说是添加两个头文件,

#include <opencv2/nonfree/features2d.hpp>   

#include <opencv2/nonfree/nonfree.hpp>

但是加上之后又显示opencv-opencv2/nonfree/nonfree.hpp:没有那个文件或目录,这时候按照方法安装

sudo apt-get update
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev


但是又会报错,

sudo apt-get install libopencv-nonfree-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 libopencv-nonfree-dev : 依赖: libopencv-features2d-dev (= 2.4.9.1+dfsg-1.5ubuntu1xqms2~xenial1) 但是 2.4.9.1+dfsg-1.5ubuntu1.1 正要被安装
                         依赖: libopencv-nonfree2.4v5 (= 2.4.9.1+dfsg-1.5ubuntu1xqms2~xenial1) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决办法:下载依赖检查的功能强大的包管理工具 aptitude

sudo apt-get install aptitude
sudo aptitude install libopencv-nonfree-dev

这个办法是在Ubuntu上对缺少依赖的一种万能解法!

参考:https://www.freesion.com/article/4114661018/

四、ROS中Invalid <param> tag: Cannot load command parameter解决方案

这里一般是这一行写错了,尤其--inorder的空格。

五、launch文件解析

  1. launch文件的重点是:节点(node)元素的集合。
  2. roslaunch 则是让所有的节点共享同一个终端。
  3.  

1.标签(元素)说明

  • 1. group标签

  • 2. node标签

<group ns="turtlesim1">                          //两个节点分组并以’命名空间(namespace)’标签来区分
      <node pkg="turtlesim" name="sim" type="turtlesim_node"/>   //pkg 和 type 它们分别是:程序包名字和可执行文件的名字;ros::init()函数提供的 name 信息将会全面的覆盖命名信息(launch文件中node标签里面的name 属性)
        </group>
<group ns="turtlesim2">
      <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
        </group>
ros::init(argc,argv,"my_node_name");

或者

ros::init(argc,argv,"my_node_name",ros::init_options::AnonymousName);

 output = “screen” :将标准输出信息显示在终端(console)上
respawn=”true” :监测每一个启动完成的节点,当它终止时,我们可以要求 roslaunch 重新启动它.
required=”true” :当一个必需的节点终止时,roslaunch会做出响应,终止其他所有的节点并退出它自己。 (不要同时设置required 属性和 respawn 属性)
launch-prefix = “command-prefix” :依赖终端输入的节点,比如 turtle_teleop_key 节点,它可能要优先的保留在独立的终端上:launch-prefix=”xterm -e”(xterm 命令会开一个新的终端窗口。 -e 参数告诉 xterm :执行其命令行剩余部分(rosrun turtlesim turtle_teleop_key))ns = “namespace” :turtlesim 话题名字(turtle1/cmd_vel、turtle1/color_sensor 和 turtle1/pose )被从全局命名空间移动 到 /sim1 和 /sim2 的单独命名空间里。args:传递参数到节参考点. 个人理解,arg参数只在launch文件中合法(相当于局部变量),不直接传给节点,所以需 要通过node中的args属性进行传递.

rosmap

include

参考:https://www.cnblogs.com/yrm1160029237/p/10108161.html

六、两个关于gazebo的详细教程, 可以对urdf,gazebo获得更好的理解

https://zhuanlan.zhihu.com/p/90489579

https://www.jianshu.com/p/4d8b8327eb9b

七、#if

这是C++种的条件编译bai预处理命令
有两du种格式:
1:#ifdef 标示符
程序段zhi1
#else
程序段2
#endif
表示:如果标示符已经被#define命令定义过,则编dao译程序段1,否则编译程序段2
2:#if 表达式
程序段1
#else
程序段2
#endif
表示:如果表达式为真,则编译程序段1,否则编译程序段2.

 

 


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个 SQL 语句,用于向借阅表中插入数据。该表包含以下字段:借阅编号、读者编号、书籍编号、借阅日期、归还日期、借阅状态。每条数据表示一次借阅记录。其中借阅编号、读者编号、书籍编号、借阅日期和借阅状态是必填项,归还日期为可选项,如果借阅状态为“已还”则必须填写归还日期。 具体插入的数据如下: - 借阅编号:100001,读者编号:123413,书籍编号:0001,借阅日期:2020-11-05,归还日期:NULL,借阅状态:借阅 - 借阅编号:100002,读者编号:223411,书籍编号:0002,借阅日期:2020-9-28,归还日期:2020-10-13,借阅状态:已还 - 借阅编号:100003,读者编号:321123,书籍编号:1001,借阅日期:2020-7-01,归还日期:NULL,借阅状态:过期 - 借阅编号:100004,读者编号:321124,书籍编号:2001,借阅日期:2020-10-09,归还日期:2020-10-14,借阅状态:已还 - 借阅编号:100005,读者编号:321124,书籍编号:0001,借阅日期:2020-10-15,归还日期:NULL,借阅状态:借阅 - 借阅编号:100006,读者编号:223411,书籍编号:2001,借阅日期:2020-10-16,归还日期:NULL,借阅状态:借阅 - 借阅编号:100007,读者编号:411111,书籍编号:1002,借阅日期:2020-9-01,归还日期:2020-9-24,借阅状态:已还 - 借阅编号:100008,读者编号:411111,书籍编号:0001,借阅日期:2020-9-25,归还日期:NULL,借阅状态:借阅 - 借阅编号:100009,读者编号:411111,书籍编号:1001,借阅日期:2020-10-08,归还日期:NULL,借阅状态:借阅

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值