ROS机器人开发第二章中遇到的问题
问题1:No transform from [right_wheel] to [map]
原因是没有开启joint节点,但我查看错误发现,我两个节点(joint,robot)都没有开启。需要安装package,安装指令为:
sudo apt-get install ros-noetic-robot-state-publishersudo 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。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)