ROS进阶——在ROS平台的搭建自己的机器人

环境

linux平台:Ubuntu16.04+ROS Kinetic(ROS版本建议采用LTS版本)

windows平台:Windows 10+Solidworks2017


一、将SOLIDWORKS中的3D模型转换为URDF导入RVIZ中

1.1、安装SolidWorks转URDF插件

    插件链接:http://wiki.ros.org/sw_urdf_exporter

    经测试可在Windows 10+Solidworks2017环境中使用,安装详情参考插件下载页面。


1.2、将3D模型转为URDF

    根据需求在3D模型上添加关节,建议将末端单独分出来 ,完成关节添加后,输出配置。

    注意:需设置Limit的最大和最小值,此为关节运动限制,若后期发现关节限制设置错误,可以在生成URDF文件中进一步修改。


     此项可以采用默认,根据需要可以修改Color参数,使各关节显示不同颜色。


注意SolidWorks所有的零件都应该是浮动,并且根据机械手与地面接触及末端点实际状况进行设置,通常设置角度限制不能过大,需去掉配合,保证各关节能动,生成的坐标系与选中构件的坐标重合。

1.3、修改package文件内容

(1) 修改package.xml文件

修改email部分为正确邮件格式

  <maintainer email="[email protected]" />

(2) 修改display.launch文件

将urdf文件夹的名字修改与robot_description一致

将display.launch里的gui参数改成“True”

<launch>
  <arg
    name="model" />
  <arg
    name="gui"
    default="True" />
  <param
    name="robot_description"
    textfile="$(find robothand)/robots/robothand.urdf" />
  <param
    name="use_gui"
    value="$(arg gui)" />
  <node
    name="joint_state_publisher"
    pkg="joint_state_publisher"
    type="joint_state_publisher" />
  <node
    name="robot_state_publisher"
    pkg="robot_state_publisher"
    type="state_publisher" />
  <node
    name="rviz"
    pkg="rviz"
    type="rviz"
    args="-d $(find robothand)/urdf.rviz" />
</launch>


1.4、测试

    将配置好的的URDF文件夹移动到工作空间的src目录下,打开终端,通过roslaunch 命令运行display.launch,若提示错误可通过source解决。


二、使用Moveit提供的setup_assistant配置三轴机械臂

 2.1、安装Moveit

	sudo apt-get install ros-Kinetic-moveit
	source /opt/ros/Kinetic/setup.bash
注意Kinetic需换成当前ROS版本号


2.2、配置向导

具体流程可参考(官方流程)

http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html

将配置好的的URDF文件夹移动到工作空间的src目录下,打开终端,运行下面命令,若提示错误可通过source解决

roslaunch moveit_setup_assistant setup_assistant.launch

导入URDF,并按照教程设置

(1)Virtual Joints 机器人与世界接触的关节:将机器人与世界连接,根据机器人类型(固定,移动或其他)选择连接方式。
(2)Planning Group 规划组:
              机械臂规划组:chain包括base到末端
              末端规划组:Joint:末端;Links:末端Links;若无动作无需解算器。
(3)Robot Poses 设置位置:自定义的机器人基本位置,一般设置初始位置即可。
(4)End Effectors 末端执行器:选取末端执行器组,若需将末端点于末端坐标重合,Parent Link需选末端地Link。
(5)Passive Joint 被动关节:不带驱动器,在主动关节带动下移动,为可选项。

(6)Generate Configuration Files:生成功能包,放置到对应工作空间内。


2.3、测试

    将配置好的的config文件夹放置到工作空间的src目录下,打开终端,通过roslaunch 命令运行display.launch,若提示错误可通过source解决。


参考

http://rosclub.cn/post-607.html

https://blog.csdn.net/gpeng832/article/details/73917487

http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html

猜你喜欢

转载自blog.csdn.net/kalenee/article/details/76900700