Skip to content

a collection of software that replaces the original intelli controller from the RoboMaster

License

Notifications You must be signed in to change notification settings

Vinz1911/intelli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intelli v2.0

Intelli v2.0 is a collection of different projects for the RoboMaster S1. The goal is to get rid of the original Intelli Controller from the RoboMaster. The intelli v2.0 controller is build with a Raspberry Pi 5 and a PiCAN FD HAT, it uses the robomaster c++ library.

License:

License

C++ Version:

C++23

Hardware List:

Linux Kernel:

The intelli v2.0 uses the always latest version of the Raspberry Pi OS Lite. For a better performance, i would recommend to update the kernel to at least 6.12.x and enable the PREEMPT_RT patch. This can be done like this:

# install requirements
sudo apt install git bc bison flex libssl-dev make -y && sudo apt install libncurses5-dev -y && sudo apt install raspberrypi-kernel-headers -y

# clone the linux kernel repo for raspberry pi
git clone --depth 1 --branch rpi-6.12.y https://github.com/raspberrypi/linux

# create configs and enable PREEMPT_RT, CONFIG_HZ_1000 and CPU performance governor
make bcm2712_defconfig && make menuconfig

# prepare and compile kernel with all available cores
make prepare && make CFLAGS='-O3 -march=native' -j$(nproc) Image.gz modules dtbs

# install modules
sudo make -j$(nproc) modules_install

# copy new kernel to boot location (this overwrites the old kernel)
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/firmware/
sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/firmware/overlays/
sudo cp arch/arm64/boot/dts/overlays/README /boot/firmware/overlays/
sudo cp arch/arm64/boot/Image.gz /boot/firmware/kernel_2712.img

# reboot the system
sudo reboot now

# update without kernel upgrade
sudo SKIP_KERNEL=1 PRUNE_MODULES=1 rpi-update rpi-6.12.y

Required Libraries:

To make the intelli v2.0 work there are some required libraries:

  • Sense - dual sense controller library
  • Robomaster - robomaster core library
  • LCDGFX - oled display library
# build and install libraries
mkdir build
cd build/
cmake ..
make && make install

Enable CAN-HAT:

To enable the MCP2518FD go to /boot/firmware/config.txt and add the following lines:

dtparam=spi=on
dtparam=i2c_arm=on
dtoverlay=mcp251xfd,spi0-0,interrupt=25

Create Service:

To enable the can interface on startup, copy the can.service to /etc/systemd/system/ and enable it with:

sudo systemctl daemon-reload
sudo systemctl enable setup-can.service
sudo reboot now

Build Intelli:

Finally build the intelli controller. The controller allows basic remote control options for now:

# install requirements
sudo apt install git -y && sudo apt install vim -y && sudo apt install build-essential -y && sudo apt install can-utils -y && sudo apt install cmake -y

# build the intelli executable
mkdir build
cd build/
cmake ..
make && make install

About

a collection of software that replaces the original intelli controller from the RoboMaster

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published