Skip to content

Latest commit

 

History

History
165 lines (116 loc) · 6.21 KB

工程控制实车测试.md

File metadata and controls

165 lines (116 loc) · 6.21 KB

工程控制实车测试

目标:在目前的代码基础上通过大量测试和动作组修改使工程的表现效果达到可以上场的状态

前期准备:

  • 可以正常连接工程
    • 改好bashrc
    • 安装好ssh
  • 可以正常传输本地文件到工程上
    • clion配置deploment

测试流程:

测试前准备

  • 给场地用的WI-FI上电(黑色的六根杆子的wifi)WI-FI名字为 This_WIFI
  • 工程连接This_WIFI
    • 长按主控左上角的圆形按钮进入设置页面
      • 选择WIFI设置
        • 扫描
          • 确定This_WIFI就会自动连接了
  • 让电脑连接This_WIFI(一台黑色的惠普,密码0113)
  • 在电脑上打开客户端和服务器(快捷方式已经放在桌面上)
  • 把图传连接到电脑上,(在客户端可以看到图传画面)
  • 客户端登陆工程(按P进入设置界面,然后选择工程登陆)(坐下角机器人灯亮绿色)
  • 遥控器连接电脑右上拨杆拨到最上

测试流程

  • 等工程连上后关闭车上的自启服务

应为他会自己开一个master,我们调试中需要频繁关闭程序和master来使得修改的参数被重新传到参数服务器中间

stop_start
stop_master
  • 开终端连接车,运行程序

bringup中已经把所需要的东西都开了

roscore
bringup
  • 校准机械臂

目前遥控器在和右上拨杆在中间时,左上的拨杆拨到最上是校准,或者使用键鼠ctrl_R
  • 利用键鼠测试动作组

以下是键鼠键位表

动作键位分配

总共14个字母键,两个功能键,两个鼠标键,遥控器两个拨杆两个摇杆一个滚轮

+

字母 功能 字母 功能 字母 功能 字母 功能 字母 功能
Q 左转 W E 右转 R
A S D F G
Z server z(按下作用松开停) X C serverz(按下作用松开停) V B

+ctrl

字母 功能 字母 功能 字母 功能 字母 功能 字母 功能
Q 左_小资源岛取矿 W E 右_小资源岛取矿 R 校准
A 小资源岛取矿 S 大资源岛取矿(中间) D F 兑换预备姿势(方便伺服) G 存矿(不需要考虑自身矿石数量)
Z X C 取消下一个动作( V 吸盘(按下切换状态) B 机械臂做完动作HOME状态(不需要考虑自身矿石数量)

+shift(静步/取消/云台)

字母 功能 字母 功能 字母 功能 字母 功能 字母 功能
Q 慢左转 W 慢前 E 慢右转 R
A 慢左 S 慢后 D 慢右 F G 取矿(不需要考虑自身矿石数量)
Z X C 进入退出伺服模式 V 云台随鼠标动 B
  • 测试动作组

调动作关节值

(在自己电脑上使用,不要登陆工程,因为工程上没有装可视化工具

获取现在关节值
rosrun moveit_commander moveit_commander_cmdline.py

运行后,输入use enginner,等待进入输入current即可获得当前六个joint的位置值

移动机械臂
mon launch engineer_arm_confi rviz.launch
  • 在左下窗口内点击joints然后根据需求拖动关节到指定位置
  • 或者在右边直接拖动末端也可以,看自己喜欢
给机械臂发动作组
rosrun actionlib_tools axclient.py /engineer_middleware/move_steps

对应rm_ws/src/rm_engineer/engineer_middleware/config下的steps_list.yaml里面的名字

达到指定位置后用上面的current获得当前位置
然后去rm_ws/src/rm_engineer/engineer_middleware/config下的steps_list.yaml中修改指定动作

eg.这是一个在矿仓内没有矿石的时候的存矿动作

  STORE_WHEN_ZERO_STONE0:
    - step: "open gripper"
      gripper:
        <<: *OPEN_GRIPPER
    - step: "move joint1 and 3"
      arm:
        joints: [ 0.178, 0.013, -0.249, -1.487, 1.581, 0.007 ]
        common:
          <<: *NORMALLY
        tolerance:
          <<: *BIGGER_TOLERANCE

  STORE_WHEN_ZERO_STONE00:
    - step: "move joint6"
      arm:
        joints: [ 0.178, -0.03, -0.2492, -1.487, 1.581, 1.601 ]
        common:
          <<: *NORMALLY
        tolerance:
          <<: *BIGGER_TOLERANCE
    - step: "close gripper"
      gripper:
        <<: *CLOSE_GRIPPER
  • STORE_WHEN_ZERO_STONE0 为这一个动作组的名字
  • step: "open gripper" 为这个动作组中一步的文字描述(一个动作组中可以有多步)动作
  • gripper 意思是针对吸盘的动作
  • arm 意思是针对机械臂的动作
    • joints: [ 0.178, 0.013, -0.249, -1.487, 1.581, 0.007 ] 指定机械臂的每一个joints值,最常修改的地方
    • common: <<: *NORMALLY 指定最大速度加速度的地方(一般不要改)
    • tolerance: <<: *BIGGER_TOLERANCE 指定判断是否完成的容忍值(因为最后动作可能会因为外力达不到指定的地方,这个是判断他完成的范围)(一般不要改}
修改后传到工程上,然后重启程序重新测试