ROS学习使用
之前接触了一周的ROS,然后就没有然后了,但是很认真的做了一些笔记(个人感觉哈哈),我觉得很有必要发出来!参考了古月居大神的那本ROS机器人开发实践
,总算是完成了在虚拟环境中使用gampping算法!
常用操作命令
catkin_create_pkg: 创建功能包
catkin_make: 编辑ROS工作空间
roscore: 启动管理器
rosrun: 运行ROS包中的一个可执行文件
开发工具RoboWare Studio使用总结
软件启动:在终端输入roboware-studio
发布端与接受端
程序功能:运行了个两个测试程序实现信息的收发,现在将操作步骤总结一下
1、在RoboWare的终端(ctrl + `调出)输入 catkin_make ,完成编译
2、在RoboWare的终端运行source devel/setup.bash
3、在RoboWare的终端运行roscore
4、启动两个终端界面(ctrl + alt + T),抵达对应路径(与Studio终端路径一致)后,分别按顺序输入以下指令source devel/setup.bash rosrun test SubForBeginner
运行结果如下所示:
输入rosrun rqt_graph rqt_graph
可查看节点关系图(图片与上图程序无关)
创建机器人urdf模型并在rviz中展示(利用roboware studio)
创建机器人描述功能包
右键单击工作空间catkin_ws/src
文件夹,点击新建ROS包
,将功能包命名为mrobot_description
,如下:
手动添加功能包依赖项,打开CMakeLists.txt
文件,如图所示添加urdf、xacro
在功能包中新建四个文件夹,分别为(抄作业的方法:直接复制古月居的对应代码,毕竟敲写这么多文件,可是超级累人的)
urdf
:用于存放机器人模型的urdf或者xacro文件。
meshes
:用于放置urdf中引用的模型渲染文件。
launch
:用于保存相关启动文件。
config
:用于保存rviz的配置文件
创建机器人底盘描述文件mrobot_chassis.urdf
这个机器人底盘模型有7个link和6个joint。7个link包括1个机器人底板、2个电机、2个驱动轮和2个万向轮;6个joint负责将驱动轮、万向轮、电机安装在底板上,并设置相应的连接方式。
在mrobot_description/urdf文件夹下的mrobot_chassis.urdf文件
将文件粘贴到对应位置后,需要对工作空间进行编译:
cd ~/catkin_ws
catkin_make
建立launch命令文件
在mrobot_description/launch文件夹下的display_mrobot_chassis_urdf.launch文件
打开ros,编译一下mrobot_description功能包,然后设置环境变量,运行launch文件,命令如下:
roscore
cd ~/catkin_ws
catkin_make
source ./devel/setup.bash
roslaunch mrobot_description display_mrobot_chassis_urdf.launch
运行成功后,显示如下。这里不仅启动了rviz,还出现了一个叫joint_state_publisher的UI,这是因为我们在启动文件中启动了joint_state_publisher节点,该节点可以发布每个joint(除了fixed)的状态
报错解决:
最近在RoboWare的终端中执行catkin_make
命令时,老是会出现以下错误:
解决方法就是将\#${catkin_INCLUDE_DIRS}
前的注释去掉,在RoboWare重新Release,然后在终端输入catkin_make
在ubuntu下还会出现一个错误,
由于本人使用的是ubuntu16.04,所以在launch文件中需要把"joint_state_publisher"全部用"joint_state_publisher_gui"代替;同时需要先装一个包:sudo apt-get install ros-kinetic-joint-state-publisher-gui.
参考链接:https://blog.csdn.net/qq_34341423/article/details/107159398
成功界面
将机器人模型添加到走廊环境中
报错解决方法
- 使用roboware的release输出程序会提示缺少“gazebo_ros_control”功能包
**解决方法:**在终端输入以下命令,安装对应的包
sudo apt-get install ros-kinetic-gazebo-ros-control
##