ROS机器人开发第二章中遇到的问题

问题1:No transform from [right_wheel] to [map]

原因是没有开启joint节点,但我查看错误发现,我两个节点(joint,robot)都没有开启。需要安装package,安装指令为:

  • sudo apt-get install ros-noetic-robot-state-publisher
  • sudo apt-get install ros-noetic-joint-state-publisher-gui

问题2:无法保存rviz配置文件

在unbuntu系统中,home主文件夹外的文件访问、修改等操作是需要权限的,而rviz配置文件default.rviz建立在home主文件夹外,因此需要添加权限。

可以用ll命令查看当前路径下的文件权限,信息如下:

我们需要赋予其他人的权限,可以使用如下命令增加权限,注意必须使用sudo

  • sudo chmod o=rwx default.rviz

u,g,o分别代表文件使用者、同组者和其他人。

问题3:无法显示joint_state_publisher_gui—滑块

查看安装包,使用命令rospack list | grep joint,发现joint_state_publisher_gui已经安装了,但同时也安装了joint_state_publisher。猜想会不会系统仍然启动了后者,而不是前者。

使用ROS命令roslaunch ros_robotics ddrobot_rviz.launch model:=dd_robot5.urdf gui:=True启动后,再使用命令rosnode list,发现启动了以下节点:

  • /joint_state_publisher
  • /robot_state_publisher
  • /rosout
  • /rviz

显然,并没有启动/joint_state_publisher_gui

我们需要启动这个节点,因此需要在ddrobot_rviz.launch的修改需要启动的节点。

只要把joint_state_publisher修改为joint_state_publisher_gui即可。修改之后,可以看到滑块已经出现了,说明joint_state_publisher_gui正常启动。此时运行的节点为:

  • /joint_state_publisher_gui
  • /robot_state_publisher
  • /rosout
  • /rviz

问题4:找不到empty_world.launch文件

使用指令roslaunch gazebo_ros empty_world.launch,使用失败,因为我根本没有这个文件。这个文件应该是在gazebo文件夹下的,其路径为/usr/share/gazebo-9/worlds

但不是上面的原因,问题在于"gazebo_ros",我没有安装必要的组件,须执行以下命令:

  • sudo apt install ros-noetic-gazebo-ros-pkgs

安装完后,“gazebo_ros”会出现在/opt/ros/noetic/share

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值