资讯详情

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

等到看到绿色Youcanstartplanningnow!然后关掉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

标签: fci连接器10075025

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台