Skip to content

Cheatsheet

Darko Lukić edited this page Apr 15, 2022 · 27 revisions

ROS

Stack

ros2 launch mep3_bringup robot_launch.py color:=purple namespace:=big bt:=false nav:=false regulator:=false strategy:=first_strategy

While testing there is no need to run the whole ROS stack, it is safer and faster. For example, if you are testing the motion then you can turn off the behavior tree (bt:=false). Or, if you are testing a strategy with servos only then you don't need the navigation (nav:=false regulator:=false).

Strategy

Mounting the strategy folder is probably the easiest approach to change a strategy:

nautilus sftp://[email protected]/home/ubuntu/ros2_ws/src/mep3/mep3_behavior_tree/assets/strategies

The command should open Nautilus (a file explorer) with all available strategies. To execute the strategy run the robot_launch.py file (ros2 launch mep3_bringup robot_launch.py strategy:=first_strategy ...).

Run the Strategy Executor Standalone

Given that the strategy executor is a standalone node and the ROS' distributed nature (ROS 2 allows nodes to interact anywhere on a network) we can start the strategy executor independently:

ros2 run mep3_behavior_tree mep3_behavior_tree first_strategy --ros-args -r __ns:=/big

This should significantly speed up the development process, especially considering that you can start the strategy outside of Raspberry Pi, for example on your PC. Note that you have to start the rest of the ROS stack without the strategy executor on the Raspberry Pi:

ros2 launch mep3_bringup robot_launch.py bt:=false ...

Linux

SSH with Hostname

sudo apt install avahi-discover

Change Hostname

sudo hostnamectl set-hostname $NEW_HOSTNAME
hostnamectl

Manage Users

sudo useradd --create-home $NEW_USERNAME
sudo passwd $NEW_USERNAME

Configure WiFi

sudo vim /etc/netplan/*.yaml
sudo netplan apply

Authentification

You don't need a password to login into a Raspberry Pi, you can use a public-private key pair. Append the content of the ~/.ssh/id_rsa.pub file (host) to the ~/.ssh/authorized_keys file (Raspberry Pi).