Skip to content

Commit 792a94d

Browse files
committed
short update on the different guides
1 parent 84df7b3 commit 792a94d

File tree

6 files changed

+142
-10
lines changed

6 files changed

+142
-10
lines changed

BlueROV2/overview.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,8 @@ Here is a general overview of the BlueROV2 robot that was modified at Constructo
1111

1212

1313

14-
![BlueROV2 CAD](/figures/BlueROV2CAD.png)
14+
![BlueROV2 CAD](/figures/BlueROV2CAD.png)
15+
16+
17+
18+

Linux_ROS/Docker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ nav_order: 3
1010
Instead of installing every peace of software 1 by 1, we decided to take a dockers-approach.
1111
The setup is done on Mac, but on Linux machines everything should be easier, and work as well.
1212
The only difficult part is the display part, which maybe on linux needs a change in the docker-compose.yml
13-
To display e.g. a GUI in docker on Mac, you need to use [XQuartz](https://www.xquartz.org).
13+
To display e.g. a GUI in docker on Mac, you need to use [XQuartz](https://www.xquartz.org).(start XQuartz and run ```xhost +``` in a terminal)
1414

1515
The idea is, that a devcontainer is used for the ROS2 setup together with its packages that are imporant.
1616
the workspace github is:

Linux_ROS/ros2.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,32 @@ parent: Linux and ROS Overview
55
nav_order: 1
66
---
77

8-
Quick ways to install ROS2 on Ubuntu 22.04:
8+
Quick ways to install ROS2 on Ubuntu 24.04:
99

10+
```
11+
sudo apt install software-properties-common
12+
sudo add-apt-repository universe
13+
sudo apt update && sudo apt install curl -y
14+
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F\" '{print $4}')
15+
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" # If using Ubuntu derivates use $UBUNTU_CODENAME
16+
sudo apt install /tmp/ros2-apt-source.deb
17+
sudo apt update && sudo apt install ros-dev-tools
18+
sudo apt update
19+
sudo apt upgrade
20+
sudo apt install ros-jazzy-ros-base
21+
```
22+
23+
24+
# Bash Setup:
25+
This should be saved into the ~/.bashrc for the ROS setup.
26+
27+
28+
```
29+
source /opt/ros/jazzy/setup.bash
30+
source ~/ros_ws/install/local_setup.bash
31+
export ROS_DOMAIN_ID=161
32+
```
1033

11-
# Network Settings
12-
This sets a domain id, so that we have a closed system in our systems. Has to be the same for all clients.
13-
`export ROS_DOMAIN_ID=161`
1434

1535

1636

Linux_ROS/ubuntu.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,23 @@ Make the shell more colorful:
1818

1919

2020

21+
# Network
22+
Base Station Config Linux
23+
1. set static IP
24+
2. sudo sysctl -w net.ipv4.ip_forward=1 (should stay)
25+
3. sudo iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
26+
4. sudo iptables -A FORWARD -i $EXT -o $INT -m state --state RELATED,ESTABLISHED -j ACCEPT
27+
5. sudo iptables -A FORWARD -i $INT -o $EXT -j ACCEPT
28+
6. sudo netfilter-persistent save
29+
7. sudo resolvectl dns eth0 1.1.1.1 (forward dns to find ip addresses on PI)
30+
8. on pi: include DNS=1.1.1.1 at /etc/systemd/resolved.conf to configure at boot
31+
32+
MACOS:
33+
1. sudo nano /etc/pf.conf
34+
2. Add something like this at the top or under nat-anchor if it exists: nat on en8 from en7:network to any -> (en8)
35+
3. en8 is outside, and en7 is to PI
36+
3. sudo sysctl -w net.inet.ip.forwarding=1
37+
4. Permanent: sudo sh -c 'echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf'
38+
5. sudo pfctl -f /etc/pf.conf
39+
6. sudo pfctl -e
40+
7. sudo pfctl -n -f /etc/pf.conf

RaspberryPi/overview.md

Lines changed: 60 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ has_children: true
55
nav_order: 3
66
---
77

8-
# Just test this side big
9-
10-
Connect directly to the Pi without PW:https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password
8+
# Logging in without a PW:
9+
```
10+
ssh-keygen
11+
```
12+
to create a key on host PC.
13+
```
14+
ssh-copy-id userid@hostname
15+
```
16+
This copies the public key to the pi
1117

1218

1319
# Synchronize Time of PIs:
@@ -17,6 +23,7 @@ https://pimylifeup.com/raspberry-pi-time-sync/
1723
```
1824

1925
# Install pigpio:
26+
This package can run hardware PWM signals. make sure unzip is installed
2027
```
2128
cd ~/Documents
2229
sudo wget https://github.com/joan2937/pigpio/archive/master.zip
@@ -28,6 +35,56 @@ sudo pigpiod
2835
2936
```
3037

38+
# Install OpenCV on Pi:
39+
```
40+
sudo apt update -y
41+
sudo apt upgrade -y
42+
43+
sudo apt install build-essential libgtk2.0-dev libgtk-3-dev -y
44+
45+
cd ~/Documents
46+
mkdir opencvInstall
47+
cd opencvInstall
48+
49+
git clone https://github.com/opencv/opencv.git
50+
git clone https://github.com/opencv/opencv_contrib.git
51+
mkdir build
52+
cd build
53+
cmake -DOPENCV_ENABLE_NONFREE:BOOL=ON -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ../opencv
54+
cmake --build . --config Release -- -j 2
55+
sudo make install
56+
57+
```
58+
59+
# Swap on:
60+
Creates a simple 8GB swap file
61+
```
62+
sudo fallocate -l 8G /swapfile
63+
sudo chmod 600 /swapfile
64+
sudo mkswap /swapfile
65+
sudo swapon /swapfile
66+
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
67+
```
68+
69+
70+
71+
72+
# install GTsam
73+
```
74+
sudo apt install libtbb-dev
75+
cd ~/Documents
76+
git clone https://github.com/borglab/gtsam.git
77+
cd gtsam
78+
git checkout 4.1.1
79+
80+
81+
mkdir build
82+
cd build
83+
cmake ..
84+
make
85+
sudo make install
86+
```
87+
3188

3289

3390

px4/software.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Baro: `ms5611 status` or `ms5611 start/stop -X` -X/-S external und -I/-s Interna
2525

2626

2727

28-
# Raspberry pi Settings for PX4 things
28+
# Raspberry pi Settings for PX4 things(prob old)
2929

3030
`MicroXRCEAgent serial --dev /dev/ttyACM0 -b 921600` maybe add `ROS_DOMAIN_ID` here
3131
`uxrce_dds_client start -t serial -d /dev/ttyS2 -b 921600`
@@ -37,3 +37,34 @@ UXRCE_DDS_KEY = 1
3737
UXRCE_DDS_DOM_ID = 161
3838
UXRCE_DDS_AG_IP = 170524894
3939
```
40+
41+
42+
# Network setup for the ethernet
43+
This needs to go to `/fs/microsd/net.cfg` on the SD card by writing this to the console.
44+
```
45+
echo DEVICE=eth0 > /fs/microsd/net.cfg
46+
echo BOOTPROTO=fallback >> /fs/microsd/net.cfg
47+
echo IPADDR=192.168.10.11 >> /fs/microsd/net.cfg
48+
echo NETMASK=255.255.255.0 >> /fs/microsd/net.cfg
49+
echo ROUTER=192.168.10.1 >> /fs/microsd/net.cfg
50+
echo DNS=1.1.1.1 >> /fs/microsd/net.cfg
51+
```
52+
53+
# Micro-XRCE-DDS-Agent Install
54+
```
55+
git clone -b v2.4.2 https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
56+
cd Micro-XRCE-DDS-Agent
57+
mkdir build
58+
cd build
59+
cmake ..
60+
make
61+
sudo make install
62+
sudo ldconfig /usr/local/lib/
63+
```
64+
65+
66+
67+
68+
69+
70+

0 commit comments

Comments
 (0)