7 个版本
0.1.0 | 2023 年 3 月 31 日 |
---|---|
0.0.7 | 2022 年 12 月 9 日 |
0.0.6 | 2021 年 7 月 1 日 |
0.0.5 | 2021 年 3 月 29 日 |
0.0.3 | 2021 年 2 月 19 日 |
#167 in 机器人
每月 36 次下载
在 openrr 中使用
590KB
13K SLoC
OpenRR 应用程序
准备
安装 urdf-viz
cargo install urdf-viz
安装
cargo install openrr-apps
如果您是 Windows 用户,ROS 不受支持。所以请删除它。
cargo install openrr-apps --no-default-features --features gui,assimp
选项:对于 UR10 示例
选项:对于 PR2 示例
安装 ros-melodic-pr2-gazebo / ros-melodic-topic-tools.
选项:为 openrr_apps_robot_command 安装 bash 完成脚本
如果您使用 bash
,
openrr_apps_robot_command shell_completion bash > ~/.openrr_command
source ~/.openrr_command
如何运行 openrr_apps_robot_command
示例机器人
- 启动 urdf-viz。
urdf-viz ./openrr-planner/sample.urdf &
- 运行示例命令。
openrr_apps_robot_command \
--config-path=./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml \
load_commands ./openrr-apps/command/sample_cmd_urdf_viz.txt
环境变量
如果您设置 export OPENRR_APPS_ROBOT_CONFIG_PATH=some_path_to_config.toml
,则可以跳过 --config-path
。如果您明确给出 --config-path
,则忽略环境变量。
- 使用环境变量运行示例命令
export OPENRR_APPS_ROBOT_CONFIG_PATH=$(pwd)/openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml
openrr_apps_robot_command load_commands ./openrr-apps/command/sample_cmd_urdf_viz.txt
尝试其他设置之前,请勿忘记取消设置 OPENRR_APPS_ROBOT_CONFIG_PATH
UR10 (urdf-viz)
- 启动 urdf-viz。
urdf-viz $(rospack find ur_description)/urdf/ur10_robot.urdf.xacro
- 运行示例命令。
根据您的环境修改 设置文件 中的 urdf 路径。
openrr_apps_robot_command \
--config-path=./openrr-apps/config/ur10_robot_client_config_for_urdf_viz.toml \
load_commands ./openrr-apps/command/ur10_cmd_urdf_viz.txt
UR10 (ROS gazebo)
- 启动 gazebo。
roslaunch ur_gazebo ur10.launch
- 运行示例命令。
根据您的环境修改 设置文件 中的 urdf 路径。
openrr_apps_robot_command \
--config-path=./openrr-apps/config/ur10_robot_client_config_for_ros.toml \
load_commands ./openrr-apps/command/ur10_cmd_ros.txt
PR2 (urdf-viz)
- 启动 urdf-viz。
urdf-viz $(rospack find pr2_description)/robots/pr2.urdf.xacro
- 运行示例命令。
根据您的环境修改 设置文件 中的 urdf 路径。
openrr_apps_robot_command \
--config-path=./openrr-apps/config/pr2_robot_client_config_for_urdf_viz.toml \
load_commands ./openrr-apps/command/pr2_cmd_urdf_viz.txt
PR2 (ROS gazebo)
- 启动 gazebo。
cd openrr-apps/launch/
roslaunch ./pr2.launch wait_time_secs:=10
- 运行示例命令。
根据您的环境修改 设置文件 中的 urdf 路径。
openrr_apps_robot_command \
--config-path=./openrr-apps/config/pr2_robot_client_config_for_ros.toml \
load_commands ./openrr-apps/command/pr2_cmd_ros.txt
如何运行 openrr_apps_robot_teleop
示例机器人
- 启动 urdf-viz。
urdf-viz ./openrr-planner/sample.urdf &
- .
请在设置文件中更改您的设备下的手柄设置。默认值为'Sony DualShock 4'。
gil_gamepad_config.device_id = 0
gil_gamepad_config.map.button_map = ...
gil_gamepad_config.map.axis_map = ...
gil_gamepad_config.map.axis_value_map = ...
- 运行teleop。
openrr_apps_robot_teleop --config-path=./openrr-apps/config/sample_teleop_config_urdf_viz.toml
如果您使用游戏手柄,请参考openrr-teleop的README。
UR10 (urdf-viz)
- 启动 urdf-viz。
urdf-viz $(rospack find ur_description)/urdf/ur10_robot.urdf.xacro
- 运行teleop。
在设置文件中更改urdf路径和手柄设置(见此处),以适应您的环境。
openrr_apps_robot_teleop --config-path=./openrr-apps/config/ur10_teleop_config_urdf_viz.toml
UR10 (ROS gazebo)
- 启动 gazebo。
roslaunch ur_gazebo ur10.launch
- 运行teleop。
在设置文件中更改urdf路径和手柄设置(见此处),以适应您的环境。
openrr_apps_robot_teleop --config-path=./openrr-apps/config/ur10_teleop_config_ros.toml
PR2 (urdf-viz)
- 启动 urdf-viz。
urdf-viz $(rospack find pr2_description)/robots/pr2.urdf.xacro
- 运行teleop。
在设置文件中更改urdf路径和手柄设置(见此处),以适应您的环境。
openrr_apps_robot_teleop --config-path=./openrr-apps/config/pr2_teleop_config_urdf_viz.toml
PR2 (ROS gazebo)
- 启动 gazebo。
cd openrr-apps/launch/
roslaunch ./pr2.launch wait_time_secs:=10
- 运行teleop。
在设置文件中更改urdf路径和手柄设置(见此处),以适应您的环境。
openrr_apps_robot_teleop --config-path=./openrr-apps/config/pr2_teleop_config_ros.toml
iRobot Create
- 重新构建以支持ROS2。
cargo build --release --feature ros2
- 运行teleop。
openrr_apps_robot_teleop \
--config-path ./openrr-apps/config/irobot_create_teleop_config_ros2.toml
PrintSpeaker: base
PrintSpeaker: command dock command
PrintSpeaker: command undock command
当执行dock命令
时,iRobot Create
停靠到站台上;当执行undock命令
时,机器人会脱离。这些基于ROS2动作,并遵循官方描述。
如何运行openrr_apps_joint_position_sender
示例机器人
- 启动 urdf-viz。
urdf-viz ./openrr-planner/sample.urdf &
- 启动openrr_apps_joint_position_sender。
openrr_apps_joint_position_sender \
--config-path ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml
故障排除
有关GUI的故障排除,请参阅openrr-gui crate。
如何运行openrr_apps_velocity_sender
示例机器人
- 启动 urdf-viz。
urdf-viz ./openrr-planner/sample.urdf &
- 启动openrr_apps_velocity_sender。
openrr_apps_velocity_sender \
--config-path ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml
iRobot Create
- 重新构建以支持ROS2。
cargo build --release --feature ros2
- 启动openrr_apps_velocity_sender。
openrr_apps_velocity_sender \
--config-path ./openrr-apps/config/irobot_create_robot_client_config_ros2.toml
环境变量
如果您设置 export OPENRR_APPS_ROBOT_CONFIG_PATH=some_path_to_config.toml
,则可以跳过 --config-path
。如果您明确给出 --config-path
,则忽略环境变量。
- 使用环境变量运行示例urdf
export OPENRR_APPS_ROBOT_CONFIG_PATH=$(pwd)/openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml
openrr_apps_joint_position_sender
尝试其他设置之前,请勿忘记取消设置 OPENRR_APPS_ROBOT_CONFIG_PATH
启动时覆盖配置
通过使用--config
标志,您可以在启动时覆盖配置。
例如,要替换urdf路径
openrr_apps_robot_command \
--config-path=./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml \
--config='openrr_clients_config.urdf_path="path/to/urdf"' \
load_commands ./openrr-apps/command/sample_cmd_urdf_viz.txt
在openrr_apps_robot_teleop
中,有两个标志:--robot-config
用于覆盖机器人配置和--teleop-config
用于覆盖teleop配置。
例如,要使用arci-gamepad-keyboard
运行openrr_apps_robot_teleop
openrr_apps_robot_teleop \
--config-path=./openrr-apps/config/sample_teleop_config_urdf_viz.toml \
--teleop-config='gamepad="Keyboard"'
禁用joint_position_limiter
openrr_apps_robot_teleop \
--config-path=./openrr-apps/config/sample_teleop_config_urdf_viz.toml \
--robot-config='urdf_viz_clients_configs[0].wrap_with_joint_position_limiter=false'
要覆盖多个配置,请用分号或换行符分隔脚本。例如
# semicolon-separated
openrr_apps_robot_teleop \
--config-path=./openrr-apps/config/sample_teleop_config_urdf_viz.toml \
--robot-config='urdf_viz_clients_configs[0].wrap_with_joint_position_limiter=false;openrr_clients_config.urdf_path="path/to/urdf"'
# newline-separated
{
echo 'urdf_viz_clients_configs[0].wrap_with_joint_position_limiter=false'
echo 'openrr_clients_config.urdf_path="path/to/urdf"'
} > overwrite.txt
openrr_apps_robot_teleop \
--config-path=./openrr-apps/config/sample_teleop_config_urdf_viz.toml \
--robot-config="$(cat ./overwrite.txt)"
配置文件的架构
schema
目录包含openrr使用的配置文件的JSON架构,当与支持使用JSON架构的扩展名的编辑器结合使用时,可以启用补全。
Visual Studio Code
在VS Code中,您可以通过安装Even Better TOML扩展并使用evenBetterToml.schema.associations
配置对象在settings.json
中启用补全和验证。
例如
{
"evenBetterToml.schema.associations": {
".*robot_client_config.*\\.toml": "https://raw.githubusercontent.com/openrr/openrr/main/openrr-apps/schema/robot_config.json",
".*teleop_config.*\\.toml": "https://raw.githubusercontent.com/openrr/openrr/main/openrr-apps/schema/robot_teleop_config.json",
},
}

许可证
依赖项
~28–70MB
~1M SLoC