The finite state machine and related packages.
This assumes you have already followed the tutorial to create a workspace
with rosbuild selected, replacing all instances of "fuerte" with "hydro":
http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment
libfreenect-dev ros-hydro-serial (add as discovered)
ros-hydro-libfreenect* (Need the non-ROS libfreenect since the ROS version has a different header)
-
roscd
-
Clone the repository
ssh: git clone git@github.com:IllinoisRoboticsInSpace/IRIS_V_control.git
https: git clone https://github.com/IllinoisRoboticsInSpace/IRIS_V_control.git
-
rosws set IRIS_V_control
-
source setup.bash
-
roscd
-
source setup.bash
(needed if you just pulled from the repo or added packages) -
cd IRIS_V_control
-
rosbuild:
rosmake <package name>
-
roscd
-
cd IRIS_V_control
-
Follow the rosbuild package creation tutorial at:
http://wiki.ros.org/ROS/Tutorials/CreatingPackage
-
Make sure that your
/etc/hosts
file on the control laptop has an entry in the format <br ><odroid IP address> odroid-desktop
-
Make sure that the odroid
/etc/hosts
file has an entry in the form <br ><control laptop IP address> <control laptop name>
-
Make sure XBOX controller is plugged into control laptop
Note: First two steps may not be necessary, but I had some issues, so might as well do it to be safe.
-
ping odroid-desktop
(make sure you can communicate with the odroid) -
In a terminal:
ssh odroid@odroid-desktop
-
roscd
-
cd IRIS_V_control
Note: Make sure the arduino is plugged into the odroid if you want to talk to motors. If you are using the arduino, also make sure the "use_serial" parameter is set to "True" in the "odroid_control.launch" file. If you want to test everything without actual serial communication, set that parameter to "False"
-
roslaunch launch/odroid_control.launch
-
In another termal tab:
export ROS_MASTER_URI=http://odroid-desktop:11311
-
Check that you can see topics from odroid:
rostopic echo /IRIS/FSM_trigger
<br> You should be getting a "data: False" message every half second. If not, something is wrong with the network setup. If you're getting it, then kill the echo (Ctrl+c
) -
roscd
-
cd IRIS_V_control
(basically make sure you're in the right folder for launch files) -
roslaunch launch/control_laptop.launch
Note: The steps telling you to export ROS_MASTER are optional for running the code, but if you will want to echo any of the topics it becomes necessary.
-
Make sure the XBOX controller is plugged into the control laptop
-
Make sure the arduino is plugged into the control laptop if you want to talk to motors. If you are using the arduino, also make sure the "use_serial" parameter is set to "True" in the "odroid_control.launch" file. If you want to test everything without actual serial communication, set that parameter to "False"
-
export ROS_MASTER_URI=http://localhost:11311
-
roscd
-
cd IRIS_V_control
-
roslaunch launch/odroid_control.launch
-
In a new terminal (and make sure it is in the IRIS_V_control folder) <br >
export ROS_MASTER_URI=http://localhost:11311
-
roslaunch launch/control_laptop.launch
Messages containing data necessary for finite state machine to operate effectively. Includes descriptions of current and desired robot status.
Stuff needed to utilize the Xbox controller for manual control.
Provides robot state control based on the robot's status and what actions need to be taken to effectively complete the mission.
Passes odometry and goal data from the IRIS control scheme to the navigation stack.
Serial communication with the Arduino to send control commands to the EM components and get feedback and localization data.
Code to utilize the Kinect to detect obstacles in the arena and convert this data to a point cloud that can be utilized by move_base.
Not technically a package. Has the launch files to launch all ROS nodes on the robot and control laptop for control and navigation purposes. Also all parameter files needed.