Skip to content

MimoAW/Viccyware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Viccyware-tester

Welcome to the unstable branch of Viccyware. This is the home of a modified copy of the Vector source code. Original README: README-orig.md

Learn a little more about the project at viccyware.com

Branch info

This branch of the Vector source code will attempt to reimpliment Cozmo from old versions of Cozmoware into the modern os. Unlike the main branch this branch will be updated more frequently compared to the stable branch. This can mean the code may be more buggy so if you need reliability switch to the main branch please.

Changes

  • The wiki includes a list of changes that were made by a fellow community member, Wire: Changes Wire Made

Building

Viccyware can be built standalone on most Linux distros (arm64 or amd64), and on macOS (arm64 only, for now).

Docker is recommended for now (especially if you have a weird or old Linux distro installed), though bare metal works nicely too.

Note that if you have built in Docker before and want to build on bare metal now (or vice-versa), you should do a clean build.

Click an option below for instructions.

Docker: x86_64 or arm64 Linux
  • Prerequisites: Make sure you have docker and git installed.
  1. Clone the repo and cd into it:
cd ~
git clone --recurse-submodules https://github.com/The-Viccyware-Group/Viccyware -b Viccyware-tester
cd Viccyware
  1. Make sure you can run Docker as a normal user. This will probably involve:
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
  1. Run the build script:
cd ~/Viccyware
./build/build-v.sh
Bare Metal: x86_64 or arm64 Linux
  • Prerequisites:
    • glibc 2.27 or above - this means anything Ubuntu 18.04 and newer will work.
    • The following packages need to be installed: git wget curl openssl ninja g++ gcc pkg-config ccache
# Arch Linux:
sudo pacman -S git wget curl openssl ninja gcc pkgconf ccache
# Ubuntu/Debian:
sudo apt-get update && sudo apt-get install -y git wget curl openssl ninja-build gcc g++ pkg-config ccache
# Fedora
sudo dnf install -y git wget curl openssl ninja-build gcc gcc-c++ pkgconf-pkg-config ccache
  1. Clone the repo and cd into it:
cd ~
git clone --recurse-submodules https://github.com/The-Viccyware-Group/Viccyware -b Viccyware-tester
cd Viccyware
  1. Source setenv.sh:
source setenv.sh
  1. (OPTIONAL) Run this so you don't have to perform step 2 every time:
echo "source \"$(pwd)/setenv.sh\"" >> $HOME/.bashrc
  1. Build:
vbuild
macOS (M-series only)

[!WARNING] Only works on M1-M4 Macs, NOT Intel

  • Prereqs: Make sure you have brew installed.
    • Then: brew install ccache wget upx ninja
  1. Clone the repo and cd into it:
cd ~
git clone --recurse-submodules https://github.com/The-Viccyware-Group/Viccyware -b Viccyware-tester
cd Viccyware
  1. Run the build script:
cd ~/Viccyware
./build/build-v.sh

Deploying

  1. Install Viccyware on your robot.
  2. Get your robot's IP through CCIS:
    1. Place your robot on the charger
    1. Double click the button
    1. Lift the lift up then down
    1. Write down the IP address somewhere
    1. Lift the lift up then down again to exit CCIS
  1. One of the following:
(Docker: x86_64 or arm64 Linux) or (macOS M-series)
  • Run:
./build/deploy-v.sh
Bare Metal: x86_64 or arm64 Linux
  • Run:
vdeploy

Cleaning

99% of the time, if you're working on a behavior or something, you don't need to clean any build directories. The CMakeLists are correctly setup to properly rebuild the code which needs to be rebuilt upon a file change.

If you do want to clean anyway:

(Docker: x86_64 or arm64 Linux) or (macOS M-series)
  • Run:
./build/clean.sh
Bare Metal: x86_64 or arm64 Linux
  • Run:
vclean

Contributors

Made with contrib.rocks.

About

Cozmoware with a newer underlying OS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 65.4%
  • C 18.0%
  • Python 5.0%
  • MLIR 4.5%
  • HTML 2.1%
  • MATLAB 0.7%
  • Other 4.3%