Difference between revisions of "ROS"
|  (More formatting.) | m (→Gazebo) | ||
| (16 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
| I'm staring my learning with debian 9 stretch on an HP tx2000 notebook with a full desktop install of [http://www.ros.org/ ROS] lunar. And a partial install on a [https://beagleboard.org/blue BeagleBone Blue]. | I'm staring my learning with debian 9 stretch on an HP tx2000 notebook with a full desktop install of [http://www.ros.org/ ROS] lunar. And a partial install on a [https://beagleboard.org/blue BeagleBone Blue]. | ||
| }} | }} | ||
| + | |||
| + | In the following lunar is an HP tx2000 notebook, bluemoon is the BBBlue. | ||
| ==Resources== | ==Resources== | ||
| ===shell commands=== | ===shell commands=== | ||
| Line 12: | Line 14: | ||
| * jeffa@lunar:~$ rosrun roscpp_tutorials  talker | * jeffa@lunar:~$ rosrun roscpp_tutorials  talker | ||
| * jeffa@lunar:~$ roscd roscpp_tutorials | * jeffa@lunar:~$ roscd roscpp_tutorials | ||
| + | </source> | ||
| + | ===turtlesim=== | ||
| + | <source lang="bash"> | ||
| + | jeffa@lunar:~$ rosrun turtlesim turtlesim_node | ||
| + | jeffa@lunar$ rosrun turtlesim turtle_teleop_key | ||
| + | |||
| + | jeffa@bluemoon:~$ export ROS_MASTER_URI=http://lunar:11311 | ||
| + | jeffa@bluemoon$ rosrun turtlesim turtle_teleop_key | ||
| </source> | </source> | ||
| ===Guides=== | ===Guides=== | ||
| * [[http://cs460.coins-lab.org/index.php?title=Eclipse Handy setup guide]] for eclipse. | * [[http://cs460.coins-lab.org/index.php?title=Eclipse Handy setup guide]] for eclipse. | ||
| + | |||
| + | ==gazebo key_teleop rover== | ||
| + | [http://answers.ros.org/question/231265/using-keyboard-to-control-the-robot-in-gazebo/ using keyboard to control the robot in gazebo.] answers.ros.org | ||
| + | <source lang="bash"> | ||
| + | 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 | ||
| + | |||
| + | </source> | ||
| + | |||
| + | http://answers.ros.org/question/206490/how-can-i-control-my-gazebo-model-using-keyboard/ | ||
| + | |||
| + | [http://gazebosim.org/tutorials?tut=ros_gzplugins Tutorial: Using Gazebo plugins with ROS] | ||
| + | |||
| + | http://wiki.ros.org/teleop_tools | ||
| + | |||
| + | https://github.com/ros-controls/control_msgs | ||
| + | |||
| + | [https://github.com/ros-teleop/teleop_twist_keyboard ros-teleop/teleop_twist_keyboard] | ||
| + | |||
| + | <source lang="bash"> | ||
| + | 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 | ||
| + | |||
| + | </source> | ||
| + | |||
| + | jeffa@lunar:~/.gazebo$ less ~/git/husky/husky_gazebo/launch/husky_empty_world.launch | ||
| + | |||
| + | <source lang="bash"> | ||
| + | <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> | ||
| + | </source> | ||
| + | |||
| + | ==Gazebo== | ||
| + | After many days and endless searches I may have found [https://en.wikipedia.org/wiki/El_Dorado El Dorado] Well El Dorado for ROS; [http://gazebosim.org/tutorials?cat=connect_ros Connect to ROS] in Gazebo Tutorials | ||
| + | |||
| + | http://gazebosim.org/tutorials?tut=ros_overview | ||
| + | |||
| + | <source lang="bash"> | ||
| + | rosrun gazebo_ros gazebo | ||
| + | rosrun gazebo_ros gzserver | ||
| + | rosrun gazebo_ros gzclient | ||
| + | rosrun gazebo_ros spawn_model | ||
| + | rosrun gazebo_ros perf | ||
| + | rosrun gazebo_ros debug | ||
| + | </source> | ||
| + | |||
| + | ===Husky=== | ||
| + | <source lang="bash"> | ||
| + | jeffa@lunar:~$ export HUSKY_GAZEBO_DESCRIPTION=$(rospack find husky_gazebo)/urdf/description.gazebo.xacro  | ||
| + | jeffa@lunar:~$ export GAZEBO_RESOURCE_PATH=/home/jeffa/git/gazebo_ros_pkgs/gazebo_plugins/test2/worlds/ | ||
| + | jeffa@lunar:~$ source ~/catkin_ws/devel/setup.bash | ||
| + | jeffa@lunar:~$ roslaunch husky_gazebo husky_empty_world.launch | ||
| + | |||
| + | |||
| + | jeffa@lunar:~$ gedit `(find ./ -name husky_empty_world.launch)` | ||
| + | jeffa@lunar:~$ rosrun controller_manager controller_manager list-types | ||
| + | jeffa@lunar:~$ rosrun gazebo_ros debug | ||
| + | |||
| + | |||
| + | </source> | ||
Latest revision as of 21:48, 5 June 2017
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 turtlesim_node
jeffa@lunar$ rosrun turtlesim turtle_teleop_key
jeffa@bluemoon:~$ export ROS_MASTER_URI=http://lunar:11311
jeffa@bluemoon$ 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
http://gazebosim.org/tutorials?tut=ros_overview
rosrun gazebo_ros gazebo
rosrun gazebo_ros gzserver
rosrun gazebo_ros gzclient
rosrun gazebo_ros spawn_model
rosrun gazebo_ros perf
rosrun gazebo_ros debug
Husky
jeffa@lunar:~$ export HUSKY_GAZEBO_DESCRIPTION=$(rospack find husky_gazebo)/urdf/description.gazebo.xacro 
jeffa@lunar:~$ export GAZEBO_RESOURCE_PATH=/home/jeffa/git/gazebo_ros_pkgs/gazebo_plugins/test2/worlds/
jeffa@lunar:~$ source ~/catkin_ws/devel/setup.bash
jeffa@lunar:~$ roslaunch husky_gazebo husky_empty_world.launch
jeffa@lunar:~$ gedit `(find ./ -name husky_empty_world.launch)`
jeffa@lunar:~$ rosrun controller_manager controller_manager list-types
jeffa@lunar:~$ rosrun gazebo_ros debug

