ROS
Contents
Robot Operating System
At the time this page primarily exists to jog my memory of specific commands and resources as I drink from the initial fire hose of learning ROS. I'm staring my learning with debian 9 stretch on an HP tx2000 notebook with a full desktop install of ROS lunar. And a partial install on a BeagleBone Blue.
In the following lunar is an HP tx2000 notebook, bluemoon is the BBBlue.
Resources
shell commands
* jeffa@lunar:~$ export ROS_MASTER_URI=http://lunar:11311
* jeffa@lunar:~$ source ~/catkin_ws/devel/setup.bash
* jeffa@lunar:~$ rosrun roscpp_tutorials listener
* jeffa@lunar:~$ rosrun roscpp_tutorials talker
* jeffa@lunar:~$ roscd roscpp_tutorials
turtlesim
jeffa@lunar$ rosrun turtlesim turtle_teleop_key
Guides
- [Handy setup guide] for eclipse.
gazebo key_teleop rover
using keyboard to control the robot in gazebo. answers.ros.org
jeffa@bluemoon:~$ export ROS_MASTER_URI=http://lunar:11311
jeffa@bluemoon:~$ rosrun key_teleop key_teleop.py key_vel:=cmd_vel
jeffa@lunar:~$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
http://answers.ros.org/question/206490/how-can-i-control-my-gazebo-model-using-keyboard/
Tutorial: Using Gazebo plugins with ROS
http://wiki.ros.org/teleop_tools
https://github.com/ros-controls/control_msgs
ros-teleop/teleop_twist_keyboard
jeffa@lunar:~$ export HUSKY_GAZEBO_DESCRIPTION=$(rospack find husky_gazebo)/urdf/description.gazebo.xacro
jeffa@lunar:~$ roslaunch husky_gazebo husky_empty_world.launch
...
jeffa@lunar:~$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
jeffa@lunar:~$ rosservice list
jeffa@lunar:~$ rosrun controller_manager controller_manager list-types
jeffa@lunar:~$ less ~/git/husky/husky_gazebo/launch/husky_empty_world.launch
jeffa@lunar:~/.gazebo$ less ~/git/husky/husky_gazebo/launch/husky_empty_world.launch
<launch>
<arg name="world_name" default="worlds/empty.world"/>
<arg name="laser_enabled" default="true"/>
<arg name="kinect_enabled" default="false"/>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(arg world_name)"/> <!-- world_name is wrt GAZEBO_RESOURCE_PATH environment variable -->
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
</include>
<include file="$(find husky_gazebo)/launch/spawn_husky.launch">
<arg name="laser_enabled" value="$(arg laser_enabled)"/>
<arg name="kinect_enabled" value="$(arg kinect_enabled)"/>
</include>
</launch>
Gazebo
After many days and endless searches I may have found El Dorado Well El Dorado for ROS; Connect to ROS in Gazebo Tutorials