You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-5Lines changed: 16 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,15 +15,20 @@ All code is written as individual ROS 2 packages.
15
15
16
16
The workspace is managed using the [pixi](https://pixi.sh) package manager. This allows us to have reproducible builds and easy user space dependency management similar to tools like `uv` or `cargo`. This also means that no system wide ROS installation or superuser privileges are required to install or run the code.
17
17
18
-
Full step-by-step instructions for installing the Bit-Bots software stack and ROS 2 can be found in our documentation [here](https://doku.bit-bots.de/meta/manual/tutorials/install_software_ros2.html).
18
+
Full step-by-step instructions for installing the Bit-Bots software stack and ROS 2 can be found in our [documentation](https://docs.bit-bots.de/meta/manual/tutorials/install_software_ros2.html).
19
19
20
-
21
-
Run the following command inside this repository to build the workspace. All dependencies will be installed automatically. Make sure you have [pixi](https://pixi.sh) installed. A few optional proprietary dependencies will be needed for full functionality, see the documentation for details.
20
+
Run the following command inside this repository to build the workspace.
21
+
All dependencies will be installed automatically.
22
+
Make sure you have [pixi](https://pixi.sh) installed.
23
+
A few optional proprietary dependencies will be needed for full functionality, see the documentation for details.
22
24
23
25
```shell
24
26
pixi run build
25
27
```
26
28
29
+
The first build might fail due to missing dependencies.
30
+
Run `pixi run basler` to install the Basler pylon camera driver.
31
+
27
32
## Using the workspace
28
33
29
34
To activate the workspace run the following command in the terminal you want to use:
@@ -38,7 +43,13 @@ alternatively, you can run individual commands inside the workspace without acti
38
43
pixi run <command>
39
44
```
40
45
41
-
To see some predefined / commands, run
46
+
To build the workspace, run the following command in the terminal:
47
+
48
+
```shell
49
+
pixi run build
50
+
```
51
+
52
+
To see some predefined tasks / commands, run
42
53
43
54
```shell
44
55
pixi task list
@@ -49,7 +60,7 @@ pixi task list
49
60
To deploy the software to a robot, run
50
61
51
62
```shell
52
-
pixi run deploy<robot_ip|robot_name>
63
+
pixi run deploy
53
64
```
54
65
55
66
For more information on the deployment tooling, see [this documentation](scripts/README.md).
PYTHONWARNINGS="ignore:::setuptools.command.install,ignore:::setuptools.command.easy_install,ignore:::pkg_resources,ignore:easy_install command is deprecated,ignore:setup.py install is deprecated"
echo" --ci Run non-interactively for CI (skips confirmation and progress)"
20
+
echo" --skip-os-check Skip the Ubuntu version/OS check"
21
+
echo" -h, --help Show this help message and exit"
22
+
}
23
+
24
+
# Parse arguments position-independently
25
+
forargin"$@";do
26
+
case"$arg"in
27
+
--ci)
28
+
CI=true
29
+
SHOW_PROGRESS=""
30
+
;;
31
+
--skip-os-check)
32
+
SKIP_OS_CHECK=true
33
+
;;
34
+
-h|--help)
35
+
print_help
36
+
exit 0
37
+
;;
38
+
*)
39
+
UNKNOWN_ARGS+=("$arg")
40
+
;;
41
+
esac
42
+
done
43
+
44
+
# If unknown arguments were passed, warn and show help
45
+
if [[ ${#UNKNOWN_ARGS[@]}-gt 0 ]];then
46
+
echo"Unknown argument(s): ${UNKNOWN_ARGS[*]}"
47
+
echo
48
+
print_help
49
+
exit 1
50
+
fi
51
+
11
52
# Check let the user confirm that they read the license agreement on the basler website and agree with it.
12
53
echo"You need to confirm that you read the license agreements for pylon $PYLON_VERSION on the basler download page (https://www.baslerweb.com/en/downloads/software-downloads/) and agree with it."
13
-
14
-
# Check --ci flag for automatic confirmation in the ci
15
-
if [[ $1=="--ci" ]];then
16
-
echo"Running in a CI environment, continuing..."
17
-
SHOW_PROGRESS=""
18
-
else
19
-
# Ask the user if they want to continue and break if they don't
54
+
# If not running in CI, ask the user to confirm license agreement
55
+
if [[ "$CI"!=true ]];then
20
56
read -p "Do you want to continue? [y/N] " -n 1 -r
21
-
57
+
echo
22
58
if [[ !$REPLY=~ ^[Yy]$ ]];then
23
59
echo"Aborting..."
24
60
exit 1
25
61
fi
26
-
SHOW_PROGRESS="--show-progress"
27
62
fi
28
63
64
+
check_os_is_required_ubuntu_version () {
65
+
# Check if the OS is ubuntu
66
+
echo"Checking for compatible OS..."
67
+
if [[ "$(lsb_release -is)"!="Ubuntu" ]];then
68
+
echo"This driver package only supports Ubuntu (and some Debian derivatives)."
69
+
echo"Please install Ubuntu >= 18.04 and try again OR try it on a compatible Debian derivative with --skip-os-check."
70
+
exit 1
71
+
fi
72
+
}
73
+
29
74
check_internet_connection () {
30
75
# Check if we have an internet connection, except in the ci as azure does not support ping by design
echo"Pylon download url does not exist. Please check the url and update the 'PYLON_DOWNLOAD_URL' variable in the 'make_basler.sh' script. The website might have changed."
echo"Pylon download url does not exist. Please check the url and update the 'PYLON_DOWNLOAD_URL' variable in the 'make_basler.sh' script. The website might have changed."
0 commit comments