Skip to content

New Robot: Install and setup

Xu Liu edited this page Sep 28, 2022 · 30 revisions

Setup the ground station:

On the ground station (a PC you use to send commands, waypoints, etc., to robot), set up the "client" module, you can either:

Build from source

Using docker

Setup the robot:

Building and installing the autonomy stack:

Build from source

Using docker

Building additional packages

Remove the existing ouster_example that is cloned by external_all.yaml:

rm -rf ~/catkin_ws/src/kr_autonomous_flight/ouster_example
cd ~/catkin_ws/src/kr_autonomous_flight
rm -r ouster_example
vcs import < external_real_robot.yaml
vcs pull
cd ../..

Troubleshooting: For any fmt or absl related issues, (re)install fmt (here) or abseil-cpp (here) but remember to use: cmake .. -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE. Good explanation on this can be found here and here.

  1. Build your code again
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build

Important parameter files you should modify according to your purpose:

~/catkin_ws/src/kr_autonomous_flight/autonomy_core/control/control_launch/config/tracker_params_mp.yaml

~/catkin_ws/src/kr_autonomous_flight/autonomy_core/map_plan/map_plan_launch/config/mapper.yaml

~/catkin_ws/src/kr_autonomous_flight/autonomy_real/real_experiment_launch/launch/full_autonomy.launch (refer to ~/catkin_ws/src/kr_autonomous_flight/autonomy_sim/gazebo_sim/gazebo_utils/launch/full_sim.launch for explanation on related parameters)

Communication and ROS master setup:

Set up the robot as the ROS master, this is very important if your robot is going to lost communication with the ground station at some point.

Set up the communication without a PicoStation: the robot's wifi card needs to be configured as an access point (sending out a hotspot), and connect your ground station to that network. If you do it the other way around, once the communication is lost, the ROS master will be killed.

Set up the communication using a PicoStation: this document should be helpful.

Clone this wiki locally