ROS

week33 gazebo仿真时遇到的问题

2020-06-12  本文已影响0人  吃醋不吃辣的雷儿

① No transform from [left_wheel_link] to [base_link] 左轮未显示(被覆盖住 看不到)

<!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />

<!-- 运行robot_state_publisher节点,发布tf  -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />

② cannot launch node of type [joint_state_publisher_gui/joint_state_publisher_gui]

sudo apt-get install ros-kinetic-joint-state-publisher-gui

③ 启动Gazebo黑屏 未出现任何模型 (因为他在下载一些默认模型) 先下载下来,然后放入~/.gazebo/models路径下

cd ~/.gazebo
mkdir models

接下来下载这个链接:http://pan.baidu.com/s/1pKaeg0F 密码:cmxc (来自rosclub.cn)并解压至models文件夹下 启动 秒开

rostopic pub /cmd_vel geometry_msgs/Twist ''linear:......

设置线速度角速度

④ gazebo运行时卡顿严重,帧率大概为1(每秒刷新一次)

关闭虚拟机 在虚拟机--设置--显示器中启用硬件加速(加速3D图形) 分配合适显存(推荐768MB)

⑤ 运行Gazebo,黑屏后闪退

在终端中输入命令:export SVGA_VGPU10=0,重新运行Gazebo

每次打开终端都要重新加载

sudo nano ~/.bashrc
在最后加入
source /home/ares/black_letter/devel/setup.bash
export SVGA_VGPU10=0

重新打开终端,直接roslaunch,运行良好

⑥ 在运行gazebo的过程中,出现了 黑屏 和下面的错误:

[gazebo_gui-3] process has died [pid 14403, exit code 139

最后在gazebosim上找到了解决方案,运行下面的命令即可:

killall gzserver

⑦ 在gazebo中保存好新建的世界以后如何使用,在launch文件中添加:

<arg name="world_name" value="$(find myrobot_description)/worlds/myhome.world"/>
<arg name="world_name" value="$(arg world_name)" />

这个是读取对应的world文件,即加载你需要的仿真场景。(可以用你自己保存下来的场景)

<arg name="headless" default="false"/>

这个是打开任务栏,有用于保存,显示各种模式等的选项

[ERROR] [1589585714.740162594]: SpawnModel: Failure - model name myrobot already exists.

⑧ 在启动gazebo的时候报错,原因是在加载的world中已经有一个机器人模型,名字是相同的,因此要么在原有的world中去掉机器人模型,要么在launch文件中修改model的名字(此种做法会加载出两个机器人)

雷达信息/scan在rviz中未显示,只有激光雷达周围的一小圈亮红

⑨ 是雷达配置文件中<range>的<min>参数设置的太小了,设置为0.05出现此问题,设置为0.1及以上则正常

⑩ 如何在gazebo中加载保存好的world

<launch>

<!-- params setting -->
    <arg name="world_name" value="$(find myrobot_description)/worlds/small_labyrinth.world"/>
    <arg name="paused" default="false"/>
    <arg name="use_sim_time" default="true"/>
    <arg name="gui" default="true"/>
    <arg name="headless" default="false"/>
    <arg name="debug" default="false"/>

<!-- run gazebo -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="world_name" value="$(arg world_name)" />
        <arg name="debug" value="$(arg debug)"/>
        <arg name="gui" value="$(arg gui)"/>
        <arg name="paused" value="$(arg paused)"/>
        <arg name="use_sim_time" value="$(arg use_sim_time)"/>
        <arg name="headless" value="$(arg headless)"/>
    </include>

</launch>

⑪ 如何将cartographer建立好的地图保存

rosservice call /finish_trajectory 0
rosservice call /write_state "{filename: '/home/ares/Downloads/small_labyrinth.pbstream'}"
rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=/home/ares/Downloads/map_labyrinth -pbstream_filename=/home/ares/Downloads/small_labyrinth.pbstream -resolution=0.05
image.png

保存完毕后,可以看到Downloads文件夹下多了yaml pgm和pbstream格式的文件
yaml是一些参数的信息,当前地图的信息储存在phstream格式的文件中,pgm为ros地图信息

⑫ 如何删除软件包

rm  -rf 整个软件包目录

⑬ base_footprint和base_link有什么区别?

base_link为整个机器人的中心,而base_footprint为机器人中心在地面的投影,所以简单来说二者的z坐标不同

⑭ 导航时报错:

 [WARN]Map update loop missed its desired rate of 20.0000Hz... the loop actually to took 0.0965 seconds

这是因为我设定的更新频率超过了cpu的处理能力,可以看到实际频率在10Hz左右,所以我们把更新频率设置5(单位Hz)

⑮ slam gmapping安装

sudo apt-get install ros-kinetic-slam-gmapping

⑯ 运行gazebo后再运行rviz,尝试添加image topic后gazebo崩溃,报错:

[gazebo-2] process has died [pid 5833, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzserver -   ...

尝试为摄像头添加gazebo插件,后发现原来是虚拟机上不能用,去掉image topic后gazebo运行良好

上一篇下一篇

猜你喜欢

热点阅读