diff --git a/README.md b/README.md index 5cbf853..5b4edee 100644 --- a/README.md +++ b/README.md @@ -1,113 +1,9 @@ -General information: -User nvidia, password nvidia +# Cambridge RoboMaster -1) Change hostname -Allow NVIdia user to use sudo without password, modify /etc/hostname to the new hostname, then reboot -``` -sudo ./setup/sudocfg.bash -sudo nano /etc/hostname ->robomaster-1 -sudo reboot -``` +This is the source repository containing all information necessary to reproduce the Cambridge RoboMaster platform. -2) Network setup -This allows access to the internet through wgb -``` -sudo ./setup/nmcli.bash -> Connection 'robomaster' (56d6c150-46eb-4028-be24-2faa2eec9486) successfully added. -> Connection 'wired' (ba5c3b46-94df-44e2-bd49-3cdeba1f25d1) successfully added. -``` + -You can test the setup by pinging the router: -``` -ping 10.3.1.1 -> PING 10.3.1.1 (10.3.1.1) 56(84) bytes of data. -64 bytes from 10.3.1.1: icmp_seq=1 ttl=64 time=4.82 ms -64 bytes from 10.3.1.1: icmp_seq=2 ttl=64 time=89.2 ms -``` +Paper: TBD -And by showing the network config, where the `wlan0` configuration should look like this: -``` -ip a -> 4: wlan0: mtu 1500 qdisc noqueue state UP group default qlen 1000 - link/ether f4:3b:d8:e0:33:a5 brd ff:ff:ff:ff:ff:ff - altname wlP1p1s0 - inet 10.3.1.4/24 brd 10.3.1.255 scope global noprefixroute wlan0 - valid_lft forever preferred_lft forever - inet6 fe80::680c:3a7f:11b1:cc8b/64 scope link noprefixroute - valid_lft forever preferred_lft forever -``` - -Optionally, if the router is configured and connected to the internet, you can test pinging a website: -``` -ping google.com -> PING google.com (216.58.204.78) 56(84) bytes of data. -64 bytes from lhr48s49-in-f14.1e100.net (216.58.204.78): icmp_seq=1 ttl=54 time=19.3 ms -``` - -The ethernet is set up with ip address 10.3.0.x. After connecting a cable to another device, the eth0 interface should show up. -``` -ip a -> 3: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 - link/ether 48:b0:2d:d8:bf:74 brd ff:ff:ff:ff:ff:ff - altname enP8p1s0 - inet 10.3.0.4/24 brd 10.3.0.255 scope global noprefixroute eth0 - valid_lft forever preferred_lft forever - inet6 fe80::65bb:1eb:71e1:986/64 scope link noprefixroute - valid_lft forever preferred_lft forever -``` - -3) Install nvidia jetpack and other utilities -``` -sudo ./setup/apt.bash -``` -This may take a while. Reboot after. - -4) Set up docker -``` -sudo ./docker/add_group.bash -sudo ./docker/setup_docker_compose.bash -sudo cp docker/daemon.json /etc/docker -sudo service docker restart -``` - -Optional: Pull images for CAN, cam and UI: -``` -sudo ./docker/pull_images.sh -``` -If this step is skipped, the installation commands will build from scratch. - -5) Set up CAN -``` -cd robomaster_bridge -sudo ./install.bash -``` - -6) Set up cameras -The cameras can be tested with the following command if logged in on a terminal in non-headless mode (i.e. with a monitor connected): -``` -gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=3840,height=2160,framerate=30/1' ! queue ! nvvidconv ! fakesink -gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=3840,height=2160,framerate=30/1' ! queue ! nvvidconv ! xvimagesink -e -``` - -Setup: -``` -cd cam_driver -sudo ./install.bash -``` - -6) Set up UI -``` -cd ui -sudo ./install.bash -``` - -7) Adhoc setup -``` -sudo ./adhoc/nmcli.bash -``` - -8) Adding users -``` -./setup/adduser.bash -``` +For all further information, please refer the [website](https://proroklab.github.io/cambridge-robomaster/). diff --git a/docs/hardware_setup.md b/docs/hardware_setup.md new file mode 100644 index 0000000..371d886 --- /dev/null +++ b/docs/hardware_setup.md @@ -0,0 +1,29 @@ +--- +layout: default +title: Hardware Setup +nav_order: 3 +--- + +# Hardware +{: .no_toc } + +## Table of contents +{: .no_toc .text-delta } + +1. TOC +{:toc} + +## RoboMaster Assembly + +## Components + +## Laser Cutting + +## Raspberry Pi + +### Wire harness + +## Jetson + +### Wire harness + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..4635452 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,7 @@ +--- +title: Home +layout: home +nav_order: 1 +--- + +This is the homepage and documentation for the Cambridge RoboMaster. diff --git a/docs/software_setup.md b/docs/software_setup.md new file mode 100644 index 0000000..45a00ba --- /dev/null +++ b/docs/software_setup.md @@ -0,0 +1,132 @@ +--- +layout: default +title: Software Setup +nav_order: 4 +--- + +# Software +{: .no_toc } + +## Table of contents +{: .no_toc .text-delta } + +1. TOC +{:toc} + +## Flashing + +Differing procedure for Jetson vs Raspberry Pi. + +General information Jetsons: +User nvidia, password nvidia + +## Change hostname +Allow NVIdia user to use sudo without password, modify /etc/hostname to the new hostname, then reboot +``` +sudo ./setup/sudocfg.bash +sudo nano /etc/hostname +>robomaster-1 +sudo reboot +``` + +## Network setup +This allows access to the internet through wgb +``` +sudo ./setup/nmcli.bash +> Connection 'robomaster' (56d6c150-46eb-4028-be24-2faa2eec9486) successfully added. +> Connection 'wired' (ba5c3b46-94df-44e2-bd49-3cdeba1f25d1) successfully added. +``` + +You can test the setup by pinging the router: +``` +ping 10.3.1.1 +> PING 10.3.1.1 (10.3.1.1) 56(84) bytes of data. +64 bytes from 10.3.1.1: icmp_seq=1 ttl=64 time=4.82 ms +64 bytes from 10.3.1.1: icmp_seq=2 ttl=64 time=89.2 ms +``` + +And by showing the network config, where the `wlan0` configuration should look like this: +``` +ip a +> 4: wlan0: mtu 1500 qdisc noqueue state UP group default qlen 1000 + link/ether f4:3b:d8:e0:33:a5 brd ff:ff:ff:ff:ff:ff + altname wlP1p1s0 + inet 10.3.1.4/24 brd 10.3.1.255 scope global noprefixroute wlan0 + valid_lft forever preferred_lft forever + inet6 fe80::680c:3a7f:11b1:cc8b/64 scope link noprefixroute + valid_lft forever preferred_lft forever +``` + +Optionally, if the router is configured and connected to the internet, you can test pinging a website: +``` +ping google.com +> PING google.com (216.58.204.78) 56(84) bytes of data. +64 bytes from lhr48s49-in-f14.1e100.net (216.58.204.78): icmp_seq=1 ttl=54 time=19.3 ms +``` + +The ethernet is set up with ip address 10.3.0.x. After connecting a cable to another device, the eth0 interface should show up. +``` +ip a +> 3: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 + link/ether 48:b0:2d:d8:bf:74 brd ff:ff:ff:ff:ff:ff + altname enP8p1s0 + inet 10.3.0.4/24 brd 10.3.0.255 scope global noprefixroute eth0 + valid_lft forever preferred_lft forever + inet6 fe80::65bb:1eb:71e1:986/64 scope link noprefixroute + valid_lft forever preferred_lft forever +``` + +## Install nvidia jetpack and other utilities +``` +sudo ./setup/apt.bash +``` +This may take a while. Reboot after. + +## Set up docker +``` +sudo ./docker/add_group.bash +sudo ./docker/setup_docker_compose.bash +sudo cp docker/daemon.json /etc/docker +sudo service docker restart +``` + +Optional: Pull images for CAN, cam and UI: +``` +sudo ./docker/pull_images.sh +``` +If this step is skipped, the installation commands will build from scratch. + +## Set up CAN +``` +cd robomaster_bridge +sudo ./install.bash +``` + +## Set up cameras +The cameras can be tested with the following command if logged in on a terminal in non-headless mode (i.e. with a monitor connected): +``` +gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=3840,height=2160,framerate=30/1' ! queue ! nvvidconv ! fakesink +gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=3840,height=2160,framerate=30/1' ! queue ! nvvidconv ! xvimagesink -e +``` + +Setup: +``` +cd cam_driver +sudo ./install.bash +``` + +## Set up UI +``` +cd ui +sudo ./install.bash +``` + +## Adhoc setup +``` +sudo ./adhoc/nmcli.bash +``` + +## Adding users +``` +./setup/adduser.bash +``` diff --git a/docs/supplementary.md b/docs/supplementary.md index b9b6aff..d39ec1c 100644 --- a/docs/supplementary.md +++ b/docs/supplementary.md @@ -1,6 +1,7 @@ --- -title: Home -layout: home +layout: default +title: Supplementary +nav_order: 2 --- # Supplementary Videos