-
Notifications
You must be signed in to change notification settings - Fork 19
ezrassor_launcher
The ezrassor_launcher
package contains no nodes. Instead, it provides a collection of launch files designed to launch any combination of other launch files, nodes, and/or components of the EZ-RASSOR system. Typically, launch files that only initialize nodes within a single EZ-RASSOR package are located in the same package as the nodes they initialize. Launch files that launch nodes from multiple EZ-RASSOR packages are located in this package.
This package also serves as the main interaction point for most end users: people who plan to install and run this software will usually only call these launch files. The launch files in this package are purposely more user-friendly as a consequence.
Note that many arguments in the following launch files default to "default". This means that the arguments defer to whatever the defaults happen to be in lower-level launch files, such as controller_server.launch
. Additionally, many arguments are not needed in different configurations. For example in the configurable_communication.launch
file, if control_methods
is set to only gamepad
then the port
argument is unnecessary.
This launch file initializes the EZ-RASSOR communication system, including all necessary nodes for autonomous control, mobile app control, and/or gamepad control. The control_methods
argument determines which of these subcomponents is initialized. All possible arguments are listed below:
control_methods
- A space-separated list of control methods. Five control types are supported:
app
,gamepad
,keyboard
,actions
, andautonomy
. port
- The port that the controller server listens on. Defaults to
default
. joystick
- The joystick number for the joystick that Joy listens to. Defaults to
default
. digsite_x_coord
- In autonomous mode, the x coordinate of the target digsite. Defaults to
default
. digsite_y_coord
- In autonomous mode, the y coordinate of the target digsite. Defaults to
default
. spawn_x_coords
- The x coordinate of the spawn point. Defaults to
default
. spawn_y_coords
- The y coordinate of the spawn point. Defaults to
default
. enable_real_odometry
- Enable real odometry over simulated odometry. This is useful for testing parts of the system not involving odometry directly or preventing errors in low-texture, simulated environments. Defaults to
default
. enable_park_ranger
- Enable Park Ranger (matching the surroundings of the robot to an overhead map) for absolute localization. Currently, Park Ranger is inaccurate, so enabling it will not actually affect the movement of the robot; instead, Park Ranger's estimate will be published to a topic. Defaults to
false
. world
- The world filename that the simulation loads. Defaults to
base
.
This launch file initializes the EZ-RASSOR simulation. It loads the world, spawns an arbitrary number of EZ-RASSOR models, and configures the communication system for each model. This is the most important launch file with regards to launching the simulation, and it serves as the foundation for any and all simulation configurations. All possible arguments are listed below:
control_methods
- A space-separated list of control methods. Five control types are supported:
app
,gamepad
,keyboard
,actions
, andautonomy
. These control methods apply to every model that is spawned. robot_count
- The number of models you wish to spawn. Defaults to
1
. ports
- The ports that the controller servers for the models listen on. If you spawn multiple models, you must specify different ports for each model, otherwise parts of the communication system will crash. If you spawn multiple models and do not set this argument, all controller servers will try to use the default port and they will crash. Defaults to
default
. joysticks
- The joystick numbers for the joysticks that the Joy nodes of each model listen to. If you spawn multiple models, you must specify different joysticks for each model, otherwise parts of the communication system will crash. If you spawn multiple models and do not set this argument, all Joy nodes will try to use the default joystick and they will crash. Defaults to
default
. spawn_x_coords
- The x coordinates for each model's spawn point. Defaults to
default
. spawn_y_coords
- The y coordinates for each model's spawn point. Defaults to
default
. spawn_z_coords
- The z coordinates for each model's spawn point. Defaults to
default
. digsite_x_coords
- In autonomous mode, the x coordinates of the target digsites for each model. Defaults to
default
. digsite_y_coords
- In autonomous mode, the y coordinates of the target digsites for each model. Defaults to
default
. world
- The world filename that the simulation loads. Defaults to
base
. debug
- Start
gzserver
in debug mode usinggdb
. Defaults tofalse
. paused
- Start the simulation paused. Defaults to
false
. verbose
- Show verbose information in the terminal. Defaults to
false
. show_gui
- Toggle whether the GUI is displayed or not. Defaults to
true
. recording
- Toggle Gazebo state log recording. Defaults to
false
. use_sim_time
- Use Gazebo-published simulation time over the ROS topic
/clock
for ROS nodes. Defaults totrue
. enable_real_odometry
- Enable real odometry over simulated odometry. This is useful for testing parts of the system not involving odometry directly or preventing errors in low-texture, simulated environments. Defaults to
default
. enable_park_ranger
- Enable Park Ranger (matching the surroundings of the robot to an overhead map) for absolute localization. Currently, Park Ranger is inaccurate, so enabling it will not actually affect the movement of the robot; instead, Park Ranger's estimate will be published to a topic. Defaults to
false
.
This launch file starts up BATTLE BOTS! Four robots, four apps, three minutes of PLAYTIME. Connect on ports 8080
, 8081
, 8082
, and 8083
.
This launch file starts up a demonstration of GPS-denied navigation in a moon environment. Odometry is used for localization starting from a known location, and obstacle detection and path planning are used to navigate the robot around an above-ground obstacle and a crater to arrive at the target location.
This launch file starts up a demonstration of obstacle detection in an environment that contains both a below-ground and above-ground obstacle. Use rviz to visualize the laser scans created for each type of obstacle.
This launch file starts up a demonstration of the Park Ranger component in a moon environment.
Contains simple, configured tutorials. Will eventually be the home for many of the other tutorials listed above. All possible arguments are listed below:
tutorial
- The tutorial to execute. Read the launch file to see a list of possible tutorials.
Launch the simulation with a single EZ-RASSOR, controllable via a gamepad:
roslaunch ezrassor_launcher configurable_simulation.launch \ control_methods:=gamepad
Launch the simulation with a single EZ-RASSOR that is controlled autonomously and/or with the mobile app (on port 8082):
roslaunch ezrassor_launcher configurable_simulation.launch \ control_methods:="autonomy app" \ ports:="8082"
Launch the simulation with three EZ-RASSORs operating autonomously. The EZ-RASSORs each have a different initial target digsite:
roslaunch ezrassor_launcher configurable_simulation.launch \ control_methods:=autonomy \ robot_count:=3 \ spawn_x_coords:="1 1.5 2" \ spawn_y_coords:="1 1.5 2" \ digsite_x_coords:="4 -8 12" \ digsite_y_coords:="-4 8 -12"
Launch the simulation with two EZ-RASSORs that is controlled autonomously and/or via gamepads. A few Gazebo options are also toggled:
roslaunch ezrassor_launcher configurable_simulation.launch \ control_methods:="gamepad autonomy" \ robot_count:=2 \ joysticks:="0 1" \ spawn_x_coords:="1 1 -1" \ spawn_y_coords:="1 -1 1" \ digsite_x_coords:="4 4 -4" \ digsite_y_coords:="4 -4 4" \ debug:=true \ verbose:=true \ use_sim_time:=false
Launch the communication system for a single robot that is controllable with all three methods:
roslaunch ezrassor_launcher configurable_communication.launch \ control_methods:="gamepad app autonomy" \ joystick:=1 \ port:=8083
Home
Architecture
Technologies
Blender Modeling Tips
ROS Actions
Privacy Policy
Non-ROS Software
└ EZ-RASSOR Controller
Communication Packages
├ ezrassor_controller_server
├ ezrassor_joy_translator
├ ezrassor_topic_switch
├ ezrassor_teleop_actions
└ ezrassor_keyboard_controller
Simulation Packages
├ ezrassor_sim_control
├ ezrassor_sim_description
└ ezrassor_sim_gazebo
Autonomy Packages
├ ezrassor_autonomous_control
└ ezrassor_swarm_control
Extra Packages
└ ezrassor_launcher