- Turtlebot Autonomy
- If you want to have the turtlebot run independent of the laptop, you need to run the ROS master on the turtlebot Raspberry Pi. One way to start would be to return to the initial turtlebot setup in Assignment 4: Networking, Turtlebot Setup, Waypoint Navigation (19-3) and switch network setup so that the ROS master is associated with the Raspberry Pi IP address.
- MultiMaster is a method for coordinating the ROS system when there are more then one ROS master on the network. The multimaster_fkie is a good implementation that we've used previously in the course (see Assignment 6: Callbacks, Multimaster and Multiple (N=2) Robots (17-3) for an example of setting up multimaster with Pioneer robots). Setting this up on turtlebot(s) would be a nice contribution.
- Simulink deployed on Turtlebot. So far we have been developing in a prototype scenario where we run Simulink on an offboard laptop. It may be possible to compile the Simulink program to be deployed on the Turtlebot Raspberry Pi.
- The Mathworks provides an example, Generate a Standalone ROS Node from Simulink.
- A similar video example from Mathworks mentions deploying to a Raspberry Pi https://www.mathworks.com/videos/matlab-and-simulink-robotics-arena-deploying-algorithms-to-ros-1510659362460.html
- We are starting to document some examples internally at NPS here Standalone ROS Nodes from MATLAB/Simulink
- Strings in ROS Messages with Simulink
For example, if you want to send a goal to the move_base node via the move_base_simple/goal topic, you need to publish a geometry_msgs/PoseStamped message. Part of that message is the
frame_idstring. The Mathworks provides a good tutorial for doing this: Work with ROS Messages in Simulink.
- Running move_base on multiple robots can be challenging. You need to work out both the tf frames (unique frames) and namespaces. Here is an example of doing this: https://github.com/ferherranz/multi_robot_stage/blob/master/launch/navigation.launch
- See working example Multirobot move_base
- Setting Logging Level : Describes how to change the verbosity of the output of a ROS node. In particular how to turn on the debugging messages to help fix a problem.