Tutorials on ROS/SkiROS
skiros2_examples give some basic introduction to SkiROS (https://github.com/rvmi/skiros2_examples). Clone into catkin_ws /src folder (same level as the “skills” folder). Also check the SkiROS wiki page `https://github.com/RVMI/skiros2/wiki/`
For GUI analytics, `http://wiki.ros.org/rqt` is highly recommended.
In order to make any changes to skills related to driving, navigation and localization, transformation frames are good to know about (e.g. http://wiki.ros.org/tf2)
For ROS beginners there are many highly pedagogic tutorials at https://www.theconstructsim.com/. For example, they have a whole course on navigation/localization.
Some bashrc tips for heron_workspace_setup
Pimp history
Add this to your .bashrc
:
export HISTTIMEFORMAT=“%h %d %H:%M:%S ”
export HISTSIZE=10000
export HISTFILESIZE=10000
export HISTIGNORE=“ls:ps:history”
shopt -s histappend
PROMPT_COMMAND=“history -a;$PROMPT_COMMAND”
ROS Configuration
Add this to your .bashrc
:
export ROS_WS=~/Workspaces/heron_ws
source $ROS_WS/devel/setup.bash
alias src='cd $ROS_WS/src'
export CURRENT_CMAKE_BUILD_DIR=“$(catkin locate –workspace $ROS_WS –build)”
function print_ros_variables () {
echo “ROS_MASTER_URI: ” $ROS_MASTER_URI
echo “ROS_HOSTNAME: ” $ROS_HOSTNAME
echo “ROS_IP: ” $ROS_IP
echo “ROS Workspace: ” $ROS_WS
echo “rosinstall file: ” `test -f $ROS_WS/src/.rosinstall.conf && cat $ROS_WS/src/.rosinstall.conf`
}
print_ros_variables
Configure Master Way 1 - Static
Add this to your .bashrc
:
export ROS_IP=192.168.100.5
export ROS_MASTER_URI='http://$ROS_IP:11311'
Configure Master Way 2 - Flexible
Add this to your .bashrc
:
alias ros_master_local=“export ROS_MASTER_URI='http://127.0.0.1:11311' && export ROS_IP='127.0.0.1' && unset ROS_HOSTNAME &&
print_ros_variables”
alias ros_master_remote=“export ROS_MASTER_URI='http://192.168.100.5:11311' && export ROS_IP='192.168.100.10' && unset ROS_HOSTNAME && print_ros_variables”
ros_master_local
Resource .bashrc
Add this to your .bashrc
:
alias resource=“source ~/.bashrc”
Automatically open a tmux session when connecting through ssh
Add this to your .bashrc
:
if -z "$TMUX" && [ “$SSH_CONNECTION” != “” ]; then
tmux attach-session -t ssh_tmux || tmux new-session -s ssh_tmux
fi
Add SSH keys to a keyring for multiple shells
This frees you from typing the password of your ssh key every time.
Install the `keychain` package.
eval `keychain –agents ssh –timeout 60 –eval id_rsa`
ROS Best Practices
* [ROS Best Practice Collection](https://github.com/leggedrobotics/ros_best_practices/wiki)