Web version: https://hackmd.io/@cocobird231/BkmIsPa5n
Updated: 2024/04/26
The package installer for sensor depends on NVIDIA Jetson.
System requirements:
Now supported sensor types:
jetson_sensors
Under Home Path)Run the pre-install script get-jetson-sensors-install.sh
to grab git controlled directory (renamed as jetson_sensors
). Make sure Jetson is connected to the internet before installation start.
curl -fsSL ftp://61.220.23.239/rv-12/get-jetson-sensors-install.sh | bash
The new directory jetson_sensors
will be created under $HOME
.
The static_ip
option not support yet. Always set to dhcp
or ignore it.
install.sh
under jetson_sensors
to install package for selected module.
โโโโ. ~/jetson_sensors/install.sh
$HOME/ros2_ws
.$HOME/ros2_ws
.Effects After Installation
$HOME/jetson_sensors
run.sh.tmp
.modulename
(selected module pack name).moduleinterface
(interface setting).modulename
(IP setting)ros2_startup.desktop.tmp
(may be deleted)common.yaml
(linked to module package under ROS2 workspace)service.json
(linked to module package under ROS2 workspace)$HOME/ros2_ws
build
install
log
src
/etc/xdg/autostart/ros2_startup.desktop
(startup file)install_dependencies.sh
install.sh
under jetson_sensors
directory and enter u
for update process.
โโโโ. install.sh
โโโโ
โโโโ# Enter 'u' for update process
codePack
under jetson_sensors
by pulling repositories from git server.install.sh
under jetson_sensors
directory and enter r
for package remove process.
โโโโ. install.sh
โโโโ
โโโโ# Enter 'r' for update process
The files which describes under Effects After Installation section will be removed except the files installed from install_dependencies.sh
.
Settings may be varient in different sensors, but there are some common parameters need to be changed:
generic_prop
tag)generic_prop
tag)1
but 1.0
)Modify the settings under $HOME/jetson_sensors/common.yaml
and reboot device.
The install.sh
now supported parser installation. (2023/07/25)
The package installation, updating and removal functions can be done by adding some arguments while running install.sh
.
. install.sh [[-i|--install] <package_name>] [--interface <network_interface>] [--ip [<static_ip>|dhcp]] [-rm|--remove] [-u|--update] [-p|--preserve]
-i|--install
: install specific package from codePack to ROS2 workspace.-rm|--remove
: remove installed packages and environment settings.-u|--update
: update codePack without install packages.-p|--preserve
: preserve common.yaml
file during installation.--interface
: determine the network interface during installation.--ip
: determine the network ip during installation.auto
, the process will automatically detect current installed module settings, then install the packages.eth0
or wlan0
.ip/mask
, e.g. 192.168.1.10/16
.The three commands -i
, -u
and -rm
can be work independently. The priority order of the three commands from high to low are: -rm
> -u
> -i
. That is, if three commands exists at the same time, the process will be:
The flag -p
tells the installer to keep old common.yaml
file. If -p
set but -i
not set, the -p
will be ignored. If -p
set but the common.yaml
file not found, the preservation will be ignored.
The --interface
determines the network interface for network detection or internet detection while installed program startup. The --interface
will be ignored if -i
not set. The --interface
is not necessary and will be set to default eth0
.
The --ip
currently not support and will always set to dhcp
. The --ip
is not necessary and will be set to default dhcp
.
The default value of the variables describes as following:
package_name
: NONE
network_interface
: eth0
static_ip
: NONE
The package_name
is necessary if -i
set. The valid name of package_name
were shown under codePack. If the package had installed before, set package_name
to auto
is valid for process to auto detect the package name.
If package_name
set to auto
, the process will ignored --interface
and --ip
settings.
The network_interface
is necessary if --interface
set. The network_interface
do not have any valid check mechanism, be careful of the mistyping.
The static_ip
is necessary if --ip
not set to dhcp
. The static_ip
currently not support.
โโโโ. install.sh -i <package_name> [--interface <network_interface>] [--ip [<static_ip> | dhcp]]
โโโโ. install.sh -u
โโโโ. install.sh -i <package_name> [--interface <network_interface>] [--ip [<static_ip> | dhcp]] -u
common.yaml
โโโโ. install.sh -u -i auto -p
โโโโ. install.sh -rm
โโโโ. install.sh -rm -u -i <package_name> [--interface <network_interface>] [--ip [<static_ip> | dhcp]]