#Robulab started to learn LRP
The objective of this tutorial is to be able to create a behaviour for Robulab described using Live Robot Programming.
#Steps
- Follow the instructions to have Robulab working specified in this tutorial.
header: | |
seq: 4701 | |
stamp: | |
secs: 1415783655 | |
nsecs: 723046000 | |
frame_id: /map | |
pose: | |
position: | |
x: 0.000903615108368 | |
y: 0.000480354084245 |
--- | |
header: | |
seq: 22789 | |
stamp: | |
secs: 1415783691 | |
nsecs: 750999000 | |
frame_id: /odom | |
child_frame_id: /base_link | |
pose: | |
pose: |
--- | |
header: | |
seq: 3470 | |
stamp: | |
secs: 1415783617 | |
nsecs: 873047000 | |
frame_id: /laser | |
angle_min: -2.36492109299 | |
angle_max: 2.34746789932 | |
angle_increment: 0.0174532923847 |
(var stop := [0]) | |
(var robulab := [LrpharosPackage uniqueInstance]) | |
(var minDistance := [0.5]) | |
(var f_vel := [0.25]) | |
(var t_vel := [0.5]) | |
(machine SimpleAvoid2 | |
(state forward | |
(onentry [robulab value forward: f_vel value]) | |
) |
PhaROSPacket>>dump | |
| anEncoder stream | | |
type check: value. | |
stream := WriteStream on: (ByteArray new: (type dataTypeSizeFor: value ) + 4). "<<<<<" | |
anEncoder := PhaROSEncoder on: stream. | |
self encodePacketSize: (type dataTypeSizeFor: value) into: anEncoder. | |
type serialize: value into: anEncoder. |
#Robulab started to learn LRP
The objective of this tutorial is to be able to create a behaviour for Robulab described using Live Robot Programming.
#Steps
<launch > | |
<node name="smoother_by_pass" type="relay" args=" /raw_command_velocity /command_velocity " pkg="topic_tools" respawn="true" /> | |
<node name="pose_relay" type="relay" args=" /kompai2/pose /pose " pkg="topic_tools" respawn="true" /> | |
<node name="scan_relay" type="relay" args=" /kompai/scan /scan " pkg="topic_tools" respawn="true" /> | |
<node name="tf_out_relay" type="relay" args=" /pharos/out/tf /tf " pkg="topic_tools" respawn="true" /> | |
<node name="tf_in_relay" type="relay" args=" /tf /pharos/in/tf " pkg="topic_tools" respawn="true" /> | |
<node name="base_links_to_laser" type="static_transform_publisher" args=" 0 0 0 0 0 0 /base_link /laser 100" pkg="tf" respawn="true" /> | |
<node name="odom_to_base_links" type="static_transform_publisher" args=" 0 0 0 0 0 0 /odom /base_link 100" pkg="tf" respawn="true" /> | |
</launch> |
CairePackage>>scriptExplorationMaster | |
process:= PhaROSSystemLauncher instance launch: [: spec | | |
spec gmapping. | |
spec moveBase. | |
spec exploreNode. | |
spec rviz. | |
]. |
roslaunch -v /tmp/generated-launch2.launch... logging to /home/turtlebot/.ros/log/b070455c-2a28-11e4-9567-2880230463ef/roslaunch-achao-29079.log | |
Checking log directory for disk usage. This may take awhile. | |
Press Ctrl-C to interrupt | |
Done checking log file disk usage. Usage is <1GB. | |
... loading XML file [/opt/ros/indigo/etc/ros/roscore.xml] | |
... executing command param [rosversion roslaunch] | |
Added parameter [/rosversion] | |
... executing command param [rosversion -d] | |
Added parameter [/rosdistro] |
#Testing Robulab
In this tutorial we will make basic tests to assert that both the robulab robot and the laptop are configured correctly.
We will consider as well configured if we can start a PhaROS node that handle robulab robot, so we can publish motion messages through rostopic pub
command and make it to move.
.bashrc
file you should look like this: