Giter Club home page Giter Club logo

rosaria's People

Contributors

arturoribes avatar christian-rauch avatar dawonn avatar dlobato avatar dmiklic avatar feroze avatar fspindle avatar imarkovic avatar jksrecko avatar jpiramirez avatar maxbader avatar mintar avatar mjschuster avatar ongun-kanat avatar reedhedges avatar skasperski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rosaria's Issues

Add trapdoor to robot firmware commands?

This would make a few occasional tasks quick and easy. (But would of course be potential for conflict with running clients using the "proper" command interfaces.)

RosAria ArRobot::myPacketReader: Timed out

i am working with Pioneer 3DX and using RosAria library to control the robot. The rosaria library was working fine. But suddenly today I encountered this problem and I am not able to solve. On running rosaria rode using 'rosrun rosaria RosAria' I face the following serial error. I have set full permissions for my serial port.

ramkumar@ramkumar-Inspiron-7720:~$ rosrun rosaria RosAria rosrun rosaria RosAria _port:=/dev/ttyUSB0
[ INFO] [1422207128.792943336]: RosAria: using port: [/dev/ttyUSB0]
Could not connect to simulator, connecting to robot through serial port /dev/ttyUSB0.
Syncing 0
Syncing 1
Syncing 2
Connected to robot.
Name: IIT-madras_3906
Type: Pioneer
Subtype: p3dx-sh
ArConfig: Config version: 2.0
Loaded robot parameters from p3dx-sh.p
ArRobotPacketReceiver::receivePacket: bad packet, bad checksum
ArRobotConnector: Connecting to MTX batteries (if neccesary)...
ArRobotConnector: Connecting to MTX sonar (if neccesary)...
[ INFO] [1422207129.572967595]: Setting TicksMM from ROS Parameter: 128
[ INFO] [1422207129.575718946]: Setting DriftFactor from ROS Parameter: 0
[ INFO] [1422207129.577907662]: Setting RevCount from ROS Parameter: 16570
ArRobot::myPacketReader: Timed out (4) at 1002 (200 into cycle after sleeping 200)
[ INFO] [1422207129.817593371]: RosAria: publishing new recharge state 0.
[ INFO] [1422207129.817769667]: RosAria: publishing new motors state 0.
ArRobot::myPacketReader: Timed out (4) at 1203 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 1404 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 1604 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 1804 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 2004 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 2205 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 2405 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 2605 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 2805 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 3006 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 3206 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 3406 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 3606 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 3807 (201 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 4007 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 4207 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 4407 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 4607 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 4808 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 5008 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 5208 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 5408 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 5609 (201 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 5809 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 6009 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 6209 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 6409 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 6610 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 6810 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 7010 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 7210 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 7411 (201 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 7611 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 7811 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 8011 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 8212 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 8412 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 8612 (200 into cycle after sleeping 200)
ArRobot::myPacketReader: Timed out (4) at 8812 (200 into cycle after sleeping 200)
Losing connection because no odometry received from robot in 8058 milliseconds (greater than the timeout of 8000).
ArSerialConnection::read: Connection invalid.

Please help

PowerBot Laser scan and point cloud mismatch

I'm using the most current update of RosAria on the PowerBot and I'm having an issue with the laser scan being offset by 90° as shown below. The red arrow is a pose message taken from the odometry topic and visualized by rviz. The odometry is correct as I've tested and verified it. The problem is that the laser scan is offset by 90° in the counterclockwise direction.

Something strange is going on with the laser scan. I've attempted to create a crude map by using the odom frame as the fixed frame and driving around with the laser scan decay time set to 600 seconds. What should happen is a map is built up from the laser scan data over time. What is actually happening is that when my robot translates the laser scan frame translates as well. This is also shown below.

rviz_laser_scan

The point cloud is working fine and is lined up as it should (shown below).

rviz_point_cloud

And the laser scan and point cloud visualized together for reference below. The colored dots are from the point cloud and the white dots are from the laser scan. As shown in the screen capture, the two frames are 90° apart.

rviz_laser_scan_and_point_cloud

The laser scan frame "dragged" during translation.

rviz_laser_scan_translation

Move command not working as explained

I want P3-DX to move 2000mm in forward direction. So, within rosaria.cpp in the following function I added one extra line within cmdvel_cb callback.

ArRobot robot;
void RosAriaNode::cmdvel_cb( const geometry_msgs::TwistConstPtr &msg)
{
robot->move(2000);
}

But the robot does not move in the same speed for 2000mm. Instead it moves much faster than commanded velocity and does not stop after 2000m. Can anybody point out the mistake that I am making?

thanks,

Memory Leaks

The objects created for Aria are never deleted resulting in significant memory leaks in the program, why are they not deleted in the destructor of the class?

  // Note, various objects are allocated here which are never deleted (freed), since Setup() is only supposed to be
  // called once per instance, and these objects need to persist until the process terminates.

  robot = new ArRobot();
  ArArgumentBuilder *args = new ArArgumentBuilder(); // never freed
  ArArgumentParser *argparser = new ArArgumentParser(args); // Warning never freed
  conn = new ArRobotConnector(argparser, robot); // warning never freed

Bad packet bad checksum

I got this error and I am not sure what packet 0x20 or 0x32 means. Is it a hardware issue? Any help is appreciated! Thank you!

[ INFO] [1625177470.016575528]: RosAria: set port: [/dev/ttyUSB0]
Connnecting to robot using TCP connection to localhost:8101...
Could not connect to simulator, connecting to robot through serial port /dev/ttyUSB0.
Syncing 0
Syncing 1
Syncing 2
Connected to robot.
Name: UNR_63
Type: Pioneer
Subtype: seekurjr
ArConfig: Config version: 2.0
Loaded robot parameters from /usr/local/Aria/params/seekurjr.p
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x20)
Robot Serial Number: SKRJ0063
ArRobotConnector: Connecting to MTX batteries (if neccesary)...
ArRobotConnector: Connecting to MTX sonar (if neccesary)...
[ INFO] [1625177471.122501187]: This robot's TicksMM parameter: 0
[ INFO] [1625177471.124512468]: This robot's DriftFactor parameter: 0
[ INFO] [1625177471.126114300]: This robot's RevCount parameter: 0
[ INFO] [1625177471.175764378]: rosaria: Setup complete
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
[ INFO] [1625177471.312259232]: RosAria: publishing new recharge state 0.
[ INFO] [1625177471.312405153]: RosAria: publishing new motors state 0.
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobot::myPacketReader: Timed out (4) at 7368 (200 into cycle after sleeping 200)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobot::myPacketReader: Timed out (4) at 12277 (200 into cycle after sleeping 200)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobotPacketReceiver::receivePacket: Warning: bad packet, bad checksum (received packet type ID 0x32)
ArRobot::myPacketReader: Timed out (4) at 17187 (200 into cycle after sleeping 200)

No such file Aria.h

I can not install this package.

I'm getting this error:

Scanning dependencies of target RosAria
[ 98%] Building CXX object rosaria/CMakeFiles/RosAria.dir/RosAria.cpp.o
/home/paulo/catkin_ws/src/rosaria/RosAria.cpp:6:25: fatal error: Aria/Aria.h: No such file or directory
#include <Aria/Aria.h>

Solutions?Thx so much.

unicode in the package.xm causes build failure

From dereck on March 22, 2013 02:08:47

Ubuntu 12.10 x86 - Groovy

I'm not sure why this happened on this machine, but catkin_make barfed on unicode in the package.xml..... but it compiles fine on another machine, the ony difference that I'm aware of is that the other machine is 64bit and this one is 32 bit....

It compiled fine when I removed the unicode from the file, (maintainer names)

Traceback (most recent call last):
File "/opt/ros/groovy/share/catkin/cmake/parse_package_xml.py", line 87, in
main()
File "/opt/ros/groovy/share/catkin/cmake/parse_package_xml.py", line 81, in main
lines = _get_output(package)
File "/opt/ros/groovy/share/catkin/cmake/parse_package_xml.py", line 55, in _get_output
values['MAINTAINER'] = '"%s"' % (', '.join([str(m) for m in package.maintainers]))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0107' in position 3: ordinal not in range(128)
CMake Error at /opt/ros/groovy/share/catkin/cmake/safe_execute_process.cmake:11 (message):

Original issue: http://code.google.com/p/amor-ros-pkg/issues/detail?id=5

Outdated Documentation

From [email protected] on March 06, 2012 18:41:37

The ROSARIA Tutorial: http://www.ros.org/wiki/ROSARIA/Tutorials/How&#37;20to&#37;20use&#37;20ROSARIA is outdated for ROS electric.

It's generating many related questions on answers.ros.org, so I went ahead and marked the section as deprecated until somebody can bring it up to date.

Related Questions: http://answers.ros.org/question/29202/teleop_basecpp3721-erro-fatal-joyjoyh http://answers.ros.org/question/12744/importerror-no-module-named-joymsg

Original issue: http://code.google.com/p/amor-ros-pkg/issues/detail?id=2

RosAria does not build due to CMakeList Changes

New chages added with commit eed89e2. Prevents RosAria to be built with Adept's packages on Ubuntu 14.04 with ros-indigo. Adept's packages should provide CMake or pkg-config instructions to find them.
The error:

CMake Error at rosaria/CMakeLists.txt:42 (find_package):
  By not providing "FindAria.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Aria", but
  CMake did not find one.

  Could not find a package configuration file provided by "Aria" with any of
  the following names:

    AriaConfig.cmake
    aria-config.cmake

  Add the installation prefix of "Aria" to CMAKE_PREFIX_PATH or set
  "Aria_DIR" to a directory containing one of the above files.  If "Aria"
  provides a separate development package or SDK, be sure it has been
  installed.

in rosaria the pos.getTh() the data from encoder or gyro;

ROSAriacpp
ArPose pos;
robot = new ArRobot();
pos = robot->getPose();
tf::poseTFToMsg(tf::Transform(tf::createQuaternionFromYaw(pos.getTh()*M_PI/180), tf::Vector3(pos.getX()/1000,
pos.getY()/1000, 0)), position.pose.pose); //Aria returns pose in mm.

pos.getTh() the data from encoder or gyro;

Linker: unrecognized command line option ‘-Wl’

From dereck on March 15, 2013 19:27:39

What steps will reproduce the problem? 1. cd ~/catkin_ws/src
2. hg clone ...
3. cd ~/catkin_ws
4. catkin_make

Here's the build output:

Linking CXX executable /home/dereck/catkin_ws/devel/lib/ROSARIA/RosAria
c++: error: unrecognized command line option ‘-Wl’
make[2]: *** [/home/dereck/catkin_ws/devel/lib/ROSARIA/RosAria] Error 1
make[1]: *** [amor-ros-pkg/ROSARIA/CMakeFiles/RosAria.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed What version of the product are you using? On what operating system? Ubuntu 12.10, Groovy Please provide any additional information below. Commenting out CMakeLists.txt:42 solves the problem

set_target_properties(RosAria PROPERTIES LINK_FLAGS "-Wl")

Original issue: http://code.google.com/p/amor-ros-pkg/issues/detail?id=4

Error compiling RosAria: error: ‘class ArLaser’ has no member named ‘getCurrentBuffer’; did you mean ‘getCurrentBufferPtr’?

Hello,

After cloning this repo, running cmake in a build folder, trying to build Rosaria returns the following error:

EDIT: Issue happens on Ubuntu 20.04 and Ubuntu 18.04

In file included from /usr/include/c++/9/cassert:44,
                 from /usr/include/boost/mp11/detail/mp_with_index.hpp:15,
                 from /usr/include/boost/mp11/algorithm.hpp:19,
                 from /usr/include/boost/mp11/bind.hpp:11,
                 from /usr/include/boost/parameter/aux_/is_placeholder.hpp:46,
                 from /usr/include/boost/parameter/value_type.hpp:101,
                 from /usr/include/boost/parameter/aux_/arg_list.hpp:1207,
                 from /usr/include/boost/parameter/parameters.hpp:22,
                 from /usr/include/boost/signals2/signal_type.hpp:27,
                 from /usr/include/boost/signals2.hpp:20,
                 from /opt/ros/noetic/include/tf/tf.h:46,
                 from /opt/ros/noetic/include/tf/transform_broadcaster.h:36,
                 from /home/pedr/catkin_ws/src/rosaria/LaserPublisher.h:7,
                 from /home/pedr/catkin_ws/src/rosaria/LaserPublisher.cpp:8:
/home/pedr/catkin_ws/src/rosaria/LaserPublisher.cpp: In member function ‘void LaserPublisher::publishPointCloud()’:
/home/pedr/catkin_ws/src/rosaria/LaserPublisher.cpp:145:17: error: ‘class ArLaser’ has no member named ‘getCurrentBuffer’; did you mean ‘getCurrentBufferPtr’?
  145 |   assert(laser->getCurrentBuffer());
      |                 ^~~~~~~~~~~~~~~~
/home/pedr/catkin_ws/src/rosaria/LaserPublisher.cpp:146:71: error: base operand of ‘->’ has non-pointer type ‘const ArRangeBuffer’
  146 | st std::list<ArPoseWithTime*> *p = laser->getCurrentRangeBuffer()->getBuffer();
      |                                                                  ^~

make[2]: *** [CMakeFiles/RosAria.dir/build.make:76: CMakeFiles/RosAria.dir/LaserPublisher.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:848: CMakeFiles/RosAria.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Publish battery information

From [email protected] on September 11, 2013 17:59:50

  • Voltage (some robots) (also note some robots are 12V, some are 24V max, though actual voltage can be higher during charging)
  • State of Charge (some robots).

For some robots, other information may be available as well including charging information, some diagnostic/error information, batt. temperature, etc. This is less important but could be included too.

Original issue: http://code.google.com/p/amor-ros-pkg/issues/detail?id=9

warnings when compiling on raspberry pi

We get the following warnings when compiling rosaria on raspberry pi, ubuntu 16.04, ros kinetic, libaria 2.8.0, gcc 5.4.0

Note for people also compiling rosaria on a Raspberry Pi: Use catkin build -j 1, otherwise the process consumes too much ram.

Warnings   << rosaria:make /home/ubuntu/AmigomatedDriving/logs/rosaria/build.make.001.log                           
In file included from /home/ubuntu/AmigomatedDriving/src/external/rosaria/RosAria.cpp:22:0:
/home/ubuntu/AmigomatedDriving/devel/.private/rosaria/include/rosaria/RosAriaConfig.h:473:7: warning: this decimal constant is unsigned only in ISO C90
       __min__.TicksMM = -2147483648;
       ^
/home/ubuntu/AmigomatedDriving/devel/.private/rosaria/include/rosaria/RosAriaConfig.h:483:7: warning: this decimal constant is unsigned only in ISO C90
       __min__.DriftFactor = -2147483648;
       ^
In file included from /home/ubuntu/AmigomatedDriving/src/external/rosaria/RosAria.cpp:22:0:
/home/ubuntu/AmigomatedDriving/devel/.private/rosaria/include/rosaria/RosAriaConfig.h:493:7: warning: this decimal constant is unsigned only in ISO C90
       __min__.RevCount = -2147483648;
       ^
In file included from /opt/ros/kinetic/include/ros/ros.h:40:0,
                 from /home/ubuntu/AmigomatedDriving/src/external/rosaria/RosAria.cpp:8:
/home/ubuntu/AmigomatedDriving/src/external/rosaria/RosAria.cpp: In member function ‘int RosAriaNode::Setup()’:
/opt/ros/kinetic/include/ros/console.h:346:176: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 8 has type ‘std::map<int, ArLaser*>::size_type {aka unsigned int}’ [-Wformat=]
     ::ros::console::print(filter, __rosconsole_define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
                                                                                                                                                                                ^
/opt/ros/kinetic/include/ros/console.h:349:5: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
     ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(0, __VA_ARGS__)
     ^
/opt/ros/kinetic/include/ros/console.h:379:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
       ^
/opt/ros/kinetic/include/ros/console.h:561:35: note: in expansion of macro ‘ROS_LOG_COND’
 #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
                                   ^
/opt/ros/kinetic/include/rosconsole/macros_generated.h:112:35: note: in expansion of macro ‘ROS_LOG’
 #define ROS_INFO_NAMED(name, ...) ROS_LOG(::ros::console::levels::Info, std::string(ROSCONSOLE_NAME_PREFIX) + "." + name, __VA_ARGS__)
                                   ^
/home/ubuntu/AmigomatedDriving/src/external/rosaria/RosAria.cpp:491:5: note: in expansion of macro ‘ROS_INFO_NAMED’
     ROS_INFO_NAMED("rosaria", "rosaria: there are %lu connected lasers", lasers->size());
     ^
cd /home/ubuntu/AmigomatedDriving/build/rosaria; catkin build --get-env rosaria | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -

Change TicksMM, RevCount, DriftFactor has no Effect

Hello,

we are starting our Pioneer 3 AT with RosAria with the following Config:

<node name="RosAria" pkg="rosaria" type="RosAria" ns= "robot2">
  <param name="port" value="/dev/ttyUSB1" type="string"/>
  <param name ="debug_aria" value="false" />
  <param name ="TicksMM" value="128" />
  <param name ="RevCount" value="16500" />
  <param name ="DriftFactor" value="0" />
  <param name ="odom_frame" value="robot2/odom"/>
  <param name ="base_link_frame" value="robot2/base_link"/>
  <param name ="bumpers_frame" value="robot2/bumpers"/>
  <param name ="sonar_frame" value="robot2/sonar"/>
 </node>

So after that we can see in the topic /robot2/RosAria/parameters_update that the parameters a changed from the default ones. When we are drive 5 metres our robot now, there is a drift about 30cm to the left. So we are changed the DriftFactor to drifferent parameters. But there are no driffience in the drift from the robot when we are driving with it, so no matter how we change the driftFactor there are always 30cm drift to the left.

System Info:

  • Raspberry Pi 4
  • Ubuntu Mate 20.04
  • ROS Noetic

Did we something work or might be there a bug.

Thanks for your help!

rosaria fails to connect with 'box' in MobileSim

The 'box' model is defined here
http://robots.mobilerobots.com/MobileSim/download/current/README.html#modeldefs

MobileSim includes some "box" model definitions in its model definitions file PioneerRobotModels.world.inc. These are 0.5 x 0.5 meter objects that you can place anywhere in the map, and move with the mouse during the simulation. These boxes are created in the same way as robots, using the -r command line argument.

I added a 'box' model in a MobileSim map and got the following error when running rosaria:

Syncing 0
Syncing 1
Syncing 2
Connected to robot.
Name: MobileSim
Type: Pioneer
Subtype: box
Error: Have no parameters for this robot, bad configuration or out of date Aria
Failed to connect to robot.
[ERROR] [1450913329.046775885]: RosAria: ARIA could not connect to robot! (Check ~port parameter is correct, and permissions on port device.)
[FATAL] [1450913329.046861452]: RosAria: ROS node setup failed...

rosaria works well if I add a 'real' robot model, e.g. p3dx, but fails to work with the 'box'. Does anyone know what the problem is?

Rosmake ROSARIA fails when trying to download aria 2.7.2

From [email protected] on September 30, 2011 04:32:59

What steps will reproduce the problem? 1. Follow the instructions at: http://www.ros.org/wiki/ROSARIA/Tutorials/How&#37;20to&#37;20use&#37;20ROSARIA 2. Try rosmake ROSARIA

The Makefile in amor-ros-pkg/aria/build has the wrong download address for ARIA. Mobile robots has a new version so 2.7.2 is not in the "current" section, now its on the "archives" section. Replace this line on the makefile:

TARBALL_URL = http://robots.mobilerobots.com/ARIA/download/current/ARIA-2.7.2.tgz with this one:

TARBALL_URL = http://robots.mobilerobots.com/ARIA/download/archives/ARIA-2.7.2.tgz Thanks for the Aria Node Guys!

Original issue: http://code.google.com/p/amor-ros-pkg/issues/detail?id=1

No definition of [libaria] for OS version [xenial]

Hello,

While trying to execute rosdep install rosaria on Ros Kinetic in Ubuntu 16.04 I got the following error:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rosaria: No definition of [libaria] for OS version [xenial]

compile error: no matching function NodeHandle::param() in ros hydro

/home/dxxy/mcatkin_ws/src/rosaria/RosAria.cpp: In member function ‘int RosAriaNode::Setup()’:
/home/dxxy/mcatkin_ws/src/rosaria/RosAria.cpp:517:63: error: no matching function for call to ‘ros::NodeHandle::param(const char [16], double)’
double cmdvel_timeout_param = n.param("cmd_vel_timeout", 0.6);
^
In file included from /opt/ros/hydro/include/ros/ros.h:45:0,
from /home/dxxy/mcatkin_ws/src/rosaria/RosAria.cpp:8:
/opt/ros/hydro/include/ros/node_handle.h:1912:8: note: candidate: template void ros::NodeHandle::param(const string&, T&, const T&) const

Package name convention warning

From dereck on September 14, 2013 22:51:40

WARNING: Package name "ROSARIA" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores.

This warning is displayed any time a ros node is launched and I find it annoying at least. The fix would cause all users to change their existing launch files however.

I propose that we fix it anyways, it's trivial to fix and immediately recognizable. There were some official ROS packages with the same problem and they fixed their package names when they were converted to catkin, breaking user launch files, so I don't see how it is that big of a deal. :)

Original issue: http://code.google.com/p/amor-ros-pkg/issues/detail?id=10

Missing BumperState.h

I get the following error when running catkin_make after having downloaded my project to a new computer.

/home/cyborg/catkin_ws/src/rosaria_client/src/print_state.cpp:7:33: fatal error: rosaria/BumperState.h: No such file or directory
compilation terminated.
rosaria_client/CMakeFiles/print_state.dir/build.make:62: recipe for target 'rosaria_client/CMakeFiles/print_state.dir/src/print_state.cpp.o' failed
make[2]: *** [rosaria_client/CMakeFiles/print_state.dir/src/print_state.cpp.o] Error 1
CMakeFiles/Makefile2:5360: recipe for target 'rosaria_client/CMakeFiles/print_state.dir/all' failed
make[1]: *** [rosaria_client/CMakeFiles/print_state.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Invoking "make -j4 -l4" failed

It seems to dissappear after running catkin_make a few times in a row. Sometimes the same thing happens with BatteryState.h from ros-arnl.
I have encountered something similar in another project before and we solved it by changing some of the dependencies in CMakeLists.txt file, but I have not found the right change here.

Here is the issue I created in my own project: thentnucyborg/CyborgRobot#1

TicksMM not set on param server

TicksMM are not set correctly to param server when first read from robot EEPROM. The value from RevCount is sent to the server instead, which is 0 in that moment. Next run will read 0 from param server which in my case at least hangs my p3dx.

The bug is in RosAria.cpp:125, where it says:

n_.setParam( "TicksMM", RevCount);

it should be:

n_.setParam( "TicksMM", TicksMM);

TicksMM et al are improperly set at startup.

When rosaria is launched without the TicksMM et al parameters set, the default values from dynamic reconfigure are sent to the robot, squashing the values in the robot's EEPROM. This is bad bad bad.

This is because the dynamic reconfigure server publishes the values as a ros param in addition the callback function, since the server is spun up in the default constructor, it's not possible to detect whether the parameters in the param server came from a launch file or garbage from the dynamic reconfigure server.

Basic laser support from ARIA

Can easily publish data from ARIA laser(s), perhaps both as point cloud and laser_scan, would make it easier for people to use one of the several lasers ARIA supports.
This could be an optional feature that users can enable if they don't want or need to use a separate device-specific driver node for their laser(s).

Feature has already been started by https://github.com/TRECVT/rosaria

Unnecessary check in RosAriaNode::sonarConnectCb()

In RosAria.cpp, RosAriaNode::sonarConnectCb(), there is an unnecessary else if check in if clause

void RosAriaNode::sonarConnectCb()
{
  publish_sonar = (sonar_pub.getNumSubscribers() > 0);
  publish_sonar_pointcloud2 = (sonar_pointcloud2_pub.getNumSubscribers() > 0);
  robot->lock();
  if (publish_sonar || publish_sonar_pointcloud2)
  {
    robot->enableSonar();
    sonar_enabled = false;
  }
  else if(!publish_sonar && !publish_sonar_pointcloud2) //HERE
  {
    robot->disableSonar();
    sonar_enabled = true;
  }
  robot->unlock();
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.