/soccerbot

Soccer playing robot representing Canada from University of Toronto

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Soccerbot

License Docker Image CI Webots Docker Image CI Total alerts Documentation Status Docker Image Size Docker Pulls

The initial efforts to form new team within UTRA began summer 2016. However, it was not until summer 2017 that we were well-defined and the creation of our robots from scratch began. Following some recruitment around that time, our team had a small number of members split across three subsystems: mechanical, electrical and software. Later that summer, the embedded subsystem (microcontroller software), emerged out of the electrical subsystem, and the control subsystem was formed to focus on bipedal locomotion.

By the end of 2017, our team grew to more than 20 members, all engineering undergraduates at the University of Toronto. Around that time, we were highly focused on achieving the basic requirements to qualify for the 2018 RoboCup competition in Montreal that upcoming summer. After several sleepless February nights, the video below was produced along with a concise paper.

Robot Model (Bez1)

Bez robot model

Bez1 kicking in simulation

Bez kicking Gif

Join Us

https://github.com/utra-robosoccer/soccerbot/wiki

Getting Started

https://github.com/utra-robosoccer/soccerbot/wiki/Onboarding

Testing Motion on Robot

roslaunch soccerbot sensors.launch __ns:=robot1

cd ~/catkin_ws source devel/setup.bash pytest src/soccerbot/soccer_trajectories/src/soccer_trajectories/test_trajectory.py::TestTrajectory::test_fixed_angles_trajectories

pytest src/soccerbot/soccer_trajectories/src/soccer_trajectories/test_trajectory.py::TestTrajectory::test_getupfront_trajectories

pytest src/soccerbot/soccer_pycontrol/src/soccer_pycontrol/test_walking.py::TestWalking::test_walk_1_real_robot

cd ~/catkin_ws

source devel/setup.bash
export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1 # TODO look into
pytest src/soccerbot/soccer_object_detection/src/soccer_object_detection/test_object_detection.py::TestObjectDetection::test_object_detection_node_cam

Torch https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048

wget https://developer.download.nvidia.cn/compute/redist/jp/v512/pytorch/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev -y
pip3 install 'Cython<3'
pip3 install numpy torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl

Torchvision

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev -y
git clone --branch v0.16.1 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.16.1
python3 setup.py install --user
cd ../
pip install 'pillow<7'

Verify in python console

import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
print('cuDNN version: ' + str(torch.backends.cudnn.version()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
b = torch.randn(2).cuda()
print('Tensor b = ' + str(b))
c = a + b
print('Tensor c = ' + str(c))

import torchvision
print(torchvision.__version__)

sudo snap install blender --channel=3.3lts/stable --classic https://github.com/dfki-ric/phobos/releases/tag/2.0.0 https://github.com/dfki-ric/phobos/commit/757d7b58b41240ea4aa54e20ddd1665072e6da21

rosrun xacro xacro -o bez2.urdf bez2.xacro

todo look into xrdp remote desktop