Note: This assumes that you have installed nxt using the instructions at nxt/Installation. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Assisted Teleop Video Demo
Description: This is the demo shown in the announcement video.Keywords: nxt assisted teleop
Tutorial Level: INTERMEDIATE
Contents
This assumes that you have installed nxt using the instructions at nxt/Installation
Build
rosmake nxt nxt_apps nxt_robots
Run the robot
Having built the sensor car.
In terminal 1:
roslaunch nxt_robot_sensor_car robot.launch
In terminal 2:
roslaunch nxt_assisted_teleop assisted_teleop.launch
This launch file uses joy_node so that the robot can be operated with a joystick. If you would like to use the keyboard for operating the robot, you can simply replace these lines in assisted_teleop.launch:
<!-- joy node --> <node respawn="true" pkg="joy" type="joy_node" name="nxt_joy" > <param name="dev" type="string" value="/dev/input/js0" /> <param name="deadzone" value="0.12" /> <param name="autorepeat_rate" value="10.0" /> </node> <!-- teleop node --> <node pkg="nxt_teleop" type="nxt_teleop_joy" name="nxt_teleop" output="screen"> <param name="axis_linear" value="3" type="int"/> <param name="axis_angular" value="0" type="int"/> <param name="axis_deadman" value="4" type="int"/> <param name="scale_linear" value="1" type="double"/> <param name="scale_angular" value="1" type="double"/> <remap from="cmd_vel" to="teleop_cmd_vel"/> </node>
with these lines:
<!-- keyboard teleop node --> <node pkg="nxt_teleop" type="nxt_teleop_key" name="nxt_teleop" output="screen"> <param name="scale_linear" value="1" type="double"/> <param name="scale_angular" value="1" type="double"/> <remap from="cmd_vel" to="teleop_cmd_vel"/> </node>
In terminal 3:
rosrun rviz rviz
In rviz do the following:
- Enable nxt_rviz_plugins in the plugin menu.
- Add NTXUltrasonicDisplay and set its topic to "/ultrasonic_sensor"
In "Global Options" set the "Fixed Frame" to '/odom_combined" and "Target Frame" to <Fixed Frame>
- Turn on the "Grid" display
- Add "Grid Cells" display and set its topic to "assisted_teleop/costmap/obstacles"
- Add "Grid Cells" display and set its topic to "assisted_teleop/costmap/inflated_obstacles". Change Color to, say blue.