Franka Emika机器人软件包franka_ros2

franka_ros2不支持Windows

先决条件

ross 2 foxy 安装(ROS - Foxy -desktop)

PREEMPT_RT内核(可选,但强烈推荐)。

系统范围的libfranka安装。下面是一个简单的例子:

sudo apt install -y libpoco-dev libeigen3-dev
git clone https://github.com/frankaemika/libfranka.git --recursive
cd libfranka
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF  ..
cmake --build . -j$(nproc)
cpack -G DEB
sudo dpkg -i libfranka-*.deb

可选的. bashrc设置

要获得彩色警告和错误消息,可以将export RCUTILS_COLORIZED_OUTPUT=1放入.bashrc中。

如果你的系统语言没有设置为美式英语,你应该输入export LC_NUMERIC=en_US。UTF-8到你的。bashrc,以避免问题在RViz。

设置 安装要求

ros-foxy-control-msgs \
ros-foxy-xacro \
ros-foxy-angles \
ros-foxy-ros2-control \
ros-foxy-realtime-tools \
ros-foxy-control-toolbox \
ros-foxy-moveit \
ros-foxy-ros2-controllers \
ros-foxy-joint-state-publisher \
ros-foxy-joint-state-publisher-gui \
ros-foxy-ament-cmake-clang-format \
python3-colcon-common-extensions

创建一个 ROS 2 工作空间

mkdir -p ~/franka_ros2_ws/src

克隆repo并构建包:

source /opt/ros/foxy/setup.bash
cd ~/franka_ros2_ws
git clone https://github.com/frankaemika/franka_ros2.git src/franka_ros2
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.sh

MoveIt

看看是否一切正常,你可以试着在机器人上运行MoveIt示例:

ros2 launch franka_moveit_config moveit.launch.py robot_ip:=<fci-ip>

然后激活RViz中的MotionPlanning显示。

如果你没有机器人,你仍然可以通过运行一个虚拟硬件来测试你的设置:

ros2 launch franka_moveit_config moveit.launch.py robot_ip:=dont-care use_fake_hardware:=true

等待直到看到绿色的You can start planning now!然后关掉PlanningScene,然后关掉,再打开,MotionPlanning

例子控制器

这个repo附带了一些位于franka_example_controllers包

默认情况下,以下启动文件将与抓手一起执行。如果没有附加抓手,可以在启动文件中禁用抓手load_gripper:=false

Move-to-start

这个控制器将机器人移动到它的home配置。

ros2 launch franka_bringup move_to_start_example_controller.launch.py robot_ip:=<fci-ip>

Gravity Compensation

这是我们拥有的最简单的控制器,也是编写自己的控制器的一个很好的起点。它向所有关节发送力矩为零的指令,这意味着机器人只补偿自己的重量。

ros2 launch franka_bringup gravity_compensation_example_controller.launch.py robot_ip:=<fci-ip>

Joint Impedance Example

该示例以非常顺从的周期运动移动关节4和5。你可以试着在它跑步时移动它的关节。

ros2 launch franka_bringup joint_impedance_example_controller.launch.py robot_ip:=<fci-ip>

Package Descriptions

这个包包含示例和基本的启动文件franka.launch.py启动文件,可以用来启动机器人没有任何控制器。

当你如下启动机器人

ros2 launch franka_bringup franka.launch.py robot_ip:=<fci-ip> use_rviz:=true

没有控制器从这里分开 joint_state_broadcaster然而,与机器人的连接仍然是建立的,当前机器人的姿态在RViz中是可视化的。在这种模式下,当用户按下停止按钮时,机器人可以被引导。如果控制器用了这个命令 effort_command_interface,机器人将使用libfranka的扭矩接口。例如,可以启动gravity_compensation_example_controller跑下面的程序

ros2 control load_controller --set-state start  gravity_compensation_example_controller

这相当于运行gravity_compensation_example_controller.launch.py

当控制器停止运行

ros2 control set_controller_state gravity_compensation_example_controller stop

机器人将停止转矩控制,只将其当前状态发送到FCI。

你现在可以选择启动相同的控制器:

ros2 control set_controller_state gravity_compensation_example_controller start

或者加载并启动一个不同的程序:

ros2 control load_controller --set-state start joint_impedance_example_controller
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值