This package contains two simple examples to interface custom ROS nodes for autonomous control: one using Python - nodes/python_ros_node_template.py
- and one using C++ - nodes/cpp_ros_node_template.py
. Both nodes have associated launch files under the launch/
directory.
To install this package, make sure that you follow the Astrobee Installation Guide for building the code natively.
Assuming your catkin workspace is set at ~/catkin_ws
, then
cd ~/catkin_ws
git clone https://github.com/Pedro-Roque/astrobee_ros_demo.git src/astrobee_ros_demo
catkin build
source devel/setup.bash
NOTE: If the package python-catkin-tools
is not installed, replace catkin build
with catkin_make
.
Once the installation is done, a simple example can be run with either the cpp_template_interface.launch
or python_template_interface.launch
. To this end, make sure that you have the most up-to-date version of the Astrobee Simulator.
roslaunch astrobee_ros_demo astrobee_sim.launch
roslaunch astrobee_ros_demo python_template_interface.launch
rostopic pub /honey/mgt/sys_monitor/state ff_msgs/FaultState '{state: 0}'
rosservice call /honey/start "data: true"
At this point, the template node output should show "Elapsed time: 0" as a ROS Info message, since there is no control input being generated.
This package serves as a template for those looking to use the Astrobee for autonomous operations. Your controllers can be included directly on the templated code, by modifying the variables self.u_traj in Python or controlinput in C++. This can be accomplished either by
A list of packages interfacing with Astrobee similarly are:
Contributions to this repository to include more functionality are welcome, as long as they follow these guidelines:
E501
as long as each line is not over 120 characters and W503
)A special thanks goes for Brian Coltin (@bcoltin) and Rubén Ruiz (@rgarciaruiz), as well as to all the Astrobee Ops team, for their support in-view of the MPP ReSWARM test sessions and Astrobee Flight Software. A special thanks also to Prof. Rodrigo Ventura for the long-time cooperation that led to this, and to Prof. Dimos Dimarogonas for the continued support and supervision. This package was built based-off contributions from Bryce Doerr, Keenan Albee, Monica Ekal, and Pedro Roque.