User Guide - lukasholtkamp/b.ob GitHub Wiki
Quick Start guide
- Note: Ensure you have Bob wheels suspended in the air when doing the first 5 steps
-
Connect the Raspberry pi to a monitor via HDMI.
-
Connect Battery to motor drivers.
-
Wait until the open terminal on the monitor shows the "Turn on Xbox controller".
-
Start up the controller by pressing the guide button in the center of the controller as shown in the diagram (button must light up continuously)
-
Press Button "X" for Basic Driving (This should be displayed on the screen also).
-
Unplug the monitor from the Raspberry pi and place in an open area for safe driving.
-
Steering:
- RT --> Forward
- LT --> Backward
- LSB --> Turning
- Press Button "B" to shut the program down
Source: https://www.ebgames.com.au/product/xbox-series-x/267808-xbox-wireless-controller-carbon-black
Basic Driving
To drive in basic mode, press Button "X":
In Basic Driving mode, Bob drives without using sensors like LIDAR, radar, or the camera. You control forward, backward, left, and right movements with the motor drivers. The IMU (Inertial Measurement Unit) remains active to measure the correct angle and other metrics.
Basic Driving Test
You can also test if the components for basic driving, such as both motor drivers and their encoders, as well as the alarm signal, are working. The test consists of two parts:
- Motor Driver and Encoder Test
- Alarm Test
How to Test
Motor Driver and Encoder Test
-
When the following message is displayed:
Turn on Xbox controller 1-For Basic driving press X button -For Testing press Up-D-PAD button 2-For Assisted driving press A button -For Testing press Down-D-PAD button
Press Up-D-PAD button to start the test.
- Bob will drive 1 meter forward.
- Press Right-D-PAD button if Bob has driven 1 meter forward.
- Note: If Bob has driven more or less than 1 meter, press Left-D-PAD button to break the Motor Driver and Encoder Test.
- Bob will drive 1 meter backward.
- Press Right-D-PAD button if Bob has driven 1 meter backward.
- Note: If Bob has driven more or less than 1 meter, press Left-D-PAD button to break the Motor Driver and Encoder Test.
- Bob will drive 2 meters forward.
- Press Right-D-PAD button if Bob has driven 2 meters forward.
- Note: If Bob has driven more or less than 2 meters, press Left-D-PAD button to break the Motor Driver and Encoder Test.
- Angle Test:
- Bob should turn to 90 degrees, then back to 0 degrees.
- Bob should turn to -90 degrees, then back to 0 degrees.
- Bob should turn 360 degrees.
- Press Right-D-PAD button if Bob has achieved the desired angles.
- Note: If Bob has not achieved the desired angles, press Left-D-PAD button to break the Motor Driver and Encoder Test.
Alarm Test
- Press the Emergency Button and monitor the screen until you read "Alarm Test Completed".
- Note: If the button is pressed and nothing changes, press Left-D-PAD button to escape.
- Release the Emergency Button and monitor the screen until you read "Test Finished".
If all these tests are successfully completed, then the motor drivers and the alarm are working correctly.
Assisted Driving
To drive in Assisted Driving mode, press Button "A":
In Assisted Driving mode, Bob is more aware of the environment around him. For this, sensors and controllers are used in addition to the IMU, such as LIDAR, radar, camera, and a PID controller. This mode allows Bob to drive more safely and efficiently, adapting to changes in the environment and avoiding obstacles.
SLAM
Since SLAM is a CPU intensive algorithm, it is best to run it on your own local PC. Ensure you have ros2 installed on your own PC. For this, you need to make sure you have access to the nodes which are running on the Rpi. If both your PC and the Rpi are connected to the same network, when using the command:
ros2 topic list
you will see all the same topics as the Rpi. If this is not the case, consider using this guide to use a different Rpi as a hotspot.
First step is to clone the repository:
git clone https://github.com/lukasholtkamp/b.ob.git
cd b.ob
Once this is cloned and you are in the directory, compile and source the code:
colcon build
source install/setup.bash
You can now run the launch file for SLAM,
ros2 launch bob_slam online_async_launch.py
Once the robot model has loaded in Rviz, you can tick the LaserScan and Map options in Rviz.
AMCL
TBD