如题,搬运工:

全开源的ROS2SLAM机器人 ROSBOT - ROS2 open source SLAM robot


github.com/kallaspriit/rosbot


机器翻译如下:


基于ROS 2的机器人学习平台。

运行主 rosbot/ros 工作区

  • 将用户添加到 USB 串行和输入组

    • sudo usermod -a -G input ubuntu
    • sudo usermod -a -G dialout ubuntu
    • sudo usermod -a -G tty ubuntu
  • 构建 rosbot(在机器人和远程 PC 上)
    • cd ~/rosbot/ros以打开工作区
    • rosdep install -i --from-path src --rosdistro foxy -y安装依赖项
    • git pull && colcon build拉取更改并构建工作区
  • 在机器人上启动 rosbot
    • 如果有任何更改,请先构建它
    • 打开新终端
    • cd ~/rosbot/ros以打开工作区
    • . install/local_setup.bash加载工作空间叠加层(在机器人和远程pc上)
    • ros2 launch odrive_bringup rosbot.launch.py启动rosbot(在机器人上运行)
    • ros2 launch odrive_bringup rviz.launch.py启动 rviz(在远程 pc 上运行)
  • 运行操纵杆远程操作
    • 打开新终端
    • . install/local_setup.bash加载工作区叠加
    • ros2 launch teleop_twist_joy teleop.launch.py joy_config:='rosbot_xbox_bluetooth' cmd_vel:=/diff_drive_controller/cmd_vel_unstamped启动操纵杆远程操作
    • 按住左扳机键(按钮 6),并使用左右操纵杆控制速度和旋转
    • 按住右扳机键(按钮 7)可加速(移动速度更快)
  • 启动 odrive 手动控制(仅用于测试)
    • 打开新终端
    • . install/local_setup.bash加载工作区叠加
    • ros2 launch odrive_bringup odrive.launch.py启动 odrive 测试 ()
    • ros2 topic pub -r 100 /left_wheel_joint_velocity_controller/commands std_msgs/Float64MultiArray "data: [1]"
    • ros2 topic pub -r 100 /right_wheel_joint_velocity_controller/commands std_msgs/Float64MultiArray "data: [-1]"
    • ros2 launch teleop_twist_joy teleop.launch.py joy_config:='rosbot_xbox_bluetooth' cmd_vel:=/diff_drive_controller/cmd_vel_unstamped启动操纵杆远程操作
    • 按住左扳机键(按钮 6),并使用左右操纵杆控制速度和旋转
  • 启动发布到的 USB Xbox 操纵杆远程操作/cmd_vel
    • ros2 launch teleop_twist_joy teleop.launch.py cmd_vel:=cmd_vel joy_config:=rosbot_xbox_usb

调试

  • 调试
  • ros2 topic echo /joint_states显示关节状态,包括速度等
  • ros2 topic echo /dynamic_joint_states显示动态关节状态,包括轴误差等
  • ros2 run tf2_tools view_frames.py生成框架树frames.pdf
  • rqt以打开 RQT,添加插件,例如Topics > Topic Monitor
  • ros2 run xacro xacro ./src/rosbot_description/urdf/rosbot.urdf.xacro调试 URDF 文件的问题
  • ros2 run tf2_ros tf2_echo odom base_link验证从 odom 到 base_link 的转换
    • 时间 1634580767.596875940

      • 翻译: [6.986, -2.328, 0.000]
      • 旋转:在四元数 [0.000, 0.000, -0.210, 0.978]
    • 时间 1634580768.594622939
      • 翻译: [7.108, -2.383, 0.000]
      • 旋转:在四元数 [0.000, 0.000, -0.213, 0.977]

操纵杆远程操作