LoCoBot快速入门教程-9.仿真(ROS1)

此软件包包含必要的配置文件,以便在我们的X系列 Interbotix中获取任何漫游车 LoCoBot 家族在凉亭中模拟。具体来说,它包含locobot_configs.凉亭文件这使得机器人的黑色纹理可以正确显示(以下此方法)和启动各种插件。它还包含带有调整的PID增益的YAML文件,用于手臂,夹持器和平移/倾斜关节,以便ros_control可以有效地控制机器人。此包可以是通过 FollowJointTrajectory 接口与MoveIt结合使用,或通过关节位置控制器接口。

xslocobot_gazebo_flowchart.png

如上所示, interbotix_xslocobot_gazebo 包构建在 interbotix_xslocobot_descriptions和gazebo_ros包。要熟悉中的节点这 interbotix_xslocobot_descriptions包,请查看其自述文件。其他节点是描述如下:

 

GZ服务器 - 负责运行物理更新循环和传感器数据生成

GZCLIENT - 提供了一个很好的GUI来可视化机器人模拟

controller_manager - 负责一次加载和启动一组控制器,如 以及自动停止和卸载这些相同的控制器

spawn_model - 将“robot_description”参数中定义的机器人模型添加到 凉亭世界

请注意,手臂关节可以从 MoveIt 发送轨迹,因为它们使用 关节轨迹控制器 ros_control界面或位置使用 关节位置控制器 接口。但是,云台/俯仰云台通过 仅限关节位置控制器接口。要控制它们,请将位置命令直接发布到 适当的主题(例如 /<robot_name>/pan_controller/command 对于“平底锅”关节)。

要运行此软件包,请在终端中输入以下行(假设locobot_wx250s在连接激光雷达并使用手臂轨迹控制器的情况下启动)。

roslaunch interbotix_xslocobot_gazebo xslocobot_gazebo.launch robot_model:=locobot_wx250s show_lidar:=true use_trajectory_controllers:=true

由于默认情况下,Gazebo以“暂停”状态启动(这样做是为了给控制器启动时间),一旦完全加载即可通过键入以下内容来取消暂停物理:

rosservice call /gazebo/unpause_physics