Baxter学习笔记

ROS入门教程
在这里插入图片描述在这里插入图片描述

ik

IK(反向运动)通过使用计算父物体的位移和运动方向,从而将所得信息继承给其子物体的一种物理运动方式。也就是通过定位骨骼链中较低的骨骼,使较高的骨骼旋转,从而设置关节的姿势,他是根据末端子关节的位置移动来计算得出每个父关节的旋转,通常用于将骨骼链的末端“固定”在某个相对该骨骼链移动的对象上。
FK(正向运动)是一种通过“目标驱动”来实现的运动方式,FK是带有层级关系的运动,是根据父关节的旋转来计算得出每个子关节的位置。FK有种牵一发而动全身的那个味道。

Baxter仿真启动

1)、打开终端,运行环境配置脚本:

source /opt/ros/kinetic/setup.bash
cd ~/ros_ws
./baxter.sh sim

2)、通过launch 文件,启动 gazebo 并载入机器人仿真模型:

roslaunch baxter_gazebo baxter_world.launch

指令成功运行后会出现如下画面,可以看到 baxter 已载入 gazebo 的3D 视图区,在左侧 world 标签 models 分支下可以查看到baxter。
(3)运行Baxter机器人仿真指令:
打开新终端,运行Baxter仿真指令(每一次运行仿真都要执行这一步):

source /opt/ros/kinetic/setup.bash
cd ~/ros_ws
./baxter.sh sim

(4)仿真环境下执行控制例程:
1)、执行Baxter机器人键盘控制指令:
1、rosrun baxter_examples joint_position_keyboard.py
2)、执行Baxter机器人头部转动指令:
1、rosrun baxter_examples head_wobbler.py

Baxter 运动规划

1、启动 Gazebo 仿真平台

cd ~/ros_ws/
./baxter.sh sim
roslaunch baxter_gazebo baxter_world.launch
[ERROR] [1637406720.668124126, 0.368000000]: GazeboRosControlPlugin missing <legacyModeNS> while using DefaultRobotHWSim, defaults to true.
This setting assumes you have an old package with an old implementation of DefaultRobotHWSim, where the robotNamespace is disregarded and absolute paths are used instead.
If you do not want to fix this issue in an old package just set <legacyModeNS> to true.

2、执行仿真 Bater 机器人达到指定姿态指令
打开新终端输入如下指令,如图所示:

cd ros_ws
./baxter.sh sim
rosrun baxter_tools tuck_arms.py -u

3、执行 Baxter 机器人关节轨迹服务器指令
打开新终端输入如下指令:

cd ros_ws
./baxter.sh sim
rosrun baxter_interface joint_trajectory_action_server.py

4、执行 Baxter 机器人 Moveit 指令
注意:观察 Gazebo 3D 显示区的 Baxter 机器人末端是否有夹具
1、有夹具,打开新终端输入带夹具夹具启动指令,如图所示:

cd ros_ws
./baxter.sh sim
roslaunch baxter_moveit_config baxter_grippers.launch

2、无夹具,打开新终端输入带不夹具夹具启动指令,如图所示:

cd ros_ws
./baxter.sh sim
roslaunch baxter_moveit_config demo_baxter.launch

3、如果只插入一个夹持器,则始终可以禁用缺失夹持器碰撞形状,方
法是使用 arg\u electric_clipper:=false 启动,如图所示:

cd ros_ws
./baxter.sh sim
roslaunch baxter_moveit_config baxter_grippers.launch right_electric_gripper:=false
ERROR: cannot launch node of type [warehouse_ros_mongo/mongo_wrapper_ros.py]: warehouse_ros_mongo
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/cothink/ros_ws/src
ROS path [2]=/opt/ros/kinetic/share

4、指令运行结束后会出现下图所示窗口:
rviz
1)、标签1“Select Start State”用于选定机器人的开始状态
2)、标签2“Select goal State”用于选定机器人目标状态
3)、设定机器人目标状态后,使用按钮3“Plan”启动机器人运动规划
4)、运动规划成功后,点击4“Execute”按键,开始运动
rqt-graph
database

连接Baxter

cd ~/ros_ws
source /opt/ros/kinetic/setup.bash
catkin_make
./baxter.sh
cd ~/ros_ws
source /opt/ros/kinetic/setup.bash
./baxter.sh

env
测试:

ping 011605P0010.local
ssh ruser@011605P0010.local

password: rethink

ping 192.168.1.102
ping cothink-thinkpad-t888.local
exit
cothink@cothink-thinkpad-t888:~$ cd ~/ros_ws/

cothink@cothink-thinkpad-t888:~/ros_ws$ ./baxter.sh

[baxter - http://011605P0010.local:11311] cothink@cothink-thinkpad-t888:~/ros_ws
$ ping 011605P0010.local	# Baxter

[baxter - http://011605P0010.local:11311] cothink@cothink-thinkpad-t888:~/ros_ws
$ ssh ruser@011605P0010.local	# password: rethink

ruser@011605p0010 ~ $ ping 192.168.1.102	# 本机IP

ruser@011605p0010 ~ $ ping cothink-thinkpad-t888.local	# 电脑名

ruser@011605p0010 ~ $ exit
logout

Connection to 011605p0010.local closed.

使能 Baxter

rosrun baxter_tools enable_robot.py -e

运行一个示例程序

rosrun baxter_examples joint_velocity_wobbler.py
rosrun baxter_tools tuck_arms.py -u

rivz保存状态时,无法连接database

Baxter控制

Controlling joints. Press ? for help, Esc to quit.
key bindings: 
  Esc: Quit
  ?: Help
  /: left: gripper calibrate
  ,: left: gripper close
  m: left: gripper open
  y: left_e0 decrease	# 大臂旋转
  o: left_e0 increase
  u: left_e1 decrease	# 中关节
  i: left_e1 increase
  6: left_s0 decrease	# 大关节左右
  9: left_s0 increase
  7: left_s1 decrease	# 大关节上下
  8: left_s1 increase
  h: left_w0 decrease	# 中臂旋转
  l: left_w0 increase
  j: left_w1 decrease	# 小关节
  k: left_w1 increase
  n: left_w2 decrease	# 手手
  .: left_w2 increase
  b: right: gripper calibrate
  c: right: gripper close
  x: right: gripper open
  q: right_e0 decrease
  r: right_e0 increase
  w: right_e1 decrease
  e: right_e1 increase
  1: right_s0 decrease
  4: right_s0 increase
  2: right_s1 decrease
  3: right_s1 increase
  a: right_w0 decrease
  f: right_w0 increase
  s: right_w1 decrease
  d: right_w1 increase
  z: right_w2 decrease
  v: right_w2 increase

examples
录制
录制 播放关节位置

rosrun baxter_examples joint_recorder.py -f <example_file>

播放关节轨迹
抓球
Baxter爪子抓紧的力默认30N。

rosrun baxter_examples joint_position_file_playback.py -f <example_file>

rostopic echo + 臂位置:
1
2

Baxter API

API
镜像
在这里插入图片描述

显示图片

rosrun baxter_examples xdisplay_image.py --file=`rospack find baxter_examples`/share/images/baxter.png
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值