Testing the robot hardware and lowlevel software

Do the test in the provided order, to find out which part is faulty.

Preliminaries

Do the test in the provided order, to find out which part is faulty.

  1. Use robot compile to flash correct version on robot

  2. Put robot in a safe spot, on a rope hanging from the ceiling

  3. Check if all cables are correctly connected

  4. Open diagnostic view in rqt, it will provide a lot of information

Test hardware and ros_control

The easiest way to do this is using the semi automatic script for this. Just start it and follow the instructions

rosrun bitbots_bringup check_robot.py

Manual procedure

  1. Test IMU
    ros2 launch bitbots_ros_control ros_control_standalone.launch only_imu:=true
    • start on your laptop ros2 launch bitbots_ros_control viz_imu.launch you should see the filtered orientation and an arrow showing the sum of acceleration forces

    • maybe use plotjuggler to verify raw values

  2. Test pressure sensors
    motor power on and ros2 launch bitbots_ros_control ros_control_standalone.launch only_pressure:=true
    • start on your laptop ros2 launch bitbots_ros_control viz_pressure.launch
      • you should see the pressure values as arrows in rviz as well as the center of pressures

      • press on the sensors to see if they behave correctly

    • maybe use plotjuggler to get more details and see eventual drift

  3. Test servos
    motor power off and ros2 launch bitbots_ros_control ros_control_standalone.launch torqueless_mode:=true
    • it should give you an error because the motor power is off

    motor power on and ros2 launch bitbots_ros_control ros_control_standalone.launch torqueless_mode:=true
    • it should start without any errors

    • servos should be torqueless (not stiff)

    • start on your laptop ros2 launch bitbots_ros_control viz_servos.launch you should see the the robot, the TF tree and the efforts
      • move the robot around to see if it behaves correctly

      • start rqt robot monitor, check “Alternative view” and you should see all servos on OK

      • start the runtime monitor in rqt and you can get voltage, temperature and error status

      • maybe use plotjuggler to see the values in more detail

    turn motor power on and ros2 launch bitbots_ros_control ros_control_standalone.launch
    • it should start without any errors

    • servos should be half stiff, but still moveable

    • start on your laptop ros2 launch bitbots_ros_control viz_servos.launch you should see the robot and the TF tree
      • run ros2 run bitbots_ros_control send_joint_command.py, the robot should go into init pose and be completly stiff