demo功能说明:车臂机器人在室内环境建图后,导航+抓取的工作流程:自主导航到A点,触发anygrasp抓取位姿估计后执行抓取操作,导航到B点后执行放置操作。
工作站:连接底盘、机械臂、夹爪、相机等硬件。 服务器:主要跑算法和应用,需要GPU。
注意:工作站和服务器在同一个局域网下,需要设置服务器ip地址与工作站在同一网段:192.168.6.xxx。
ssh [email protected]
密码:a
工作站IP=192.168.6.102,假设服务器IP=192.168.6.103,以工作站为主机举例子:
export ROS_HOSTNAME=192.168.6.102
export ROS_MASTER_URI=http://192.168.6.102:11311/
export HOSTNAME=192.168.6.103
export ROS_MASTER_URI=http://192.168.6.102:11311/
roslaunch dalu robot.launch
roslaunch dalu cartographer_mapping.launch use_sim_time:=false
roslaunch coffe_teleops keyboard_teleop.launch
#rosservice call /write_state "{filename: '<绝对路径存放地图信息>/<地图保存的名字>.pbstream'}"
rosservice call /write_state "{filename: '/home/maiya/maps/demo0425.pbstream'}"
roslaunch dalu location.launch
可视化
rviz -d /home/maiya/demo_2d.rviz
注意:运行导航抓取之前利用键盘控制底盘旋转进行定位初始化。
roslaunch coffe_teleops keyboard_teleop.launch
roslaunch dalu location.launch
roslaunch dalu GripperControl.launch
roslaunch visual_servo tNavArmGripperControl.launch
roslaunch visual_servo uHandEyeCalibrate.launch
标定结果保存在cali_result.json文件中。
catkin_make -DCATKIN_WHITELIST_PACKAGES="visual_servo"
cd ~/anaconda3/bin/ && source activate && conda activate anygrasp && cd /home/maiya/anygrasp_ws/src/anygrasp_sdk/grasp_live && demo_camera.sh
rosrun robotiq_2f_gripper_control Robotiq2FGripperRtuNode.py /dev/ttyUSB1
# roslaunch robotiq_2f_gripper_action_server robotiq_2f_gripper_action_server.launch
动作客户端调用测试:
rosrun robotiq_2f_gripper_action_server robotiq_2f_gripper_action_server_client_test
roslaunch visual_servo tArmControlServer.launch
服务调用测试:
roslaunch visual_servo tArmControlClient.launch
roslaunch visual_servo tNavArmGripperControl.launch
roslaunch visual_servo GripperControl.launch
启动AnyGrasp,即可对输出的pose执行动作
roslaunch visual_servo uGraspControl.launch
Meanwhile, you need change codes at
catkin_ws/src/visual_servo/utils/uGraspControl.cpp
and
/catkin_ws/src/visual_servo/include/visual_servo/UR3RtdeWrapper.h
master is robot:
robot:
roslaunch dalu localization.launch
roslaunch coffe_teleops keyboard_teleop.launch
roslaunch visual_servo GripperControl.launch
roslaunch visual_servo uGraspControl.launch
获得当前机器人所在位置:
rosrun tf tf_echo /map /base_link_calibration
server:
./demo_test.sh
robot:
________monitor rostopic via [rostopic echo /detect_grasps/pose_grasps]
rostopic pub /grasp_trigger std_msgs/UInt8 "data: 1"