SSH into RPI terminal and execute: ./system_rpi.sh
On base station terminal execute: ./system_base_station.sh
- 12V -> Battery pack +
- GND -> Battery pack - & Pico rear GND
- ENA -> Pico rear GP6
- IN1-> Pico rear GP7
- IN2-> Pico rear GP8
- IN3-> Pico rear GP9
- IN4-> Pico rear GP10
- ENB-> Pico rear GP11
- VM-> Battery pack +
- GND (bellow VM) -> Battery pack -
- 1B, 1A, 2A, 2B -> Servo motor 4 pin plug, order doesn’t matter
- VDD -> Pico rear 3V3(OUT)
- GND (bellow VDD) -> Pico rear GND
- MS2 -> Pico rear 3V3(OUT)
- RST & SLP -> Jumped together with jumpers
- STEP -> Pico rear GP12
- DIR-> Pico rear GP13
- Red wire -> Pico rear ADC_VREF
- Black wire -> Pico rear AGND
- The one that is not black nor red -> Pico rear GP26
- 2-5V -> Pico rear 3V3(OUT)
- SDA -> Pico rear GP2
- SCL -> Pico rear GP3
- GND -> Pico rear GND
- VM-> Battery pack +
- GND (bellow VM) -> Battery pack -
- 1B, 1A, 2A, 2B -> Servo motor 4 pin plug
- VDD -> Pico front 3V3(OUT)
- GND (bellow VDD) -> Pico front GND
- MS2 -> Pico front 3V3(OUT)
- RST & SLP -> Jumped together with jumpers
- STEP -> Pico front GP6
- DIR-> Pico front GP7
- VM-> Battery pack +
- GND (bellow VM) -> Battery pack -
- 1B, 1A, 2A, 2B -> Servo motor 4 pin plug
- VDD -> Pico front 3V3(OUT)
- GND (bellow VDD) -> Pico front GND
- MS2 -> Pico front 3V3(OUT)
- RST & SLP -> Jumped together with jumpers
- STEP -> Pico front GP8
- DIR-> Pico front GP9
- VCC -> Pico front 3V3(OUT)
- GND -> Pico front GND
- SCL -> Pico front GP3
- SDA -> Pico front GP2
- 12V -> Battery pack +
- GND -> Battery pack - & Pico first GND
- ENA -> Pico first GP6
- IN1-> Pico first GP7
- IN2-> Pico first GP8
- IN3-> Pico first GP9
- IN4-> Pico first GP10
- ENB-> Pico first GP11
- IN+ -> Battery pack +
- IN- -> Battery pack -
- OUT+ -> Pico first VSYS, Pico rear VSYS & Pico front VSYS
- OUT- -> Pico first GND, Pico rear GND & Pico front GND
- GND -> Pico rear GND & Pico front GND
- GPIO4 -> Pico first GP1
- GPIO5 -> Pico first GP0
- GPIO8 -> Pico rear GP1
- GPIO9 -> Pico rear GP0
- GPIO12 -> Pico front GP1
- GPIO13 -> Pico front GP0
Install Ubuntu Desktop 24.02.2 LTS (64-bit) to Raspberry Pi 4 boot SD card using Raspberry Pi Imager
sudo apt update
sudo apt upgrade
sudo apt install vimsudo apt install ssh
sudo systemctl enable sshInstall ROS 2 Jazzy following official installation guide.
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
sudo rosdep init
rosdep updatesudo vim /etc/udev/rules.d/raspberrypi.rules
# SUBSYSTEM=="dma_heap", GROUP="video", MODE="0660"
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo usermod -a -G video $USERsudo usermod -a -G dialout $USER
sudo vim /boot/firmware/config.txtAdd the following lines and reboot:
enable_uart=1
dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlibgit clone --recurse-submodules https://github.com/noidvan/wall_f_junior_base_stack
cd wall_f_junior_base_stack
rosdep install --from-paths src --ignore-src -r -y
colcon build- After compilation, locate
front_agent.uf2,rear_agent.uf2andfirst_section_agent.uf2inbuild/wall_f_junior_pico. - Press and hold the
BOOTSELbutton on the Pico while plugging in its USB to the computer. - Copy the
.uf2file for the corresponding Pico into the appeared drive
This project contains code from the following open-source releases:
- ROS 2 node for libcamera by Christian Rauch under the MIT license
- micro-ROS Agent by Open Robotics under the Apache-2.0 license
- Autonomy Stack by Prof. Ji Zhang
- micor-ROS Raspberry Pi Pico SDK by Open Robotics under the Apache-2.0 license
- Raspberry Pi Pico SDK by Raspberry Pi under the BSD-3-Clause license
- Pico BME688 by bablokb
