2011/2/21 Markus Klotzbuecher : > Dear List, > > I just gave roslua a try and its working quite nicely. One smaller > problem I noticed is when printing some array types: > > $ lua -lroslua > Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio >> twist = roslua.get_msgspec("geometry_msgs/Twist") >> t=twist:instantiate() >> t:print() > geometry_msgs/Twist > /home/mk/src/git/lua/roslua/src/roslua/msg_spec.lua:53: attempt to call method 'find' (a nil value) > stack traceback: >      /home/mk/src/git/lua/roslua/src/roslua/msg_spec.lua:53: in function 'is_array_type' >      /home/mk/src/git/lua/roslua/src/roslua/message.lua:259: in function 'print_value' >      /home/mk/src/git/lua/roslua/src/roslua/message.lua:285: in function 'print' >      stdin:1: in main chunk >      [C]: ? >> > > Secondly I wondered if there is a more compact way to create messages > which contain submessages. For instance to create and fill a > "geometry_msgs/Twist" I did the following: > > local Vector3=roslua.get_msgspec("geometry_msgs/Vector3") > > local m = p.msgspec:instantiate() -- geometry_msgs/Twist message > local vec3lin = Vector3:instantiate() > local vec3ang = Vector3:instantiate() > > vec3lin.values.x=x > vec3lin.values.y=y > vec3lin.values.z=z > vec3ang.values.x=xang > vec3ang.values.y=yang > vec3ang.values.z=zang > > m.values.linear = vec3lin > m.values.angular = vec3ang > > > Before that I tried > > m.values.linear.x = x > m.values.linear.y = y > ... > > but this didn't work. What is the 'values' for? How about m.linear.x = x m.linear.y = y ? Steven > > Thanks in advance! > >   Markus > > > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users >